summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2022-07-04bin: Deprecate delete-directory in favor of guile-filesystem.Arun Isaac
* bin/tissue: Import (ice-9 filesystem). (delete-directory): Delete function. (index): Use delete-file-recursively instead of delete-directory.
2022-07-04git: Add %current-git-repository parameter.Arun Isaac
* tissue/git.scm (%current-git-repository): New public parameter. (current-git-repository): Use %current-git-repository.
2022-07-04git: Implement git-top-level in terms of current-git-repository.Arun Isaac
* tissue/git.scm (git-top-level): Implement git-top-level in terms of current-git-repository.
2022-07-04git: Implement current-git-repository using repository-open-ext.Arun Isaac
repository-open-ext obsoletes git-top-level. * tissue/git.scm (current-git-repository): Implement using repository-open-ext instead of git-top-level.
2022-07-04git: Add clone-options utility.Arun Isaac
* tissue/git.scm: Import (bytestructures guile). (clone-options): New function.
2022-07-04bin: Separate out indexing into new function.Arun Isaac
* bin/tissue (index): New function. (main): Use index.
2022-07-04bin: Generalize delete-xapian-index to delete-directory.Arun Isaac
* bin/tissue (delete-xapian-index): Generalize to delete-directory. (main): Use delete-directory instead of delete-xapian-index.
2022-07-04bin: Unmemoize load-config.Arun Isaac
Memoizing load-config is untenable when dealing with multiple repositories in a single command invocation. * bin/tissue (load-config): Unmemoize. (tissue-web, main): Call load-config only once.
2022-07-03git: Fill git-top-level docstring.Arun Isaac
* tissue/git.scm (git-top-level): Fill docstring.
2022-07-03bin: Correctly support REPL listening on TCP socket.Arun Isaac
Prior to this, the REPL would listen on a Unix socket even if a TCP socket was requested. * bin/tissue (tissue-run-web): Correctly support REPL listening on TCP socket.
2022-07-03bin: Print Unix socket path, not port, for REPL listening on it.Arun Isaac
* bin/tissue (tissue-run-web): Print Unix socket path, not port, for REPL listening on it.
2022-07-03issue: Use string-remove-prefix from (tissue utils).Arun Isaac
* tissue/issue.scm (list-line->alist, file-details): Use string-remove-prefix from (tissue utils). (file-details): Delete function.
2022-07-03conditions: Deprecate &issue-file-not-found-error.Arun Isaac
The &issue-file-not-found-error cannot occur anymore now that we are reading files directly from the git repository and not from the working tree. * tissue/conditions.scm: Delete file. * bin/tissue, tissue/web/server.scm, tissue/web/static.scm: Do not import (tissue conditions). * bin/tissue (main): Do not guard against &issue-file-not-found-error conditions.
2022-07-03tissue: Read files from git repository, not from the working tree.Arun Isaac
This also frees us from checking if the file actually exists in the working tree. * bin/tissue (tissue-show): Use call-with-file-in-git instead of call-with-input-file. (load-config): Use call-with-file-in-git and eval-string instead of load. * tissue/document.scm: Import (tissue git). (document-text, read-gemtext-document): Use call-with-file-in-git instead of call-with-input-file. * tissue/issue.scm (file-details): Read from a port instead of from a file. (read-gemtext-issue): Call file-details with a port reading the file committed into the git repository. * tissue/web/server.scm: Import (tissue git). * tissue/web/static.scm (exporter): Use call-with-file-in-git instead of call-with-input-file.
2022-07-03git: Add call-with-file-in-git utility.Arun Isaac
* tissue/git.scm (call-with-file-in-git): New public function.