aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2020-08-03Include file name in hash computation.•••Prior to this, files of different name but same content would be indistinguishable and cause trouble. * ennum.el (ennum--file-hash): Include file name in hash computation. Arun Isaac
2020-08-03Print better log messages.•••* ennum.el (ennum-intern, ennum-publish-feed, ennum-publish-image, ennum-copy): Print log messages. (ennum-eval): Do not print "skipping build" messages. It is too verbose. Arun Isaac
2020-08-03Use output-html-file argument passed to ennum-export-post.•••Prior to this, the output-html-file was disregarded and recomputed unnecessarily. * ennum.el (ennum-export-post): Use output-html-file argument, instead of recomputing it. Arun Isaac
2020-08-03Use closures instead of ennum-exp objects.•••The lexical environment of a closure can capture all inputs to an expression. Earlier we were capturing some of these inputs using the inputs slot of an ennum-exp object. Capturing dynamically scoped global variables is a different matter, and is not addressed by this commit. * ennum.el (ennum-exp): Delete type. (ennum--rewrite-inputs): Delete macro. (ennum-eval): Deal with closures not ennum-exp objects. (ennum-store-item-union, ennum-publish-post, ennum-publish-generic, ennum-publish-feed, ennum-publish-image, ennum-publish-copy): Pass inputs as lexically bound variables of a closure, rather than as ennum-exp inputs. Arun Isaac
2020-08-03Disentangle index page generation expressions.•••* ennum.el (ennum-publish-index): Publish each page as a separate ennum expression. Make them separate functions to avoid closure capture. (ennum-publish-index-page, ennum-publish-index-home): New functions. (ennum-publish): Concatenate return value of ennum-publish-index. Arun Isaac
2020-08-03Expose paths to external utilities.•••* ennum-image.el (ennum-image-convert-path, ennum-image-identify-path, ennum-image-jpegtran-path, ennum-image-optipng-path): New variables. (ennum-image-resize-image): Use ennum-image-convert-path. (ennum-image-optimize-image): Use ennum-image-jpegtran-path and ennum-image-optipng-path. (ennum-image-get-width): Use ennum-image-identify-path. Arun Isaac
2020-08-03Replace ennum--expand-relative with ennum--file-join.•••* ennum.el (ennum--file-join): New function. (ennum--expand-relative): Delete function. (ennum-posts, ennum-publish-generic, ennum-publish-image, ennum-publish-link, ennum-publish): Replace ennum--expand-relative with ennum--file-join. Arun Isaac
2020-08-02Pass post object in info.•••* ennum-html.el (ennum-html-inner-template): Use translations from post object. (ennum-html-find-link): New function. (ennum-html-link): Use post titles and video posters from post object. * ennum.el (ennum-export-post): Pass post object as :ennum-posts in info. Arun Isaac
2020-08-02Pass post titles in info.•••* ennum-html.el (ennum-html-link): Handle post links as a special case. (ennum-html-export-post): Use post link description received as argument. When description is nil, do not attempt to read source files to find the post title. * ennum.el (ennum-export-post): Pass post titles as :ennum-post-titles in info. Arun Isaac
2020-08-02Embed post link target title in post-link object.•••* ennum.el (ennum-post-set-links, ennum-post-link-set-target-title): New functions. (ennum-post-link): New type. (ennum--read-post): Create post-link object when applicable. (ennum-posts): Set target-title slot of post-link objects. Arun Isaac
2020-08-02Create a functional setter for ennum-post-translations.•••* ennum.el (ennum-make-functional-setter): New macro. (ennum-post-set-translations): New function. (ennum-posts): Use ennum-post-set-translations. Arun Isaac
2020-08-02Embed video poster in link object.•••* ennum.el (ennum-post): Remove video-posters slot. (ennum-video-link): New type. (ennum--read-post): Create video link when applicable. Do not set video-posters in post object. (ennum-publish-post, ennum-publish-link): Use ennum-video-link-poster. Arun Isaac
2020-08-02Introduce ennum-link type.•••* ennum.el (ennum-link): New type. (ennum--read-post, ennum-publish-link): Use ennum-link type. Arun Isaac
2020-08-02Deduplicate ennum-html export.•••* ennum.el (ennum-export-post): New function. (ennum-publish-post, ennum--feed-entry): Invoke ennum-export-post. Arun Isaac
2020-08-01Embed list of translations into post object.•••* ennum.el (ennum-post): Add ennum-copy-post copier and translations slot. (ennum-posts): Set translations slot. (ennum-publish-post): Publish a single post, not a translation group of posts. (ennum-publish): Pass posts to ennum-publish-post one by one, without grouping. * ennum-html.el (ennum-html-inner-template): Use translations alist. Arun Isaac
2020-08-01Prefix ennum-html symbols with ennum-html-.•••* ennum-html.el: Prefix all ennum-html symbols consistently with ennum-html-. Arun Isaac
2020-07-31Switch from ennum-operation to ennum-exp.•••ennum-exp is a simple embedded domain specific language to express blog publishing in a more expression oriented form. * ennum.el (ennum-operation): Delete type. (ennum--do-operation): Delete function. (ennum-intern, ennum--hash, ennum-file-hash, ennum--file-hash, ennum--set-file-modes-recursively, ennum--rewrite-inputs, ennum-eval, ennum-store-item-union): New functions. (ennum-exp): New macro. (ennum-setting): Introduce :store setting. (ennum-publish-post, ennum-publish-generic, ennum-publish-index, ennum-publish-feed, ennum--feed-entry, ennum-publish-image, ennum-publish-copy, ennum-publish-link, ennum-publish): Switch from ennum-operation to ennum-exp. Arun Isaac
2020-07-31Delete ennum-publish-static-file.•••ennum-publish-static-file is a duplicate of ennum-publish-copy. * ennum.el (ennum-publish-static-file): Delete function. Arun Isaac
2020-07-31Use ennum-mkdir-p in ennum-copy.•••* ennum.el (ennum-copy): Use ennum-mkdir-p. Arun Isaac
2020-07-31Specify post title explicitly in the link description.•••Index generation uses the html backend, and cannot access the special post link of the ennum-html backend. * ennum.el (ennum-publish-index): During index generation, specify post title explicitly in the link description. Arun Isaac
2020-07-31Leave new temporary directory permissions unchanged.•••* ennum.el (ennum-with-temporary-directory): Leave new temporary directory permissions unchanged. Arun Isaac
2020-07-31Introduce ennum-directory-files.•••ennum-directory-files is a more convenient around directory-files and directory-files-recursively. * ennum.el (ennum-directory-files): New function. (ennum-posts, ennum-video-poster, ennum-publish): Use ennum-directory-files. (ennum-publish-generic): Accept files that are not prefixed by other-files-directory. Arun Isaac
2020-07-31Define ennum-blog variable.•••* ennum.el (ennum-blog): Define variable. Arun Isaac
2020-07-31Pass video posters through info.•••* ennum.el (ennum-post): Add video-posters slot. (ennum--read-post): Set video-posters slot when creating post object. (ennum-publish-post, ennum--feed-entry): Pass video-posters in info communication channel. * ennum-html.el (ennum-html-link): Handle video links differently from normal org links since they require access to the info communication channel. Get poster from info instead of reading the source tree directly. (ennum-export-video): Delete function. (org-link-parameters): Unregister ennum-export-video. Arun Isaac
2020-07-31Prefix :translations in info with ennum-.•••* ennum.el (ennum-publish-post): Prefix :translations in info communication channel with ennum-. * ennum-html.el (ennum-html-inner-template): Use :ennum-translations instead of :translations. Arun Isaac
2020-07-18Rename ennu to ennum.•••* ennu.el: Rename to ... * ennum.el: ... this. Replace all instances of ennu with ennum. * ennu-html.el: Rename to ... * ennum-html.el: ... this. Replace all instances of ennu with ennum. * ennu-image.el: Rename to ... * ennum-image.el: ... this. Replace all instances of ennu with ennum. Arun Isaac
2020-07-10Fix unbalanced parentheses due to an earlier partial commit.•••* ennu.el (ennu-server-start): Fix unbalanced parentheses. Arun Isaac
2020-07-10Find file to serve using unhexed URI.•••* ennu.el (ennu-server-start): Find file to serve using unhexed URI. Arun Isaac
2020-07-10Add comments to ennu-server-start.•••* ennu.el (ennu-server-start): Add comments. Arun Isaac
2020-07-10Percent encode URIs.•••* ennu-html.el (ennu-html-link, ennu-export-post, ennu-export-thumbnail, ennu-export-video, ennu-export-static, ennu-export-tag): Percent encode URIs. Arun Isaac
2020-07-09Remove file:// scheme from data attribute.•••SVG images displayed using the object element specify the URI in the data attribute. * ennu-html.el (ennu-html-link): Remove file:// scheme from data attribute as well, not just the src attribute. Arun Isaac
2020-07-09Do not create tangle output in :posts-directory.•••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. Arun Isaac
2020-07-08Set new directory permissions to 755.•••* ennu.el (ennu-with-temporary-directory): Set new temporary directory permissions to 755. Arun Isaac
2020-03-15Check backend while exporting links.•••* ennu-html.el (ennu-export-post, ennu-export-thumbnail, ennu-export-video, ennu-export-static, ennu-export-tag): Export only if backend is either ennu-html or html. Arun Isaac
2020-03-15Add post and image link follow functions.•••* ennu-html.el (ennu-follow): New macro. (ennu-follow-post, ennu-follow-image): New functions. Add respectively as :follow properties to post and image links in org-link-parameters. Arun Isaac
2020-03-15Handle posts without summary metadata.•••* ennu.el (ennu--read-post): Export summary metadata only if it is non-nil. Arun Isaac
2020-03-15Handle posts with no author metadata.•••* ennu.el (ennu--read-post): Export author metadata only if it is non-nil. Arun Isaac
2020-03-15Consider org-export-with-author when exporting author.•••* ennu.el (ennu--feed-entry): Export author only when org-export-with-author is non-nil. Arun Isaac
2020-03-15Handle image links with separate transcoder.•••* ennu-html.el (ennu-html-link): New function. (ennu-html): Add ennu-html-link transcoder. Remove :html-inline-image-rules option. (ennu-export-image): Delete function. Unregister it from org-link-parameters. Arun Isaac
2020-03-13List tags only if present.•••* ennu-html.el (ennu-html-inner-template): List tags only if present. Arun Isaac
2020-03-13Pass backend name to export functions.•••* ennu-html.el (ennu-html-inner-template): Pass backend name, not backend to export functions ennu-export-post and ennu-export-tag. Arun Isaac
2020-03-13Use appropriate time locale when exporting pages.•••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. Arun Isaac
2020-03-13Log message when starting server.•••* ennu.el (ennu-server-start): Log message. Arun Isaac
2020-03-13Deny requests to all html files except index.html.•••* ennu.el (ennu-server-start): Deny requests to all html files except index.html. Arun Isaac
2020-03-13Provide ennu web server stop command.•••* ennu.el (ennu-server-start): New function. Arun Isaac
2020-03-13Rename ennu-serve to ennu-server-start.•••* ennu.el (ennu-serve): Rename to ennu-server-start. Arun Isaac
2020-03-13Simplify picking of default settings.•••* ennu.el (ennu-setting): Combine picking of all default settings into one clause. Arun Isaac
2020-03-13Publish interlanguage links only if there are translations.•••* ennu-html.el (ennu-html-inner-template): Publish interlanguage links only if there are translations. Arun Isaac
2020-03-13Use language name in interlanguage links.•••* ennu-html.el (ennu--iso-639-1-alist): New variable. (ennu-html-inner-template): Use language name in interlanguage links. Arun Isaac
2019-09-02Tangle posts.•••* ennu.el (ennu-publish-post): Tangle posts if they have src blocks marked for tangling. Arun Isaac