Age | Commit message (Collapse) | Author |
|
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-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.
|
|
* 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-html.el: Prefix all ennum-html symbols consistently with
ennum-html-.
|
|
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.
|
|
* ennu.el (ennu-server-start): Fix unbalanced parentheses.
|
|
* ennu.el (ennu-server-start): Find file to serve using unhexed URI.
|
|
* ennu.el (ennu-server-start): Add comments.
|
|
* ennu-html.el (ennu-html-link, ennu-export-post,
ennu-export-thumbnail, ennu-export-video, ennu-export-static,
ennu-export-tag): Percent encode URIs.
|
|
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.
|
|
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.
|
|
* ennu.el (ennu-with-temporary-directory): Set new temporary directory
permissions to 755.
|
|
* 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.
|
|
* 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.
|
|
* ennu.el (ennu--read-post): Export summary metadata only if it is
non-nil.
|
|
* ennu.el (ennu--read-post): Export author metadata only if it is
non-nil.
|
|
* ennu.el (ennu--feed-entry): Export author only when
org-export-with-author is non-nil.
|
|
* 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.
|
|
* ennu-html.el (ennu-html-inner-template): List tags only if present.
|
|
* ennu-html.el (ennu-html-inner-template): Pass backend name, not
backend to export functions ennu-export-post and ennu-export-tag.
|
|
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.
|
|
* ennu.el (ennu-server-start): Log message.
|
|
* ennu.el (ennu-server-start): Deny requests to all html files except
index.html.
|
|
* ennu.el (ennu-server-start): New function.
|
|
* ennu.el (ennu-serve): Rename to ennu-server-start.
|
|
* ennu.el (ennu-setting): Combine picking of all default settings into
one clause.
|
|
* ennu-html.el (ennu-html-inner-template): Publish interlanguage links
only if there are translations.
|
|
* ennu-html.el (ennu--iso-639-1-alist): New variable.
(ennu-html-inner-template): Use language name in interlanguage links.
|
|
* ennu.el (ennu-publish-post): Tangle posts if they have src blocks
marked for tangling.
|
|
* 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.
|
|
* ennu.el (ennu-post): Add tangle slot.
(ennu--read-post): Initialize tangle slot.
|
|
* ennu.el (ennu--filter-map): New function.
|