Was just reading org publishing tutorial and decided to see how far I get.
I also checked out o-blog, but there are a lot of things I do not like. To name a few:
- Elisp usage in templates (the
- Templates are split into multiple files, with no proper nesting.
- Too much backend-specific stuff needs to be put into
The big question
I want the whole blog publishing from Org mode not involve putting literal HTML in the articles. The only way to do it at this point is to export bodies only, and then assemble the articles into a final HTML files afterwards (maybe even externally). There's some sitemap support, so maybe I can hook into it to ease the postprocessing.
Also, looks like instead of rewriting HTML generating parts of org-mode I'll just post-process the generated content. The additional bonus is that I'll get to improve my mechanizie library.
Found modernist theme, looks nice.
Was googling for "simple blog design". Modernist theme cought my eye because the code sample used background color very similar to zenburn. Hence using this theme would let me not look for solutions on how to customise org-mode's code export.
Also found http://artequalswork.com/, which looks kind of like something I'm after. http://www.noupe.com/design/kiss-a-showcase-of-beautifully-simple-blog-design-71654.html is the article linking to it.
So looks like I will not be using Bootstrap. Not yet, at least.
Using cl-html-template for static HTML parts (because there's something I do not like about every lisp HTML generator; probably it would be a good moment to revisit them to see if I have something constructive to blorg).
Using Bootstrap, after all.
Tried going with plain Compass (Vertical Rhythm module in particular), but to use that had to use full style reset. And after that I'd have to hunt around for sane sizes and stuff indefinitely. Bootstrap has this thing sorted out for me, at least. Never mind that the content will look like vanilla bootstrap.
Now to ensure that code fragments have enough room to display all 80 columns without wrapping/scrollbars…
S-XML not usable, after all
Was fun trying it out, but it is not a proper XML parser in the sense that it does not preserve whitespace properly, and that destroys source code (or other pre-formatted content mixed with HTML tags, in this case spans used for code fontifying).
If I ever decide to submit a bug report/fix, the problem is two
span elements folowing each other, but separated by space: the
space is lost.
Damn you people!
S-XML was intentionally dropping the whitespace between
elements… Why do poeple do this to me?
OK, now that this is sorted out, not switching away from
Tried to see how far I'd get with CXML, because it is usable with XPath (and I don't have to roll my own XML navigation as with S-XML). Turned out it's not very far at all. The main problem is that there's no way to alter the DOM tree after the parsing (at least I did not find one).
The closure template is getting unwieldy. Leaning towards dropping it for my own needs. Will probably leave support if anybody else will ever want to use this thing.
Bah. Added Google Analytics code to the template. cl-closure-template no longer can parse it. Sadface.
DONE Generate blog index page
A list of latest articles with intros/teasers.
TODO Copy other files (images, etc) along with articles
Should tell org-mode to move them, first.
TODO And also silly ads and stuff?
DONE Copyrights and stuff
TODO Limit the number of articles in index
And add navigation between the pages.
DONE Let's not forget GA integration
DONE Parse sitemap
Sitemap contains the articles we should process and also their titles.
TODO Make blorg runnable from commandline/emacs
Generate an index page for each tag (except the special tags).
DONE Fix code coloring
I'm fairly sure it's
htmlize that does it, and it should use styles
instead of hard-coded color values.
TODO Links to HyperSpec for CL symbols
DONE Make the article title not be included as a heading
This should be an option. And maybe I've just missed it.
DONE Fix HTML (XML) generation from S-XML
s-xml:print-xml introduces bad whitespace (linebreaks), which, in
turn, introduce unwanted spaces in rendered output. Just look at the
reference to Vertical rhythm above.
Actually this can be worked around with specifying
:pretty nil. But
the problem is still there if the option is true.
DONE Task status
Use the red label for
todo, green label for
For this need to add classes
label-danger in Bootstrap 3.0) /
TODO Better / more noticeable display of timestamps
TODO Better display of blog article date
Especially the spacing in cases when the article does not start with a section.
DONE Each article must have sensible date
TODO Print media style, with no rainbows
TODO Don't let width of source listings get narrower than 80 columns
DONE Need a way to disable publishing an article
Probably can be done with a special tag (e.g.,
DONE A way to hide an article from [blog] sitemap
A special keyword, like
DONE Bring back the Brian's Brain articles
[2/5] Fix Brian's Brain articles
TODO Make all links to files to be local (not to www.ltn.lv)
DONE Fix links to articles to be relative
TODO Install clojure mode for fontification?
DONE Remove line numbering in sources/examples
TODO Blockquote font is totally not good
DONE Navbar at the top, to switch to blog/other stuff
TODO Tree-like sitemap, organized by year/month
TODO Run blorg in org-mode post-publish hook
TODO Enable gzip compression on server
TODO Add expiration headers
TODO Proper XML frobbing
- Should settle on the representation of a node set (lists, duh!).
- More compact representation of selectors (CSS-like, in strings) together with compiler-macros to precompile them.
TODO XML parser library independence
TODO Remove the "Footnotes:" section, replace with HR or something
Also, the footnotes themselves do not look very nice, with the number in its own line.
DONE Fix recursive article processing
Wrong paths are still generated for articles in nested directories.
TODO Custom bootstrap
- Don't include unused stuff.
- Proper font families (for content and monospace).
TODO Generate RSS/Atom feeds
TODO TOC instead of sitemap for non-blog articles
TODO Improve relations with Google
TODO Delete irrelevant files
If something is renamed or is no longer published it should not go to the site folder. Does org-mode actually do this? Seems like it does not…