« 1 2 »
Autor Zpráva
Sharkan
Profil
Rád bych znal názory na vkládání nedělitelných mezer pomocí " " před jednohlásková slova (spojky, předložky), aby se zabránilo jejich osamocenému výskytu na konci řádku.
Na webu www.muranska-planina.net to dělám, vkládám je do textů manuálně, ale nevím, jestli to není prohřešek proti pravidlům webdesignu. A pokud není, není nějaká finta na "automatizaci" takového počínání? Děkuji.
Vít Dlouhý
Profil
Prohřešek to není, ba naopak - z hlediska webové typografie je to dokonce vhodné (ne-li žádoucí).

O možné automatizaci nevím, možná by pomohl nějaký PHP skriptík, který by to doplňoval...
halogan
Profil
Automatizace je jednoducha, staci jednoduchy regularni vyraz zacleneny do tridy vypisujici obsah.
Yuhů
Profil
je to jednoduché asi jako autobus. Nastoupit je snané, ale vyrobit ho je těžké.

Dokázal bys sem prosím, Halogane, takový regulár vypsat, pokud možno i s celou konstrukcí? Díky.

Jinak si vzpomínám, že tohle doplňování dělal program SKOBA, ale osobně jsem jej nepoužíval.

Kdo nepoužívá php, ale html soubory, by to možná mohl udělat pomocí nějakého jiného programu zvládajícího reguláry, například sed nebo vim. Osobně to ale v tuto chvíli napsat nedokážu.
Sharkan
Profil
Děkuji za Vaše odpovědi.
Jsem rád, že nedělám něco nesmyslného.
Pokud jde o automatizaci, zůstanu asi u manuálního vkládání. SKOBU jsem našel, ale mám za to, že je to staré, o čem mluví Halogan, vůbec netuším. :)
halogan
Profil
V regexpech nejsem zadny odbornik, ale po par minutak jsem vysmolil nejakou jednoduchou funkci v php:

function nbsp($source) {
return eregi_replace("[ ]{1}(a|i|o|u|v){1} ", " \\1 ",$source);
}
z "Ano, i on byl a vzdy bude v knize o pohadkach"
udela "Ano, i on byl a vzdy bude v knize o pohadkach"
Pocita jen s ceskymi hlaskami a spojkami, nepocita s cizim "y" apod., ale to se da jednoduse doplnit.
Yuhů
Profil
Tak výborně, zdá se, že už to mám pro sed:

$ sed -r "s/[ ]{1}(s|S|k|K|v|V|z|Z){1} / \\1\ /g" vstup.html > vystup.html

sed je neinteraktivní textový editor pro unix/linux. Chcete-li jej používat i na windows, nainstalujte si třeba cygwin (emulace Linuxu na windowsech). Případně si stáhněte Sed pro Windows
http://gnuwin32.sourceforge.net/packages/sed.htm
(netestováno).

Díky, Halogane, za nakopnutí správným směrem.
halogan
Profil
Yuhů: Neni zac, jsem pocten, ze radim tomu, kdo mi pomohl ze zacatku :) Snad se nekdy uvidime na posledni strede... Preji pekny den.
Sharkan
Profil
Uf, uf... Neobjeví se to, co jste tady napsali, někde na jakpsatweb jako velmi polopatistický návod, jak to použít u html stránek?
Yuhů
Profil
Muhehe, já vím, je to trochu těžší.

Takže -- zkus tohle.
Stáhni si sed for windows, odkaz výše.
nějak ho zkus spustit, pravděpodobně to bude ale fungovat přes Příkazový řádek (nevím).
Pak v příkazovém řádku zadej

$ sed -r "s/[ ]{1}(s|S|k|K|v|V|z|Z){1} / \\1\ /g" vstup.html > vystup.html

kde vstup.html je vstupní stránka a vystup.html je soubor, který se ti vytvoří a ve kterém ty texty budou nahrazené. Pak si s tím uděláš to, co budeš chtít.

a jestli to nebude fungovat, tak zkus místo sed -r zadat sed /r (dosovský zápis).

Já bych z toho rád udělal regulérní návod, ale to bych to musel moc testovat a zkoušet.

