aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-28html: Abstract out opening and closing of HTML tags.Arun Isaac
* 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.
2023-08-26nls: Add Romanian translation.Arun Isaac
* po/LINGUAS: Add ro. * po/ro.po: New file.
2023-07-13Make repository a guix channel.Arun Isaac
* .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.
2023-02-28Update NEWS.v0.10.0Arun Isaac
* NEWS (New in Skribilo 0.10.0): New section.
2023-02-28emacs: Distribute skribilo.el.Arun Isaac
* emacs/Makefile.am (EXTRA_DIST): Add skribilo.el.
2023-02-28Update INSTALL.Arun Isaac
* INSTALL: Update to latest automake output.
2023-02-27ast: Rewrite ast->string using string-join.Arun Isaac
* src/guile/skribilo/ast.scm (ast->string): Rewrite using string-join.
2023-02-27tests: Test ast->string.Arun Isaac
* tests/ast.test ("ast->string"): New test.
2023-02-06html: Use for-each instead of explicit loop.Arun Isaac
* src/guile/skribilo/engine/html.scm (&html-footnotes): Use for-each instead of explicit loop.
2023-02-06html: Use match instead of car and cdr.Arun Isaac
* src/guile/skribilo/engine/html.scm (toc): Use match instead of car and cdr.
2023-02-06html: Do not add br tags before footnotes.Arun Isaac
* src/guile/skribilo/engine/html.scm (&html-footnotes): Do not add br tags before.
2023-01-28html: Do not add br tag after section.Arun Isaac
* src/guile/skribilo/engine/html.scm (section): Do not br tag after.
2023-01-28html: Do not add br tag after chapter.Arun Isaac
* src/guile/skribilo/engine/html.scm (chapter): Do not br tag after.
2022-12-10biblio: Template compiler recognizes 'doi' and 'note'.Ludovic Courtès
* src/guile/skribilo/biblio/template.scm (bibliography-template): Add 'doi' and 'note'.
2022-05-05lncs: Change writers for the LaTeX engine only.Ludovic Courtès
* src/guile/skribilo/package/lncs.scm (&bib-entry-author) (&bib-entry-booktitle, &bib-entry-journal): Add missing LATEX argument to 'markup-writer'.
2022-05-05biblio: Replace template interpreter with a macro (a "compiler").Ludovic Courtès
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.
2022-04-13reader: Add Gemtext reader.Arun Isaac
* 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.
2022-04-10emacs: Do not delete "skribilo.el" on 'make clean'.Ludovic Courtès
Fixes <https://bugs.gnu.org/54594>. Reported by Arun Isaac <arunisaac@systemreboot.net>. * emacs/Makefile.am (CLEANFILES): Change to "skribe.el".
2022-03-16html: Use h2 for section titles.Arun Isaac
* src/guile/skribilo/engine/html.scm (html-engine)[custom]: Use <h2> and </h2> for section-title-start and section-title-stop respectively.
2022-03-10html: Set UTF-8 as the default charset.Arun Isaac
* src/guile/skribilo/engine/html.scm (html-engine): Set UTF-8 as the default charset.
2022-03-10html: Fix year in copyright header for Arun Isaac.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.
2022-02-22html: Include custom head outside <style> tag.Arun Isaac
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.
2021-11-10utils: compat: Set fallback for *skribe-rc-directory*.Arun Isaac
* src/guile/skribilo/utils/compat.scm (*skribe-rc-directory*): Set fallback value in case the HOME environment variable is not set.
2021-10-01doc: Document the skribilo emacs mode.Arun Isaac
* doc/user/emacs.skb (Skribe Emacs Mode): Rename to ... (Skribilo Emacs Mode): ... this. Document the skribilo emacs mode.
2021-10-01doc: Re-indent and re-fill paragraph.Arun Isaac
* 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.
2021-10-01doc: Remove redundant footnote.Arun Isaac
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.
2021-10-01doc: Replace unreproducible date->string computation.Arun Isaac
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.
2021-10-01gitignore: Add po/* files.Arun Isaac
* .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.
2021-09-29emacs: Add skribilo minor mode.Arun Isaac
* emacs/skribilo.el: New file. * emacs/Makefile.am (lisp_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-29build: Use SRFI-64 test suite driver as found in Guix.Ludovic Courtès
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'.
2021-04-23nls: Add Esperanto.Ludovic Courtès
* po/eo.po: New file. * po/LINGUAS: Add 'eo'.
2021-02-02info: Mark :info-dir-category and :info-dir-entry as supported.Ludovic Courtès
This is a followup to 3e68da0a38250825f9d28b8ff6f448b4bdc72c77. * src/guile/skribilo/engine/info.scm (document): Add :info-dir-category and :info-dir-entry to :options.
2020-11-01web: Update references to the supported Guile versions.Ludovic Courtès
* web/index.skb: Update references to Guile versions.
2020-11-01Update NEWS.v0.9.5Ludovic Courtès
2020-11-01guix: Add dependency on Git.Ludovic Courtès
* guix.scm (skribilo)[native-inputs]: Add GIT-MINIMAL.
2020-11-01guix: Define Guile 2.2 and 2.0 variants.Ludovic Courtès
* guix.scm: Define Guile 2.2 and 2.0 variants.
2020-11-01justify: Turn the current justifier into a parameter.Ludovic Courtès
* 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.
2020-11-01justify: Turn '*margin*' into a parameter.Ludovic Courtès
* 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.
2020-11-01info: Number section titles.Ludovic Courtès
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.
2020-11-01info: Avoid extra leading newline for the first paragraph of a section.Ludovic Courtès
* src/guile/skribilo/engine/info.scm (paragraph): Emit newline only when N is not the first paragraph.
2020-11-01info: Add extra newline after node heading.Ludovic Courtès
This matches what 'makeinfo' does. * src/guile/skribilo/engine/info.scm (info-node): Add extra newline.
2020-11-01info: Emit dir-category and dir-entry.Ludovic Courtès
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.
2020-08-06Remove 'cond-expand' clauses for Guile 1.8.Ludovic Courtès
This is a followup to d183aa487d99baea3746f79759c17cf36c55dfbf. * src/guile/skribilo/debug.scm (with-debug): Remove 'cond-expand' and keep only 'guile-2' version. * src/guile/skribilo/engine/html.scm (&html-generic-document)[set-output-encoding]: Likewise. * src/guile/skribilo/engine/info.scm (document): Likewise. * src/guile/skribilo/engine/latex.scm (document): Likewise. * src/guile/skribilo/engine/lout.scm (document): Likewise. * src/guile/skribilo/evaluator.scm (%evaluate): Likewise. * src/guile/skribilo/location.scm <top level>: Likewise. * src/guile/skribilo/module.scm (maybe-set-module-name!): Likewise. * src/guile/skribilo/package/base.scm <top level>: Likewise. * src/guile/skribilo/utils/syntax.scm (unless, when): Remove. (set-correct-file-encoding!, default-to-utf-8): Keep only 'guile-2' variant. * tests/location.test <top level>: Likewise. * tests/readers/rss-2.test <top level>: Likewise.
2020-08-06Do not use 'guile-2.0' as a 'cond-expand' key since it doesn't exist.Ludovic Courtès
* src/guile/skribilo.scm (skribilo): Reverse 'cond-expand' logic for _IOFBF handling.
2020-08-02build: Add Guix package definition.Ludovic Courtès
* release.nix: Remove. * guix.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
2020-08-02lout: Replace more Unicode characters.Ludovic Courtès
* src/guile/skribilo/engine/lout.scm (lout-encoding): Add several diacritics, guillemets, curly quotes, etc.
2020-08-02source: Remove unused procedure.Ludovic Courtès
* src/guile/skribilo/source.scm (split-string-newline): Remove.
2020-08-02Use '_' as the 'match' wildcard.Ludovic Courtès
This addresses '-Wunused-variable' warnings. * doc/modules/skribilo/documentation/api.scm (define-markup?) (make-engine?, make-engine-custom) (define-markup-formals, define-markup-options) (define-markup-rest, exp->skribe): Use '_' instead of 'else' as the 'match' wildcard. * src/guile/skribilo/package/slide/latex.scm (%slide-advi-setup!): Likewise. * src/guile/skribilo/source/lisp.scm (lisp-extractor) (scheme-extractor, stklos-extractor, skribe-extractor) (bigloo-extractor): Likewise. * src/guile/skribilo/sui.scm (load-sui): Likewise. (sui-title, sui-key, sui-find-ref, sui-filter): Likewise.
2020-08-01build: Allow compilation with Guile 3.0.Ludovic Courtès
* configure.ac: Add "3.0" to 'GUILE_PKG'.
2020-08-01pie: Prevent inlining of '%ploticus-program'.Ludovic Courtès
* src/guile/skribilo/package/pie.scm (%ploticus-program): Add top-level 'set!'.