summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-07-06.guix: Use current-source-directory in git-predicate.•••With "..", the git-predicate fails and filters nothing. * .guix/tissue-package.scm (tissue)[source]: Use current-source-directory in git-predicate. HEADmainArun Isaac
2023-07-06Fix package build in channel and CI job.•••* .guix/tissue-package.scm (tissue)[source]: Use ".." instead of dirname and current-source-directory. Add constant function as fallback for git predicate. Arun Isaac
2023-07-06Make repository a guix channel.•••* .guix-authorizations, .guix-channel: New files. * guix.scm: Convert to a symlink pointing to .guix/tissue-package.scm. Move original there. * .guix/tissue-package.scm: Convert into a module with public packages. Arun Isaac
2023-06-06bin: Preserve 0th command line argument when using search alias.•••There is literally no reason to do this as it's never used but it is technically more correct. * bin/tissue (main): Preserve 0th command line argument when using search alias. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-06-06bin: Allow main file to be loaded without executing main.•••Call main from the shebang command instead of calling it directly. This allows us to run "guile -l bin/tissue" without actually running main. This seems to be important for Emacs Geiser as it freezes up without this fix. * bin/tissue: Call main from shebang. Do not call main directly. (main): Accept args as regular argument instead of as a rest argument. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-06-06Makefile: Make and install info documentation.•••* Makefile (SKRIBILO, infodir, documentation, info): New variables. (distribute_files): Add $(documentation) and doc/skribilo.scm. (all): Depend on $(info). (%.info): New target. (install): Install $(info). (clean): Clean $(info). Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-05-30website: Thank GeneNetwork team.•••* website/index.skb (Contributors): Add Frederick Muriuki Muriithi, jgart, Munyoki Kilyungi and Pjotr Prins. Arun Isaac
2023-05-30tissue.scm: Add current directory to load path.•••Prior to this commit, tissue would be unable to find (doc skribilo) during indexing and crash. * tissue.scm: Add current directory to load path. Bug reported by: Morgan Smith <Morgan.J.Smith@outlook.com> Arun Isaac
2023-05-30bin: Actually load config file instead of reading and evaluating it.•••Reading and evaluating the config file was a hack put in when the config file was read directly from the git repository without checking it out. We need this no longer. Besides, it is an inconvenience because the config file cannot use current-filename. * bin/tissue (load-config): Actually load config file instead of reading and evaluating the read string. Arun Isaac
2023-05-30website: Thank Morgan Smith.•••* website/index.skb (Contributors): Thank Morgan Smith. Arun Isaac
2023-05-30guix.scm: Work around libgit2 repository ownership validation bug.•••* guix.scm: Import guile-git from (gnu packages guile) and libgit2-1.3 from (gnu packages version-control) with the guix: prefix. (libgit2, guile-git): New variables. (tissue)[inputs]: Use guile-git. Arun Isaac
2023-05-30guix.scm: Simplify.•••* guix.scm (skribilo-latest, guile-xapian): Delete variables. (tissue): Inherit from upstream Guix package. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-05-30Add Emacs mode identifiers to ambiguous files.•••* bin/tissue: Add Emacs mode identifier. * pre-inst-env: Add Emacs mode identifier. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-05-30bin: Enable use of pagers other then less.•••Previous logic assumed that the pager could accept the command line argument "--raw". Replace this logic by setting the environment variable "LESS". This idea is inspired by git. * bin/tissue (main): Set "LESS" environment variable. (tissue-search): Don't run pager with "--raw" argument. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Morgan Smith
2023-05-30Makefile: Explicitly list only scm files in tests.•••* Makefile (tests): Explicitly list only scm files. Arun Isaac
2023-04-18web: server: Handle files without extension.•••* tissue/web/server.scm (mime-type-for-extension): Handle files without extension. * tests/web/server.scm: New file. Arun Isaac
2023-04-15issue: Ignore preformatted blocks.•••* tissue/issue.scm (file-details): Ignore preformatted blocks. * tests/issue.scm ("Ignore preformatted block"): New test. * issues/ignore-preformatted-blocks-in-gemtext-parser.gmi: Close issue. Arun Isaac
2023-04-15issue: Allow checkboxes without a space.•••* tissue/issue.scm (file-details): Allow checkboxes without a space. * tests/issue.scm ("Allow checkboxes without a space"): New test. * issues/allow-checkboxes-without-a-space.gmi: Close issue. Arun Isaac
2023-04-15tests: Add test for checkbox parsing.•••* tests/issue.scm ("Parse checkboxes"): New test. Arun Isaac
2023-04-15tests: Sort alist entries after converting hashtable.•••The order of entries in an association list is insignificant. Sorting association list entries prevents tests from breaking simply because the order of the entries is different. * tests/issue.scm: Import (ice-9 match). (hashtable->alist): Sort alist entries after converting hashtable. Document this in the docstring. Arun Isaac
2023-04-14issues: Provide app bundle.•••* issues/provide-app-bundle.gmi: New issue. Arun Isaac
2023-04-14issues: Set up public inbox.•••* issues/set-up-public-inbox.gmi: New issue. Arun Isaac
2023-04-14issues: Mirror on GitHub.•••* issues/mirror-on-github.gmi: New issue. Arun Isaac
2023-04-14issues: Indicate incompatibility between state and web server.•••* issues/incompatibility-between-state-and-web-server.gmi: New issue. Arun Isaac
2023-04-14issues: Put up FOSDEM 2023 video on website.•••* issues/put-up-fosdem-2023-video-on-website.gmi: New issue. Arun Isaac
2023-04-14issues: Handle unicode characters correctly in C locale.•••* issues/handle-unicode-characters-correctly-in-C-locale.gmi: New issue. Arun Isaac
2023-03-21website: Remove small caps for headings.•••* website/style.css (h1, h3): Delete styles. Arun Isaac
2023-03-21website: List feature highlights on home page.•••* website/index.skb (Feature highlights): New section. Arun Isaac
2023-03-21doc: Describe tissue's non-discussion-orientedness.•••* doc/tissue.skb (Introduction)[Why tissue?]: New section. Arun Isaac
2023-02-04skribilo: Check if node has identifier.•••* tissue/skribilo.scm (document-node): Check if node has identifier before comparing that identifier. Arun Isaac
2023-01-31issues: Ignore preformatted blocks when parsing issues.•••* issues/ignore-preformatted-blocks-in-gemtext-parser.gmi: New issue. Arun Isaac
2023-01-31issues: Clean up Unix socket when deployed with shepherd.•••* issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi: New issue. Arun Isaac
2023-01-29bin: Indicate in synopsis that host is required for tissue-pull.•••* bin/tissue (tissue-pull): Indicate in synopsis that host is a required argument. Arun Isaac
2023-01-29issues: Add corrupted double-linked list issue.•••* issues/corrupted-double-linked-list.gmi: New issue. Arun Isaac
2023-01-29bin: Remove note about restoring load path.•••Restoring the load path since code could already have been loaded into the guile process and mutated its state. Besides, now that we restrict each tissue-pull invocation to only one host, it is not necessary to restore the load path. * bin/tissue (pull): Remove TODO note about restoring load path. Arun Isaac
2023-01-29bin: Allow pulling only one host in each invocation.•••* bin/tissue (tissue-pull): Allow pulling only one host in each invocation. Arun Isaac
2023-01-29bin: Show options placeholder in tissue-pull subcommand usage.•••* bin/tissue (tissue-pull): Show options placeholder in subcommand usage. Arun Isaac
2023-01-29git: Deprecate call-with-file-in-git.•••Functions called by call-with-file-in-git may expect to read files directly off the filesystem. These functions are not all within the user's control and cannot be rewritten to do otherwise. It is more robust to provide a filesystem checkout of the git repository like these functions expect. In this commit, we deprecate call-with-file-in-git and replace calls to it with call-with-input-file. These invocations have been arranged such that they all happen at the top level of a repository checkout. * tissue/git.scm (call-with-file-in-git): Delete function. * .dir-locals.el (scheme-mode): Unregister it. * bin/tissue (tissue-show, load-config), tissue/file-document.scm (file-text, read-gemtext-document), tissue/issue.scm (read-gemtext-issue): Replace call-with-file-in-git with call-with-input-file. (pull, tissue-web): Call load-config from the top level of a repository checkout. Arun Isaac
2023-01-29bin: Pass list of indexed documents explicitly to index function.•••* bin/tissue (index): Accept list of indexed documents as an argument instead of implicitly accessing it by loading the config. (pull, main): Pass list of indexed documents to index. Arun Isaac
2023-01-29web: Explain why we pass a project thunk to the dev server.•••* tissue/web/dev.scm (handler): Explain why we pass in a project thunk. Arun Isaac
2023-01-29web: Do not temporarily checkout repository when serving it.•••Now that snippet source texts are interred into the xapian index, the web server does not need a repository checkout. * bin/tissue (tissue-web): Do not temporarily checkout repositories being served. * tissue/web/server.scm (handler): Do not change into repository directory. * tissue/git.scm (call-with-temporary-checkouts): Delete function. * .dir-locals.el (scheme-mode): Unregister it. Arun Isaac
2023-01-29document: Inter snippet source text into the xapian index.•••We store snippet source text in a slot of the <document> class thus interring into the xapian index. This allows us to render search snippets using only the xapian index without referring back to the git repository. * tissue/document.scm (<document>)[snippet-source-text]: New slot. * tissue/document.scm (document-snippet-source-text): Delete method. (document-html-snippet): Remove blank lines from snippet source text before generating a snippet. * tissue/commit.scm (document-snippet-source-text): Delete method. (repository-commits): Initialize snippet-source-text. * tissue/skribilo.scm (fragment-text): New function. (document-fragment): Initialize snippet-source-text. (document-text): Use fragment-text. (document-snippet-source-text): Delete method. * tissue/file-document.scm (file-text): New function. (document-text): Use file-text. (read-gemtext-document): Initialize snippet-source-text. * tissue/issue.scm (read-gemtext-issue): Initialize snippet-source-text. * issues/skribilo-fragment-snippets-need-code-from-repo.gmi: Close issue. Arun Isaac
2023-01-29commit: Explain use of commit-body for snippet source text.•••* tissue/commit.scm (document-snippet-source-text): Explain use of commit-body. Arun Isaac
2023-01-29skribilo: Temporarily disable search snippets.•••* tissue/skribilo.scm (document-snippet-source-text): New method. * issues/skribilo-fragment-snippets-need-code-from-repo.gmi: New issue. Arun Isaac
2023-01-29bin: Do not change into state directory when checking out.•••Since the checkouts are created in the system-dependent temporary directory, we no longer need to change into the state directory. * bin/tissue (tissue-web): Do not change into state directory when checking out. Arun Isaac
2023-01-29git: Create temporary checkout in temporary directory.•••* tissue/git.scm (call-with-temporary-checkout): Create temporary checkout in temporary directory, not in current directory. Arun Isaac
2023-01-28web: Change to repository directory when handling requests.•••Files in the repository may be read. So, we must change into a checkout of the repository when handling requests. * tissue/web/server.scm (handler): Change to repository directory when handling requests. Arun Isaac
2023-01-28bin: Pass temporary checkout to server handler.•••* bin/tissue (tissue-web): Pass temporary checkout of git repository, not merely a bare repository, to server handler. Arun Isaac
2023-01-28bin: Use call-with-temporary-checkout when pulling.•••* bin/tissue (pull): Use call-with-temporary-checkout. Arun Isaac
2023-01-28git: Abstract temporary checkout.•••* tissue/git.scm (call-with-temporary-checkout, call-with-temporary-checkouts): New public functions. * .dir-locals.el (scheme-mode): Set scheme-indent-function of call-with-temporary-checkout and call-with-temporary-checkouts to 1. Arun Isaac