k47.cz
mastodon twitter RSS
bandcamp explorer 0xDEADBEEF
komentáře článku 

Jak začít s asciiblogem



Text komentáře


ctenar (2018-09-04 09:11)
Díky!

Zdá se, že v balíčku chybí soubor gallery.js, vyhazuje mi to FileNotFoundException výjimku.


ctenar (2018-09-04 09:12)
asciiblog.MakeFiles$.makeFiles(makefiles.scala:1366)


ctenar (2018-09-04 09:22)
A po ručním zkopírování zmíněného souboru jsem narazil na výjimku UnmappableCharacterException: Input Length = 1; stále asciiblog.MakeFiles$.makeFiles(makefiles.scala:1366).

Tohle už by ale mohla být špatná zdrojová data. Kódování? Linuxové konce řádků? Hm.


ctenar (2018-09-04 09:35)
Jo ještě jsem nenapsal, že se pokouším rozchodit hned první ukázková zdrojová data z návodu, nic dalšího ve vstupním souboru nemám.


ctenar (2018-09-05 08:04)
Díky za aktualizace. Podařilo se mi úspěšně vygenerovat stránky (můj texťák prve nebyl v unix utf-8). S kódováním mám ale pořád potíže, výstupní html jsou v unix ansi namísto v utf-8, jak je deklarováno v hlavičce. V prohlížeči se pak zobrazí změť znaků. Ruční konverze html do utf-8 pomůže, ale speciální české jsou ztraceny, neboť byly při převodu do ansi nahrazeny otazníky.
Pouštím na windows.


k47 (2018-09-06 06:16)
Připadá mi, že to je výchozím nastavením kódování na různých platformách. Opravil jsem to, že se soubory čtou v systémovém kódování a zápis se vynutí v utf-8.

Opravy tady https://github.com/kaja47/asciiblog/releases/tag/v20180906

Kdyby se objevily další chyby, piš. Nakonec to rozchodíme.


ctenar (2018-09-06 07:32)
Díky za rychlé změny!

Teď už nedokážu načíst zdrojová data vůbec. Zkoušel jsem ansi, unicode i utf-8 včetně všelijakých variant. Klonil bych se k vynucenému utf-8 na vstupu i výstupu.


k47 (2018-09-07 05:41)
Musím se zmocnit počítače s Windows a vyzkoušet to na vlastní kůži. Zatím jsem to udělal, jak říkáš: Vstup je vyžadován v utf-8.

Poslední verze budu davat sem: https://k47.cz/projekty/asciiblog-snapshots.html


ctenar (2018-09-07 08:53)
Funguje! Díky.


Chvilku jsem se potýkal s tím, že se mi negenerovaly všechny články ze souboru... a bylo to tím, že se berou jenom články do aktuálního data. Praktická vychytávka, to je pravda, ale trochu mě děsí na kolik dalších praktických vychytávek ještě narazím. Každopádně se zdá, že jsem si našel podmnožinu vlastností generátoru, se kterou už mohu pohodlně fungovat. Ještě jednou díky.


k47 (2018-09-10 06:06)
Některé vychytávky (než to skončí v dokumentaci): Pokud název článku začíná ??? bude ignorován, pokud začíná XXX neukáže se na hlavní stránce, ale vygeneruje se a dá se na něj odkázat.


ctenar (2018-12-22 20:11)
Ahoj, marně se pokouším vložit si na blog i nějakej obrázek. Zkouším něco jako [* station1.jpg *] *** popisek. A vyhazuje mi to výjimku:

Exception in thread "main" java.lang.IndexOutOfBoundsException: start 13, end 12, s.length() 12
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at asciiblog.Image.<init>(makefiles.scala:273)
at asciiblog.AsciiMarkup$$anonfun$mkImage$1.applyOrElse(markup.scala:386)
at asciiblog.AsciiMarkup$$anonfun$mkImage$1.applyOrElse(markup.scala:376)
at scala.PartialFunction.$anonfun$runWith$1$adapted(PartialFunction.scala:141)
at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:52)


Co může být špatně? Nepodařilo se načíst obrázek? Chybí mi třeba nějaká speciální direktiva?


ctenar (2018-12-22 20:23)
Ok, tak nakonec bude asi nejjednodušší, když budu prostě používat klasickou html syntaxi a nebudu se snažit obrázky protlačit přes asciiblog.


k47 (2018-12-23 04:06)
Díky za report & díky, že jsi to stále nezahodil. Našel jsem tři nezávislé chyby spojené s generováním a relativizací URL obrázků. Opravený snapshot je tady https://k47.cz/projekty/asciiblog-snapshots.html snad to bude fungovat.


