summaryrefslogtreecommitdiff
path: root/ennu.el
AgeCommit message (Collapse)Author
2019-08-30Implement operation as structure.Arun Isaac
* ennu.el (ennu-operation): New structure. (ennu-publish-post, ennu-publish-page, ennu-publish-index, ennu-publish-feed, ennu-publish-image, ennu-publish-copy, ennu-publish-static-file, ennu--do-operation): Use new operation structure API.
2019-08-27Infer index language from posts.Arun Isaac
* ennu.el (ennu-publish-index): Infer language from posts. (ennu-publish): Do not pass language to ennu-publish-index.
2019-08-27Implement post as structure.Arun Isaac
* ennu.el (ennu-post): New structure. (ennu-posts, ennu-publish, ennu-publish-feed, ennu-publish-index, ennu-publish-post, ennu--feed-entry): Use new post structure API. (ennu-later-post-p, ennu-read-post, ennu--read-post): New functions. (ennu-plist-map-to-plist, ennu-post-links, ennu-post-metadata, ennu--post-metadata-memoized, ennu-post-tags, ennu-post-thumbnail, ennu-post-tongue, ennu--later-post): Delete functions. * ennu-html.el (ennu-export-post): Use new post structure API.
2019-08-27Implement test HTTP server.Arun Isaac
* ennu.el (ennu-serve): New function.
2019-08-27Require map for use of map-put.Arun Isaac
* ennu.el: Require map.
2019-08-27Fix unwind protection in ennu-with-temporary-directory.Arun Isaac
* ennu.el (ennu-with-temporary-directory): Fix unwind protection.
2019-08-26Parse org syntax in #+SUMMARY keyword.Arun Isaac
* ennu-html.el (ennu-html): Parse org syntax in :summary keyword. * ennu.el (ennu--post-metadata-memoized): Handle :summary property.
2019-08-26Clean up ennu--post-metadata-memoized.Arun Isaac
* ennu.el (ennu--post-metadata-memoized): Combine treatment of :title and :date properties into a single clause.
2019-08-26Replace plist-put* by non-destructive ennu-plist-map-to-plist.Arun Isaac
* ennu.el (plist-put*): Delete function. (ennu-plist-map-to-plist): New function. (ennu--post-metadata-memoized): Replace plist-put* by non-destructive ennu-plist-map-to-plist.
2019-08-26Use grouping functions to handle multiple tags and languages.Arun Isaac
* ennu.el (ennu-many-to-many-group-by): New function. (ennu-publish): Use grouping functions seq-group-by and ennu-many-to-many-group-by instead of seq-filter to handle multiple tags and languages.
2019-08-26Remove notion of blog subtitle.Arun Isaac
* ennu.el (ennu-publish-index, ennu-publish-feed, ennu-publish): Do not support subtitle. (ennu-setting): Remove :blog-subtitle property.
2019-08-26Change directory before publishing.Arun Isaac
* ennu.el (ennu-with-current-directory): New macro. (ennu-setting): Add :working-directory property. (ennu-publish): Change directory before publishing.
2019-08-26Abstract out temporary directory creation.Arun Isaac
* ennu.el (ennu-with-temporary-directory): New macro. (ennu-publish): Use ennu-with-temporary-directory to create temporary directory.
2019-08-26Introduce :tag-directory property.Arun Isaac
* ennu.el (ennu-setting): Add :tag-directory property.
2019-08-26Specify language during index file generation.Arun Isaac
* ennu.el (ennu-publish-index): Specify #+LANGUAGE keyword.
2019-08-26Do not remove directory components from index filenames.Arun Isaac
* ennu.el (ennu-index-filename): Do not remove directory components from index filenames. (ennu-publish-index): Remove directory components in pagination links.
2019-08-26Optionally, generate index filenames without extensions.Arun Isaac
* ennu.el (ennu-index-filename): Make extension argument optional. If extension is nil, do not add extension to generated filename. (ennu-publish-index): Use links without extension for pagination.
2019-08-25Publish ennu-with-file-contents.Arun Isaac
* ennu.el (ennu--with-file-contents): Rename to ... (ennu-with-file-contents): ... this. Add docstring. (ennu-publish-post, ennu-publish-page, ennu--feed-entry, ennu-post-links, ennu--post-metadata-memoized): Fix invocations.
2019-08-22Make ennu-publish an interactive command.Arun Isaac
* ennu.el (ennu-publish): Make interactive.
2019-08-22Specify ennu version in Atom feed generator field.Arun Isaac
* ennu.el (ennu-version): New variable. (ennu-publish-feed): Specify ennu version in generator field.
2019-08-20Initial commitArun Isaac