All talks: https://emacsconf.org/2023/talks/
one.el: the static site generator for Emacs Lisp Programmers
https://emacsconf.org/2023/talks/one - Tony Aldon - Track: General
Watch/participate: https://emacsconf.org/2023/watch/gen/
Q&A room: https://media.emacsconf.org/2023/current/bbb-one.html
IRC: https://chat.emacsconf.org/#/connect?join=emacsconf,emacsconf-gen or #emacsconf-gen on libera.chat network
Guidelines for conduct: https://emacsconf.org/conduct
See end of file for license (CC Attribution-ShareAlike 4.0 + GPLv3 or later)
----------------------------------------------------------------
Notes, discussions, links, feedback:
- Also provides a demo of Jack package (https://github.com/tonyaldon/jack/)
- Custom function for rendering by interogating the page-tree
- Of use: grabbing metadata from the document/node
- Easy menu and tab generation would also be great.
----------------------------------------------------------------
Questions and answers go here:
- Q: What's the main motivation for this new package? I used to use ox-hugo and use github action to build the blog. (Curious as well, as I use ox-hugo and have almost 1000 pages)
- A: Mapping from org-mode to Hugo added another system to understand; wanted Emacs centric approach. (https://one.tonyaldon.com/ has some rational)
- understand. For me, it's just org-mode, ox-hugo take care of the rest. And I find it is easy for me. Maybe, I am not used it so much. Full control definiitely requires your package.
- Q: Is it possible to use #+include to add content from other files?
- A: Not included; the idea was to only have one file. It is possible to code what you want in elisp.
- Perhaps org-transclusion would play with this?
- Q: Can this generate a single site from different sources like blog.org (for example.org/blog/), videos.org (for example.org/videos/), contact.org (for example.org/contact/), etc?
- A: Refer to the previous question's answer
- Q:Do you have pre-made templates already along with the one.el package?
- A:Yes and no. There are quite a few constructs/templates in the one.el code, you could perhaps use them to customize to get it to do what you want.
- Q: What additional features are there that you would like to add to one.el in the future?
- A: A full text search
- (Comment not from presenter:) I've used Lunrjs which is a JS package that keeps all things local; but your site generator does need to kick out a JSON representation of the content (e.g. path, text, tags/keywords). I've been considering http://elasticlunr.com/
- Q:Can you create navbars on a website and fancy things like carousels (pictures rolling/sliding from one to another) using one.el?
- A:Sidebars, navbars are already part of the package. one.el also generates responsive. pages. pages argument used recursively can manage/mimic the carousel effect.
- Q: Would there be an automated way to convert an existing HTML document into jack-html form?
- A:
- One challenge is that HTML documents do not need to be "precise" (you don't need to close tags). So finding a tree-parser for HTML (perhaps treesitter?) to build the conceptual tree.
- Q: Does this or you use any other Emacs Packages for your package/website ex org-publish.
----------------------------------------------------------------
Next talks:
Questions/comments related to EmacsConf 2023 as a whole? https://pad.emacsconf.org/2023
----------------------------------------------------------------
This pad will be archived at https://emacsconf.org/2023/talks/one after the conference.
Except where otherwise noted, the material on the EmacsConf pad are dual-licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License; and the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) an later version. Copies of these two licenses are included in the EmacsConf wiki repository, in the COPYING.GPL and COPYING.CC-BY-SA files (https://emacsconf.org/COPYING/)
By contributing to this pad, you agree to make your contributions available under the above licenses. You are also promising that you are the author of your changes, or that you copied them from a work in the public domain or a work released under a free license that is compatible with the above two licenses. DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION.