summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-09document: Generalize document-type method of <document> parent class.Arun Isaac
* tissue/document.scm (document-type): Generalize generic method of <document> to apply to most child classes. Pass on generic method of <file-document> to that of <document>. * tissue/issue.scm (document-type): Remove generic method for <issue> class.
2022-07-09bin: Rename run-web subcommand to web.Arun Isaac
* bin/tissue (tissue-run-web): Rename to tissue-web, and update synopsis in usage summary. (print-usage, main): Rename run-web to web.
2022-07-09bin: Deprecate tissue web subcommand.Arun Isaac
* bin/tissue (tissue-web): Delete function. (print-usage): Unlist web subcommand. (main): Do not call tissue-web.
2022-07-09issue: Hyphenate tag in search query if it has spaces.Arun Isaac
* tissue/issue.scm (document->sxml): Hyphenate tag in search query if it has spaces.
2022-07-09bin: Make indexed documents a list of document objects.Arun Isaac
This simplifies the interface obviating the need for an <indexed-document> type. * bin/tissue: Do not import (srfi srfi-9). (<indexed-document>): Delete type. (index): Expect indexed documents to be a list of document objects. * tissue.scm (#:indexed-documents): Pass in a list of document objects, instead of a list of <indexed-document> objects.
2022-07-09Makefile: Run tests using a for loop.Arun Isaac
If guile is passed all test files at once, it only runs the first one. * Makefile (check): Run tests using a for loop.
2022-07-09tissue: Delay index-documents field.Arun Isaac
* tissue/tissue.scm: Import (ice-9 match). (<tissue-configuration>)[indexed-documents]: Rename getter to delayed-tissue-configuration-indexed-documents. (tissue-configuration-indexed-documents): New function. (pairify): New function. (tissue-configuration): Delay #:indexed-documents argument too. * tests/tissue.scm: New file.
2022-07-08tissue.scm: Remove html extension from web URIs.Arun Isaac
* tissue.scm (#:indexed-documents): Remove html extension from web URIs.
2022-07-08web: server: Serve html files even without the html extension.Arun Isaac
* tissue/web/server.scm (handler): Serve html files even if they don't have the html extension.
2022-07-08utils: Add string-remove-suffix utility.Arun Isaac
* tissue/utils.scm (string-remove-suffix): New public function.
2022-07-08issues: Support issue templates.Arun Isaac
* issues/issue-templates.gmi: New file.
2022-07-08issues: Add Gemini interface.Arun Isaac
* issues/gemini-interface.gmi: New file.
2022-07-08issue: Allow specifying tags with keyword and tag singulars.Arun Isaac
* tissue/issue.scm (file-details): Allow specifying tags with keyword and tag singulars.
2022-07-08issues: Search by date.Arun Isaac
* issues/search-by-date.gmi: New file.
2022-07-08issues: Add links to filter documents by type.Arun Isaac
* issues/add-links-to-filter-documents-by-type.gmi: New file.
2022-07-08issues: Request indexing commit messages.Arun Isaac
* issues/index-commit-messages.gmi: New file.
2022-07-08issues: Request GitHub-like milestones.Arun Isaac
* issues/github-like-milestones.gmi: New file.
2022-07-08issues: Request Emacs interface.Arun Isaac
* issues/emacs-interface.gmi: New file.
2022-07-07issues: Request internationalization.Arun Isaac
* issues/internationalization.gmi: New file.
2022-07-07issues: Request pagination of search results in the web UI.Arun Isaac
* issues/paginate-search-results.gmi: New file.
2022-07-07issue: Parse known keys in list lines even if they are long.Arun Isaac
We drop the restriction that values in key-value pairs should be 2 words or less. Instead, if the key is a known key such as "keywords:", "tags:" or "status:", we always accept it as a key. * tissue/issue.scm (file-details): Parse known keys in list lines even if they are long. * tests/issue.scm ("Parse keywords even if they are long"): New test.
2022-07-07tests: Add tests.Arun Isaac
* Makefile (GUILE, tests): New variables. (check): Run tests. * tests/issue.scm: New file.
2022-07-07issue: Comment on list-line->alist cond ladder.Arun Isaac
* tissue/issue.scm (list-line->alist): Comment on cond ladder.
2022-07-07issue: Rename hashtable-append! to hashtable-prepend!.Arun Isaac
Even hashtable-append! was prepending, not appending. We change its name to suit. * tissue/issue.scm (hashtable-append!): Rename to hashtable-prepend!. (file-details): Call hashtable-prepend! instead of hashtable-append!.
2022-07-06website: Add home page.Arun Isaac
* website/index.skb: New file. * tissue.scm (#:web-files): Add index.html.
2022-07-06bin: Print out filenames when building website.Arun Isaac
* bin/tissue (pull): Print out filenames when building website.
2022-07-06bin: Allow everyone to read built website.Arun Isaac
* bin/tissue (pull): Allow everyone to read built website.
2022-07-06bin: Look for a default config file.Arun Isaac
* bin/tissue (%default-config-file): New variable. (default-configuration): Read default config file if it exists.
2022-07-05tissue.scm: Export issue files to HTML.Arun Isaac
* tissue.scm (#:web-files): Export issue files to HTML.
2022-07-05tissue: Deprecate tag listings configuration.Arun Isaac
* tissue/tissue.scm (<tissue-configuration>)[web-tags-path]: Delete field. * tissue/tissue.scm (tissue-configuration): Remove web-tags-path argument. * tissue/web/static.scm (build-website): Remove tags-path documentation in docstring.
2022-07-05tissue: Delay default value of #:web-files.Arun Isaac
* tissue/tissue.scm (tissue-configuration): Delay default value of #:web-files.
2022-07-05bin: Refer to %xapian-index, not db-path, in main function.Arun Isaac
This bug was introduced in ec434ea0710e9ece9f5239c7fe2b1f965a53bea1 when copy-pasting code. * bin/tissue (main): Refer to %xapian-index, not db-path.
2022-07-05issues: Request inline image rendering feature.Arun Isaac
* issues/render-images-in-web-output.gmi: New file.
2022-07-05tissue.scm: Add tissue.scm.Arun Isaac
We finally start dogfooding. * tissue.scm: New file. * .gitignore: Add .tissue.
2022-07-05bin: Guard main function against all git errors.Arun Isaac
* bin/tissue (main): Guard against git errors printing the error message instead of a backtrace.
2022-07-05git: Add condition-git-error utility.Arun Isaac
* tissue/git.scm: Import (rnrs conditions) and (srfi srfi-1). (condition-git-error): New public function. * bin/tissue (default-configuration): Use condition-git-error.
2022-07-05bin: Do not error out when current repository is not found.Arun Isaac
* bin/tissue: Import (rnrs conditions). (default-configuration): Do not error out when current repository is not found.
2022-07-05web: server: Serve static files too.Arun Isaac
* tissue/web/server.scm: Import (srfi srfi-171) and (ice-9 filesystem). (%mime-types): New variable. (handler): Serve static files too.
2022-07-05web: server: Error out on unknown host.Arun Isaac
* tissue/web/server.scm: Import (rnrs conditions) and (rnrs exceptions). (handler): Error out on unknown host.
2022-07-05bin: Centralize `tissue pull' and `tissue run-web' configuration.Arun Isaac
* bin/tissue (default-configuration): New function. (tissue-pull, tissue-run-web): Use default-configuration.
2022-07-05bin: Set css host parameter by parameterizing the current repo.Arun Isaac
* bin/tissue (tissue-run-web): Set css host parameter by parameterizing the current git repository.
2022-07-05bin: Pass configuration file to `tissue run-web' as an option.Arun Isaac
* bin/tissue (tissue-run-web): Accept configuration file as a command-line option. (unrecognized-argument): New function.
2022-07-05web: server: Pass state directory to web server.Arun Isaac
* tissue/web/server.scm: Import (git) and (tissue git). (handler, start-web-server): Accept path to state directory instead of to the xapian index. * bin/tissue (tissue-run-web): Pass state directory to start-web-server.
2022-07-05bin: Move stale index checks to main function.Arun Isaac
We want `tissue pull' to unconditionally rebuild the index. Hence, we move stale index checks out of the index function. * bin/tissue (index): Do not check if index is stale. Always rebuild index. (main): Call the index function only when index is stale.
2022-07-04bin: Add `tissue pull' subcommand.Arun Isaac
* bin/tissue (print-usage): List pull subcommand. (pull, tissue-pull): New functions. (main): Call tissue-pull.
2022-07-04git: Bind git_reference_set_target from libgit2.Arun Isaac
* tissue/git.scm: Import dereference-pointer and string->pointer from (system foreign). (reference-set-target!): New public function.
2022-07-04git: Bind git_reference_symbolic_target from libgit2.Arun Isaac
* tissue/git.scm: Import pointer->string from (system foreign). (reference-symbolic-target): New public function.
2022-07-04utils: Add call-with-temporary-directory utility.Arun Isaac
* tissue/utils.scm: Import (ice-9 filesystem). (call-with-temporary-directory): New function.
2022-07-04web: static: When building website, accept port to log to.Arun Isaac
* tissue/web/static.scm (build-website): Accept log-port argument specifying port to log to.
2022-07-04web: static: Deprecate mkdir-p in favor of guile-filesystem.Arun Isaac
* tissue/web/static.scm: Import (ice-9 filesystem). (mkdir-p): Delete function. (build-website): Use make-directories instead of mkdir-p. Remove TODO note about using guile-filesystem.