aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-08-29html: Implement color without HTML tables.•••* src/guile/skribilo/engine/html.scm (color): Implement without HTML tables, using only CSS. Arun Isaac
2023-08-29html: Implement frame without HTML tables.•••* src/guile/skribilo/engine/html.scm (frame): Implement without HTML tables, using only CSS. Arun Isaac
2023-08-29html: Add CSS style declaration abstraction.•••* src/guile/skribilo/engine/html.scm (style-declaration): New function. Arun Isaac
2023-08-29html: Remove redundant pair? check on inline CSS.•••The inline-css engine custom is either a string or a list. If it is a string, we coerce it into a singleton list. So, there is no need to check again that it is a pair. * src/guile/skribilo/engine/html.scm (&html-header-style): Remove redundant pair? check on inline CSS. Arun Isaac
2023-08-29html: Use call-with-input-file to read inline CSS files.•••* src/guile/skribilo/engine/html.scm: Import (rnrs exceptions). (&html-header-style): Use call-with-input-file, instead of open-input-file and close-input-port, to read inline CSS files. Arun Isaac
2023-08-29html: Use get-string-all to read inline CSS files.•••* src/guile/skribilo/engine/html.scm: Import (rnrs io ports). (&html-header-style): Use get-string-all instead of explicit loop to read inline CSS files. Arun Isaac
2023-08-29html: Render table of contents as nested ordered lists.•••* src/guile/skribilo/engine/html.scm (&html-header-style): Add CSS to set markers for list items in the table of contents. (toc): Render table of contents as nested ordered lists, not as a table. Arun Isaac
2023-08-28html: Avoid single letter variable names.•••* src/guile/skribilo/engine/html.scm: Replace single letter variable names n and e with node and engine respectively. Arun Isaac
2023-08-28html: Abstract out opening and closing of HTML tags.•••* src/guile/skribilo/engine/html.scm: Import (srfi srfi-26). (html-open, html-close): New functions. (html-markup-class, &html-head, &html-body, &html-page, &html-header-favicon, &html-header-css, &html-header-javascript, &html-generic-title, &html-footnotes, html-title-authors, author, toc, chapter, html-section-title, paragraph, footnote, linebreak, hrule, color, frame, font, flush, itemize, enumerate, description, item, blockquote, figure, &html-figure-legend, table, tr, tc, image, mailto, mark, ref, url-ref, &prog-line, &bib-entry-label, &the-index-header): Use html-open and html-close. Arun Isaac
2023-08-26nls: Add Romanian translation.•••* po/LINGUAS: Add ro. * po/ro.po: New file. Arun Isaac
2023-07-13Make repository a guix channel.•••* .guix-authorizations, .guix-channel: New files. * guix.scm: Convert to a symlink pointing to .guix/skribilo-package.scm. Move original there. * .guix/skribilo-package.scm: Convert into a module with public packages. Use modify-inputs. Arun Isaac
2023-02-28Update NEWS.•••* NEWS (New in Skribilo 0.10.0): New section. v0.10.0Arun Isaac
2023-02-28emacs: Distribute skribilo.el.•••* emacs/Makefile.am (EXTRA_DIST): Add skribilo.el. Arun Isaac
2023-02-28Update INSTALL.•••* INSTALL: Update to latest automake output. Arun Isaac
2023-02-27ast: Rewrite ast->string using string-join.•••* src/guile/skribilo/ast.scm (ast->string): Rewrite using string-join. Arun Isaac
2023-02-27tests: Test ast->string.•••* tests/ast.test ("ast->string"): New test. Arun Isaac
2023-02-06html: Use for-each instead of explicit loop.•••* src/guile/skribilo/engine/html.scm (&html-footnotes): Use for-each instead of explicit loop. Arun Isaac
2023-02-06html: Use match instead of car and cdr.•••* src/guile/skribilo/engine/html.scm (toc): Use match instead of car and cdr. Arun Isaac
2023-02-06html: Do not add br tags before footnotes.•••* src/guile/skribilo/engine/html.scm (&html-footnotes): Do not add br tags before. Arun Isaac
2023-01-28html: Do not add br tag after section.•••* src/guile/skribilo/engine/html.scm (section): Do not br tag after. Arun Isaac
2023-01-28html: Do not add br tag after chapter.•••* src/guile/skribilo/engine/html.scm (chapter): Do not br tag after. Arun Isaac
2022-12-10biblio: Template compiler recognizes 'doi' and 'note'.•••* src/guile/skribilo/biblio/template.scm (bibliography-template): Add 'doi' and 'note'. Ludovic Courtès
2022-05-05lncs: Change writers for the LaTeX engine only.•••* src/guile/skribilo/package/lncs.scm (&bib-entry-author) (&bib-entry-booktitle, &bib-entry-journal): Add missing LATEX argument to 'markup-writer'. Ludovic Courtès
2022-05-05biblio: Replace template interpreter with a macro (a "compiler").•••This allows us to catch invalid templates at macro-expansion time and is more efficient. * src/guile/skribilo/biblio/template.scm (evaluate-bib-entry-template): Remove. (define-template-engine, bibliography-template): New macros. (output-bib-entry-template): Rewrite and remove 'get-field' optional argument. (make-bib-entry-template/default, make-bib-entry-template/skribe): Use 'bibliography-template' instead of quasiquote/unquote. * src/guile/skribilo/package/jfp.scm (le): Likewise. * src/guile/skribilo/package/lncs.scm (bib-entry-template): Likewise. * src/guile/skribilo/biblio.scm (&biblio-template-error): Remove. (handle-biblio-error): Adjust accordingly. * tests/biblio.test: New file. * tests/Makefile.am (TESTS): Add it. Ludovic Courtès
2022-04-13reader: Add Gemtext reader.•••* src/guile/skribilo/reader/gemtext.scm: New file. * configure.ac: Set BUILD_GEMTEXT_READER automake conditional to true if (srfi srfi-171) is found. Else, set it to false. * src/guile/Makefile.am (readers): Add skribilo/reader/gemtext.scm if BUILD_GEMTEXT_READER is true. (EXTRA_DIST): Add skribilo/reader/gemtext.scm if BUILD_GEMTEXT_READER is false. * doc/user/syntax.skb (The Gemtext Syntax): New section. * tests/readers/gemtext.test: New file. * tests/Makefile.am (TESTS): Add readers/gemtext.test if BUILD_GEMTEXT_READER is true. (EXTRA_DIST): Add readers/gemtext.text if BUILD_GEMTEXT_READER is false. Arun Isaac
2022-04-10emacs: Do not delete "skribilo.el" on 'make clean'.•••Fixes <https://bugs.gnu.org/54594>. Reported by Arun Isaac <arunisaac@systemreboot.net>. * emacs/Makefile.am (CLEANFILES): Change to "skribe.el". Ludovic Courtès
2022-03-16html: Use h2 for section titles.•••* src/guile/skribilo/engine/html.scm (html-engine)[custom]: Use <h2> and </h2> for section-title-start and section-title-stop respectively. Arun Isaac
2022-03-10html: Set UTF-8 as the default charset.•••* src/guile/skribilo/engine/html.scm (html-engine): Set UTF-8 as the default charset. Arun Isaac
2022-03-10html: Fix year in copyright header for Arun Isaac.•••This copyright header was added in 76136f9e904e8eb17f494d20fa2969ef2d5eb1aa, but the year was wrongly specified as 2021 instead of 2022. * src/guile/skribilo/engine/html.scm: Fix year in copyright header for Arun Isaac. Arun Isaac
2022-02-22html: Include custom head outside <style> tag.•••Prior to this commit, the custom head was included inside <style>. That is a bug. * src/guile/skribilo/engine/html.scm (&html-head): Include custom head. (&html-header-style): Do not include custom head. Arun Isaac
2021-11-10utils: compat: Set fallback for *skribe-rc-directory*.•••* src/guile/skribilo/utils/compat.scm (*skribe-rc-directory*): Set fallback value in case the HOME environment variable is not set. Arun Isaac
2021-10-01doc: Document the skribilo emacs mode.•••* doc/user/emacs.skb (Skribe Emacs Mode): Rename to ... (Skribilo Emacs Mode): ... this. Document the skribilo emacs mode. Arun Isaac
2021-10-01doc: Re-indent and re-fill paragraph.•••* doc/user/emacs.skb: Re-indent and re-fill paragraph. Start block comments with double semicolons. Replace double spaces between sentences with a single space. Arun Isaac
2021-10-01doc: Remove redundant footnote.•••The text already says that any valid Scheme code is allowed. It is redundant to mention again that any valid GNU Guile Scheme code is allowed. * doc/user/start.skb (Dynamic Documents)[Simple Computations]: Remove redundant footnote. Arun Isaac
2021-10-01doc: Replace unreproducible date->string computation.•••The date->string computation is unreproducible. A slightly different version of the documentation is built each time. Also, the output of date->string is locale dependent, and does not render correctly in all locales. * doc/user/start.skb (Dynamic Documents)[Simple Computations]: Replace unreproducible date->string computation with a square root computation. Arun Isaac
2021-10-01gitignore: Add po/* files.•••* .gitignore: Add po/*.gmo, po/Makefile.in.in, po/Makevars.template, po/POTFILES, po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin and po/skribilo.pot. Arun Isaac
2021-09-29emacs: Add skribilo minor mode.•••* emacs/skribilo.el: New file. * emacs/Makefile.am (lisp_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arun Isaac
2021-09-29build: Use SRFI-64 test suite driver as found in Guix.•••This works around the fact that SRFI-64 in Guile 3.0.6+, 'test-runner-current' returns #f after 'test-end'. It also gives us a more featureful test runner, where one can do things like: make check TEST_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes" Reported by <soeren@soeren-tempel.net>. * build-aux/test-driver.scm: New file. * Makefile.am (EXTRA_DIST): Add it. * tests/Makefile.am (TEST_LOG_DRIVER): New variable. (TEST_LOG_COMPILER): New variable. * tests/ast.test, tests/engines/info.test, tests/location.test, tests/readers/rss-2.test, tests/resolve.test: Remove call to 'exit'. Ludovic Courtès
2021-04-23nls: Add Esperanto.•••* po/eo.po: New file. * po/LINGUAS: Add 'eo'. Ludovic Courtès
2021-02-02info: Mark :info-dir-category and :info-dir-entry as supported.•••This is a followup to 3e68da0a38250825f9d28b8ff6f448b4bdc72c77. * src/guile/skribilo/engine/info.scm (document): Add :info-dir-category and :info-dir-entry to :options. Ludovic Courtès
2020-11-01web: Update references to the supported Guile versions.•••* web/index.skb: Update references to Guile versions. Ludovic Courtès
2020-11-01Update NEWS.v0.9.5Ludovic Courtès
2020-11-01guix: Add dependency on Git.•••* guix.scm (skribilo)[native-inputs]: Add GIT-MINIMAL. Ludovic Courtès
2020-11-01guix: Define Guile 2.2 and 2.0 variants.•••* guix.scm: Define Guile 2.2 and 2.0 variants. Ludovic Courtès
2020-11-01justify: Turn the current justifier into a parameter.•••* src/guile/skribilo/utils/justify.scm (*justifiers*): Remove. (*justifier*): New variable. (output-justified, output-token, output-newline) (output-flush, justification-width, with-justification) (with-justification/noflush): Adjust accordingly. Ludovic Courtès
2020-11-01justify: Turn '*margin*' into a parameter.•••* src/guile/skribilo/utils/justify.scm (*margin*): Turn into a parameter. (with-justification, with-justification/noflush): Use 'parameterize' instead of 'set!'. * src/guile/skribilo/engine/info.scm: Adjust accordingly. * doc/modules/skribilo/documentation/api.scm (doc-markup): Likewise. Ludovic Courtès
2020-11-01info: Number section titles.•••This matches what 'makeinfo' does for numbered sections. * src/guile/skribilo/engine/info.scm (block-number): New procedure. (block-title): Add :number? and honor it. (section, subsection, subsubsection, chapter): Pass :number? #t for the title. Ludovic Courtès
2020-11-01info: Avoid extra leading newline for the first paragraph of a section.•••* src/guile/skribilo/engine/info.scm (paragraph): Emit newline only when N is not the first paragraph. Ludovic Courtès
2020-11-01info: Add extra newline after node heading.•••This matches what 'makeinfo' does. * src/guile/skribilo/engine/info.scm (info-node): Add extra newline. Ludovic Courtès
2020-11-01info: Emit dir-category and dir-entry.•••Reported by nly <nly@disroot.org>. * src/guile/skribilo/package/base.scm (document): Add :info-dir-category and :info-dir-entry. * doc/user/document.skb: Document them. * doc/user/user.skb: Pass :info-dir-category. * src/guile/skribilo/engine/info.scm (scribe-document->info): Create INFO-DIR-CATEGORY and START-INFO-DIR-ENTRY. Ludovic Courtès