about summary refs log tree commit diff
path: root/templates
Commit message (Collapse)AuthorAgeFilesLines
* fix(templates/simple): fix link back if script_name is emptysternenseemann2020-12-281-2/+9
|
* refactor(treewide): prefix public/internal API with sternenblog/sternenseemann2020-08-261-6/+7
|
* feat(template): pass context to template, simplify apisternenseemann2020-08-251-74/+57
| | | | | | | | | | | | | | | | | New struct template_data is passed to all template functions, allowing to e. g. reflect the current entry in template_header and to unify template_single_entry, template_index_entry, template_error into template_main which switches behavior depending on data.page_type. BREAKING CHANGES: * remove template_single_entry, template_index_entry, template_error; replaced by template_main * template_header, template_footer: type change refactor(templates/simple): use xml_escape where applicable feat(templates/simple): navigate using header / entry titles feat(templates/simple): change <title> depending on subpage
* feat(main): add atom feedsternenseemann2020-08-241-32/+19
| | | | | feat(templates/simple.c): link to atom feed as well refactor(templates/simple.c): replace make_link with catn_alloc
* refactor(templates/simple): use timeutil for time formattingsternenseemann2020-08-211-9/+3
|
* feat(treewide): major reworksternenseemann2020-08-081-44/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, I got a bit carried away after realizing that the initial change would be a breaking change anyways, so I am now left with a huge diff which can't be really split up. Please excuse this. The changes are as follows: * Rename blogpost → entry (breaking): make_blogpost → make_entry, blog_post → blog_entry etc. * Rename blogdefs.h → core.h (breaking) * Split functions from main.c into cgiutil and entry * entry / make_entry: * Use modification time instead of time in filename (breaking) * Rename timestamp → time (breaking) * Add field title (currently basename, breaking) * Add field text and text_size which can be use to store the contents of the associated file using mmap (fields default to NULL and -1 respectively, breaking) * Do PATH_INFO resolving and on disk path building in make_entry instead of in blog_index / blog_rss / blog_entry * entry_get_text: add function to mmap an entry's file into the structure * free_entry: also unmap file if present * make_index: Add function to build an array of entries reverse sorted by time * blog_index / blog_rss: * use make_index instead of scandir and make_blogpost_from_dirent * (blog_rss) use entry_get_text to pass the template the text of the entry. * template: * template_post_index_entry → template_index_entry (breaking) * template_post_single_entry → template_single_entry (breaking) * replace template_error_404() with generic template_error(status) * templates/simple.c: * Use xml library instead of printf * Use entry.text instead of opening the file in the template * include CSS if BLOG_CSS is set in config.h * document internal and public interfaces using doxygen * build process: * build object files individually * build process configuration in config.mk (breaking) * support templates in arbitrary locations * build default config.h if it's missing * add install phase * Rename target to sternenblog.cgi (breaking)
* style(treewide): tabs → spacessternenseemann2020-07-271-42/+42
|
* added title also in the title-tag (simple template)lukasepple2014-08-081-2/+2
|
* added RSS-Feed to footerlukasepple2014-08-081-7/+10
| | | | and made the header nicer
* error checkinglukasepple2014-08-081-0/+12
|
* moved the templating stuff to struct blogpostlukasepple2014-08-081-5/+5
|
* added RSS Feed and new struct blogpost, time parsing isn't working yetlukasepple2014-08-071-3/+2
|
* out of the nowhere a cgi blog software appearslukasepple2014-08-021-0/+55