ctenar (2018-12-23 08:22)
Ahoj... stalo se to, čeho jsem se obával... s nejnovější binárkou mi generování obsahu přestalo fungovat úplně bez ohledu na obrázky (až doteď jsem používal úplně první funkční verzi, tj. ze září; předpokládám, že od té doby se v kódu událo mnoho změn)... chyba:

Exception in thread "main" java.lang.AssertionError: assertion failed
at scala.Predef$.assert(Predef.scala:204)
at scala.Predef$Ensuring$.ensuring$extension2(Predef.scala:316)
at asciiblog.Blog$.populate(makefiles.scala:131)
at asciiblog.MakeFiles$.init(makefiles.scala:446)
at asciiblog.Make$.delayedEndpoint$asciiblog$Make$1(makefiles.scala:26)
at asciiblog.Make$delayedInit$body.apply(makefiles.scala:17)
at scala.Function0.apply$mcV$sp(Function0.scala:34)
at scala.Function0.apply$mcV$sp$(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App.$anonfun$main$1$adapted(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:389)
at scala.App.main(App.scala:76)
at scala.App.main$(App.scala:74)
at asciiblog.Make$.main(makefiles.scala:17)
at asciiblog.Make.main(makefiles.scala)



k47 (2018-12-25 01:16)
Připadá mi, že to bylo tím, že jsi měl mezery na konci řádku v konfiguračním souboru. Ty jsou teď ignorovány, takže to nebude dělat problémy. Navíc by to mělo dávat lepší chybové hlášky.
Nový snapshot je v seznamu.


ctenar (2018-12-25 17:46)
Ahoj, díky za aktualizace! Opravdu to bylo jednou nadbytečnou mezerou.

A dál nevím. Použil jsem direktivu imageRoot a přiřadil jsem parametr D:/txt/okem-jehly/pictures, ale mám pocit, že asciiblog čeká nelokální adresu (?), protože se snaží obrázek stahovat.

resizing image D:/txt/okem-jehly/pic/station1.jpg -> D:\txt\okem-jehly\out\t\tojp-station1-7ba8349b-150x100.jpg
downloading D:/txt/okem-jehly/pic/station1.jpg
Exception in thread "main" java.lang.Exception: java.net.MalformedURLException: unknown protocol: d
at asciiblog.MakeFiles$.makeFiles(makefiles.scala:1381)
at asciiblog.Make$.delayedEndpoint$asciiblog$Make$1(makefiles.scala:28)
at asciiblog.Make$delayedInit$body.apply(makefiles.scala:17)
at scala.Function0.apply$mcV$sp(Function0.scala:34)
at scala.Function0.apply$mcV$sp$(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App.$anonfun$main$1$adapted(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:389)
at scala.App.main(App.scala:76)
at scala.App.main$(App.scala:74)
at asciiblog.Make$.main(makefiles.scala:17)
at asciiblog.Make.main(makefiles.scala)
Caused by: java.net.MalformedURLException: unknown protocol: d
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)



Dá se asciiblog používat s lokálními obrázky? Anebo mi něco zásadního uniká?


k47 (2018-12-26 06:03)
To je přesně ono jak jsem psal - používám to jedním způsobem a ostatní mi unikají.

Obrázky jsem od začátku řešil samostatně. Nejdřív jsem je nahrál na server a pak na ně odkazoval přes url. imageRoot je matoucí, jde o url kořenové složky ve které se nacházejí obrázky na serveru. Když je pak obrázek zadaný relativní cestou, je relativní k imageRoot (Když imageRoot chybí, bere se místo ní baseUrl).

To ale není příliš intuitivní.

Přidal jsem direktivu imageDir, která udává cestu k místní složce s obrázky a měla by dělat, co chceš. Pokud imageDir chybí, bere se místo ní složka s konfigurací.

Asciiblog s obrázky nic nedělá, jen je najde (nově na disku, postaru na serveru) a vygeneruje z nich náhledy a uloží je vedle vygenerovaných souborů do složky t/

Doufám, že to dává smysl a bude to fungovat. Psal jsem to mezi pátou a šestou ráno :)


ctenar (2018-12-26 07:07)
Díky za rychlou opravu. Zdá se, že nyní to funguje, jak má. Bezva!


ctenar (2018-12-26 07:13)
Tak přece něco. Po kliknutí na obrázek se mi zobrazí jeho velká (originální) verze. V pravém horním rohu mám tuto změť znaků 🔍 a ❌, v místě, kde by asi měly být ikonky zavřít a lupa. Odkazy jako takové fungují, jenom místo ikonek jsou ty textové řetězce.


píše k47, ascii@k47.cz