| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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(templates/simple.c): link to atom feed as well
refactor(templates/simple.c): replace make_link with catn_alloc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
| |
|
|
|
|
| |
and made the header nicer
|
| |
|
| |
|
| |
|
|
|