Dotazy?
Sharkan
Profil
Stáhnu, rozbalim, vytvoří se dva adresáře.
V jednom jsou dva soubory s dll koncovkou, v druhém taky dva soubory, jeden .mft, a druhý .ver.
Dá se něco z toho nějak spustit?
Sharkan
Profil
Aha, tak to jsem stahoval bůhví co. Na druhý pokus to bylo lepší, vytvořil se dokonce soubor sed.exe, ale nevím, jak ho spustit. :(
halogan
Profil
Yuhů: chybí ti tam "u", "i", "a", "v". Chce to skombinovat mou i tvou verzi, co mam ja, nemas ty a naopak.
Yuhů
Profil
halogan: podle české normy je zakázaný samostatný výskyt pouze na řádku pouze u neslabičných předložek s k v z. Slova a i o u jsou slabičná, a proto se jejich samostatný výskyt na řádku nepovažuje za chybu. Typografické normy tuším ještě zapovídají samostnatné i, ale a o u na řádku samostatně být mohou.

Sharkan: nevím, ten sed pro windows jsem nezkoušel. Zkus si ten sed.exe nakopírovat vedle souborů, spust Příkazový řádek, přejdi pomocí cd do správného adresáře a zadej výše zmíněný příkaz.
Sharkan
Profil
Ještě by, pokud vím, na konci řádku nemělo být velké "A". Ale asi je nejjednodušší a nejspolehlivější nenechávat na konci řádku žádné osamocené písmeno.

S příkazovým řádkem nejsem kamarád. Naučil jsem se, jak se do něj vůbec dostat, dodnes jsem to ještě nepotřeboval, naučil se i nějaké dosovské příkazy, ale pro mě tudy cesta asi nepovede. Připadá mi to složitější než ruční editace. :)
halogan
Profil
Yuhů: Dekuji za vysvetleni, typografii teprve sem tam ochutnavam, kniha Prakticka Typografie lezi dole v supliku :(
Bobíček
Profil *
měl bych dotaz ještě ohledně mezer...když chci mezi slovy (apod.) udělat několik mezer, tak dnes to řeším pomocí vícenásobného použití " " za sebou. existuje něco jednoduššího?
halogan
Profil
Bobicek - pokud chces vic mezer, tak zkus margin, ale pocitej s tim, ze se bude zalamovat.
halogan
Profil
Nebo u tech slov nastav vetsi word spacing.
Bobíček
Profil *
ee e...zkusil jsem to ale margin je dobrej pro zalamovani bloku ale ne pro tu mezeru mezi slovy, co chci ja....ale diky
Yuhů
Profil
na mezislovní mezery je opravdu nejlepší word-spacing
http://www.jakpsatweb.cz/css/word-spacing.html

v některých případech se lépe hodí nastavit text-align: justify;

ale pár hezkejch entit     poskládanejch za sebe taky ještě nikoho nezabilo.
Bobíček
Profil *
ten word spacing je dobrej na globální úpravy mezer ale to ja v tomto případě nepotřebuju. takže asi opravdu zbývá jenom řetězec:      ..........
at žije CTRL+C a CTRL+V :-DDDD
Yuhů
Profil
poněkud úspornější zápis je potom
       
prostě to prostrkat normálními mezerami
Bobíček
Profil *
ahaaa....jasně! ich bin pako....to mě mohlo taky napadnout :-)) díky
Sharkan
Profil
Když už jsme měli mezery nedělitelné, mezery mezi slovy, zeptal bych se ještě na mezery mezi odstavci. Nechci používat <br> a tak používám <p>&nbsp</p>. Ale je to takové divné. Není něco elegantnějšího?
halogan
Profil
Sharkan: margin, css.
Sharkan
Profil
V css ještě tápu...
Znamená to vyrobit si pro odstavce různé třídy s různě velkými okraji (ne vždy potřebuji velkou mezeru) a uzavírat potom odstavce, kterých se to týká, do divu?
Děkuji
halogan
Profil
Proc uzavirat do divu?
<p class="velkamezera-nevim-proc-ale-budiz">
Dlouha mezera za/pred ostavcem
</p>
Sharkan
Profil
Myslel jsem na div, pokud by těch odstavců bylo víc až hodně. Například nějak tak, jak je dole na ukázce, mám zapisované novinky na webu. Jednotlivé odstavce mám teď oddělené dvěma prázdnými řádky, protože to tak dobře vypadá. Ale z hlediska kódu to asi není to pravé ořechové. Takže kdybych si vyrobil třídu pro odstavec s velkým spodním okrajem (místo těch mezer) a zavřel to všechno do divu, fungovalo by to? Nebo se to dá vyřešit i nějak lépe?

<h5> Čtvrtek, 23.9.2004 </h5>
<p> příspěvek </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h5> Pondělí, 20.9.2004 </h5>
<p> příspěvek </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
atd
halogan
Profil
.novinky p {margin-bottom: 2em;}
napr. takto
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.