aboutsummaryrefslogtreecommitdiff
path: root/ennu.el
AgeCommit message (Collapse)Author
2020-07-10Find file to serve using unhexed URI.Arun Isaac
* ennu.el (ennu-server-start): Find file to serve using unhexed URI.
2020-07-10Add comments to ennu-server-start.Arun Isaac
* ennu.el (ennu-server-start): Add comments.
2020-07-09Do not create tangle output in :posts-directory.Arun Isaac
An ennu-operation should not write anything in the input directories. Doing so is a recipe for data loss. * ennu.el (ennu-publish-post): Do not create tangle output in :posts-directory.
2020-07-08Set new directory permissions to 755.Arun Isaac
* ennu.el (ennu-with-temporary-directory): Set new temporary directory permissions to 755.
2020-03-15Handle posts without summary metadata.Arun Isaac
* ennu.el (ennu--read-post): Export summary metadata only if it is non-nil.
2020-03-15Handle posts with no author metadata.Arun Isaac
* ennu.el (ennu--read-post): Export author metadata only if it is non-nil.
2020-03-15Consider org-export-with-author when exporting author.Arun Isaac
* ennu.el (ennu--feed-entry): Export author only when org-export-with-author is non-nil.
2020-03-13Use appropriate time locale when exporting pages.Arun Isaac
We set the appropriate time locale so that dates are exported in the correct language. * ennu.el (ennu-publish-post, ennu-publish-index): Set time locale according to language of the page. (ennu-setting): Introduce :locale-alist mapping languages to their locales. Use C locale for English pages as the default :locale-alist.
2020-03-13Log message when starting server.Arun Isaac
* ennu.el (ennu-server-start): Log message.
2020-03-13Deny requests to all html files except index.html.Arun Isaac
* ennu.el (ennu-server-start): Deny requests to all html files except index.html.
2020-03-13Provide ennu web server stop command.Arun Isaac
* ennu.el (ennu-server-start): New function.
2020-03-13Rename ennu-serve to ennu-server-start.Arun Isaac
* ennu.el (ennu-serve): Rename to ennu-server-start.
2020-03-13Simplify picking of default settings.Arun Isaac
* ennu.el (ennu-setting): Combine picking of all default settings into one clause.
2019-09-02Tangle posts.Arun Isaac
* ennu.el (ennu-publish-post): Tangle posts if they have src blocks marked for tangling.
2019-09-02Publish video and poster, not just one.Arun Isaac
* ennu.el (ennu-publish-link): Publish video and poster, not just one of them. Return a list of operations instead of a single operation. (ennu-publish-post): Accept a list of operations from ennu-publish-link.
2019-09-02Add tangle slot to post structure.Arun Isaac
* ennu.el (ennu-post): Add tangle slot. (ennu--read-post): Initialize tangle slot.
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