aboutsummaryrefslogtreecommitdiff
path: root/ennu.el
AgeCommit message (Collapse)Author
2019-09-02Add filter-map utility function.Arun Isaac
* ennu.el (ennu--filter-map): New function.
2019-09-02Add language suffix to filenames without an extension.Arun Isaac
* ennu.el (ennu-add-tongue-suffix): Support filenames without extension.
2019-09-02Support percent encoded URIs in ennu server.Arun Isaac
* ennu.el (ennu-publish): Decode percent encoded URIs.
2019-09-02Specify tag language suffix in tag links.Arun Isaac
* ennu-html.el (ennu-html-inner-template): Specify tag language suffix in tag links. * ennu.el (ennu-publish-index): Specify tag language suffix in tag links.
2019-09-02Implement generic publisher.Arun Isaac
* ennu.el (ennu-publish-page): Delete function. (ennu-publish-generic): New function. (ennu-setting): Derecognize :pages-directory and :unattached-static-files properties. Recognize :other-files-directory property. (ennu-publish): Invoke ennu-publish-generic, the generic publisher.
2019-09-02Publish links together with posts.Arun Isaac
* ennu.el (ennu-publish-post): Publish links together with posts and return a list of operations. (ennu-publish): Concatenate the lists of operations returned from ennu-publish-post. Do not invoke ennu-publish-link to publish links.
2019-09-02Publish posts and their translations together.Arun Isaac
* ennu.el (ennu-publish-post): Publish posts and their translations together in a single operation. (ennu-publish): Invoke ennu-publish-post with all posts of a single translation group.
2019-09-02Use ennu-copy wherever applicable.Arun Isaac
* ennu.el (ennu-publish-image, ennu--do-operation): Use ennu-copy instead of copy-file.
2019-09-02While copying, overwrite if destination already exists.Arun Isaac
* ennu.el (ennu-copy): Overwrite destination if it already exists.
2019-09-02Publish index using html backend.Arun Isaac
* ennu.el (ennu-publish-index): Publish index using html backend, not ennu-html backend.
2019-09-02Add slug slot to post structure.Arun Isaac
* ennu.el (ennu-post): Add slug slot. (ennu--read-post): Initialize slug slot. (ennu-publish-index): Get slug slot instead of recomputing it.
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