Nikola está Cerca
Implementé tags (incluyendo feeds para cada tag).
Simplifiqué los templates.
Separé código y configuración.
El último fué el más complicado. Y para que se vea como es, ésta es la configuración completa, excepto pedacitos de HTML que no valen la pena ver, como el código de google custom search. ¡Espero que sea claro!
# -*- coding: utf-8 -*- # post_pages contains (wildcard, destination, template) tuples. # # The wildcard is used to generate a list of reSt source files (whatever/thing.txt) # That fragment must have an associated metadata file (whatever/thing.meta), # and opcionally translated files (example for spanish, with code "es"): # whatever/thing.txt.es and whatever/thing.meta.es # # From those files, a set of HTML fragment files will be generated: # whatever/thing.html (and maybe whatever/thing.html.es) # # These files are combinated with the template to produce rendered # pages, which will be placed at # output / TRANSLATIONS[lang] / destination / pagename.html # # where "pagename" is specified in the metadata file. # post_pages = ( ("posts/*.txt", "weblog/posts", "post.tmpl"), ("stories/*.txt", "stories", "post.tmpl"), ) # What is the default language? DEFAULT_LANG = "en" # What languages do you have? # If a specific post is not translated to a language, then the version # in the default language will be shown instead. # The format is {"translationcode" : "path/to/translation" } # the path will be used as a prefix for the generated pages location TRANSLATIONS = { "en": "", "es": "tr/es", } # Data about this site BLOG_TITLE = "Lateral Opinion" BLOG_URL = "//ralsina.me" BLOG_EMAIL = "ralsina@kde.org" BLOG_DESCRIPTION = "I write free software. I have an opinion on almost "\ "everything. I write quickly. A weblog was inevitable." # Paths for different autogenerated bits. These are combined with the translation # paths. # Final locations are: # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags) # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag) # output / TRANSLATION[lang] / TAG_PATH / tag.xml (RSS feed for a tag) TAG_PATH = "categories" # Final location is output / TRANSLATION[lang] / INDEX_PATH / index-*.html INDEX_PATH = "weblog" # Final locations for the archives are: # output / TRANSLATION[lang] / ARCHIVE_PATH / archive.html # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html ARCHIVE_PATH = "weblog" # Final locations are: # output / TRANSLATION[lang] / RSS_PATH / rss.xml RSS_PATH = "weblog" # A HTML fragment describing the license, for the sidebar. LICENSE = """ <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/"> <img alt="Creative Commons License" style="border-width:0; margin-bottom:12px;" src="http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png"></a> """ # A search form to search this site, for the sidebar. Has to be a <li> # for the default template (base.tmpl). SEARCH_FORM = """ <!-- google custom search --> <!-- End of google custom search --> """ # Google analytics or whatever else you use. Added to the bottom of <body> # in the default template (base.tmpl). ANALYTICS = """ <!-- Start of StatCounter Code --> <!-- End of StatCounter Code --> <!-- Start of Google Analytics --> <!-- End of Google Analytics --> """ # Put in global_context things you want available on all your templates. # It can be anything, data, functions, modules, etc. GLOBAL_CONTEXT = { 'analytics': ANALYTICS, 'blog_title': BLOG_TITLE, 'blog_url': BLOG_URL, 'translations': TRANSLATIONS, 'license': LICENSE, 'search_form': SEARCH_FORM, # Locale-dependent links 'archives_link': { 'es': '<a href="/tr/es/weblog/archive.html">Archivo</a>', 'en': '<a href="/weblog/archive.html">Archives</a>', }, 'tags_link': { 'es': '<a href="/tr/es/categories/index.html">Tags</a>', 'en': '<a href="/categories/index.html">Tags</a>', }, } execfile("nikola/nikola.py")