Age | Commit message (Collapse) | Author |
|
We track the value of variables provided by certain features. This is
so that we rebuild correctly when the user sets a configuration
variable.
* ennum.el: Require loadhist.
(ennum-track-features, ennum-feature-hash): New variables.
(ennum--feature-environment): New function.
(ennum-exp): Include ennum-feature-hash in hash computation.
(ennum-publish): Recompute ennum-feature-hash.
|
|
The return value of ennum-directory-files now includes the respective
directories. There is no need to prepend the directory again.
* ennum.el (ennum-posts, ennum-publish-generic): Do not prepend
directory to filename.
|
|
* ennum.el (ennum-assoc-delete, ennum-assoc-set, ennum-assoc-prepend):
New functions.
* ennum.el (ennum-many-to-many-group-by): Use ennum-assoc-append
instead of mutating the result association list.
|
|
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.
|
|
* 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.
|
|
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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* ennum.el (ennum-make-functional-setter): New macro.
(ennum-post-set-translations): New function.
(ennum-posts): Use ennum-post-set-translations.
|
|
* 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.
|
|
* ennum.el (ennum-link): New type.
(ennum--read-post, ennum-publish-link): Use ennum-link type.
|
|
* ennum.el (ennum-export-post): New function.
(ennum-publish-post, ennum--feed-entry): Invoke ennum-export-post.
|
|
* 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.
|
|
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.
|
|
ennum-publish-static-file is a duplicate of ennum-publish-copy.
* ennum.el (ennum-publish-static-file): Delete function.
|
|
* ennum.el (ennum-copy): Use ennum-mkdir-p.
|
|
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.
|
|
* ennum.el (ennum-with-temporary-directory): Leave new temporary
directory permissions unchanged.
|
|
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.
|
|
* ennum.el (ennum-blog): Define variable.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|