summaryrefslogtreecommitdiff
path: root/bin
AgeCommit message (Collapse)Author
2022-06-27web: Move (tissue web) to (tissue web static).Arun Isaac
* tissue/web.scm: Rename to tissue/web/static.scm. * bin/tissue: Import (tissue web static) instead of (tissue web). * Makefile (sources): Add sources in tissue/web/.
2022-06-27issue: Move issue printing functions to (tissue issue).Arun Isaac
* bin/tissue: Do not import (srfi srfi-19). (print-issue, print-issue-to-gemtext): Move to tissue/issue.scm. (human-date-string): Move to tissue/utils.scm. * tissue/issue.scm: Import (term ansi-color). * tissue/utils.scm: Import (srfi srfi-19).
2022-06-27issue: Replace issues thunk with read-gemtext-issue reader.Arun Isaac
* tissue/issue.scm (%issue-files): Delete parameter. (issues): Delete function. (read-gemtext-issue): New public function. (file-modification-table-for-current-repository): New function. * bin/tissue (main): Do not parameterize %issue-files.
2022-06-27tissue: Generalize issue-files to indexed-documents.Arun Isaac
* tissue/tissue.scm (<tissue-configuration>)[issue-files]: Delete field. [indexed-documents]: New field. * tissue/tissue.scm (tissue-configuration): Remove issue-files argument. Add indexed-documents argument. * bin/tissue: Import (tissue document) with doc: prefix. (print-document, alist->document, document->text, index-document): New functions. (tissue-search): Display search results for generalized documents using print-document, alist->document and document->text. (main): Index generalized documents using index-document.
2022-06-27bin: Deprecate rlast utility.Arun Isaac
* bin/tissue (rlast): Delete function.
2022-06-27bin: Deprecate invoke utility.Arun Isaac
* bin/tissue (invoke): Delete function.
2022-06-27bin: Add <indexed-document> type.Arun Isaac
* bin/tissue: Import (srfi srfi-9). (<indexed-document>): New type.
2022-06-27web: Deprecate all static issue listings.Arun Isaac
We are moving to a dynamic web interface with issue searches. Static issue listings are therefore obsolete. * tissue/web.scm: Do not import (skribilo ast), (skribilo lib), (skribilo package base), (skribilo utils keywords), (skribilo writer) and (sxml simple). (%tags-path): Delete parameter. (issue-list-item): Delete markup. (issue-listing, issue-list-item-markup-writer-action, tag-issue-lister, tag-pages): Delete functions. * bin/tissue (tissue-web): Do not parameterize %tags-path.
2022-06-27bin: Assume is:open in queries.Arun Isaac
* bin/tissue (tissue-search): Assume is:open in queries.
2022-06-26bin: Parse type field searches in queries.Arun Isaac
* bin/tissue (tissue-search): Parse type field searches in queries.
2022-06-26bin: Deprecate `tissue list' subcommand.Arun Isaac
* bin/tissue (tissue-list): Delete function. (print-usage): Unlist list subcommand. (main): Do not call tissue-list. Alias `tissue' to `tissue search'.
2022-06-26bin: Remove obsolete comment about highlighting keywords.Arun Isaac
* bin/tissue (print-issue): Remove obsolete comment about highlighting keywords.
2022-06-25bin: Handle blank search queries as a special case.Arun Isaac
* bin/tissue (tissue-search): Handle blank search queries as a special case.
2022-06-25bin: Unbolden issue keywords and show them all on blue.Arun Isaac
Bold issue keywords are too visually distracting. They compete with highlit text in snippets. * bin/tissue (print-issue): Unbolden issue keywords and show them all on blue, instead of some on red and some on blue.
2022-06-25bin: Add search subcommand.Arun Isaac
* bin/tissue (tissue-show): New function. (print-usage): List search subcommand. (main): Call tissue-search.
2022-06-25bin: Index issues using xapian.Arun Isaac
* bin/tissue: Import (ice-9 ftw), (git), (xapian wrap) and (xapian xapian). (delete-xapian-index): New function. (%state-directory, %xapian-index): New variables. (main): Build index if it does not exist. * tissue/issue.scm: Import (xapian xapian). (index-person): New function. (index-issue): New public function.
2022-06-25bin: Print issue filename.Arun Isaac
* bin/tissue (print-issue): Print issue filename. (tissue-list): Remove newline before printing total count.
2022-06-25bin: Do not print issue number.Arun Isaac
* bin/tissue (print-issue, print-issue-to-gemtext): Do not accept issue number argument. (tissue-list): Do not pass issue number argument to print-issue and print-issue-to-gemtext.
2022-06-25bin: Underline issue title when printing.Arun Isaac
* bin/tissue (print-issue): Underline issue title.
2022-06-25bin: Deprecate `tissue edit' subcommand.Arun Isaac
* bin/tissue (tissue-edit): Delete function. (print-usage): Unlist edit subcommand. (main): Do not call tissue-edit.
2022-06-25bin: Expect filename arguments to `tissue show'.Arun Isaac
* bin/tissue (tissue-show): Expect filename arguments instead of issue numbers.
2022-06-25bin: Use (term ansi-color) instead of rolling our own.Arun Isaac
* bin/tissue: Import (term ansi-color). (color, bold, red, green, yellow, blue, magenta, cyan, red-background, green-background, yellow-background, blue-background, magenta-background, cyan-background): Delete functions. (print-issue, tissue-show): Use colorize-string from (term ansi-color) instead of our own functions.
2022-06-23bin: Wean off git's relative dates.Arun Isaac
* bin/tissue: Import (srfi srfi-19). (human-date-string): New function. (print-issue, print-issue-to-gemtext): Use human-date-string instead of relative dates captured from git.
2022-06-22bin: Deprecate tissue news subcommand.Arun Isaac
* bin/tissue (git-updated-files, git-first-commit-since, tissue-news): Delete functions. * bin/tissue (main): Remove delegation to news subcommand. * bin/tissue (print-usage): Unlist tissue-news.
2022-06-22bin: Run with the top-level directory as the current directory.Arun Isaac
If we always run with the top-level directory as the current directory, we don't need to frequently discover the top-level directory by walking the filesystem. Also, this sits nicer with a migration from git to libgit2. * bin/tissue (main): Run all subcommands with the top-level directory as the current directory. (load-config): Load tissue.scm without appending the top-level directory to it. (tissue-web): Find the top-level directory using getcwd instead of git-top-level.
2022-04-22bin: Add tissue repl subcommand.Arun Isaac
* bin/tissue (tissue-repl): New function. (print-usage): Print usage of tissue repl subcommand. (main): Call tissue-repl.
2022-04-14tissue: Add #:issue-files configuration parameter.Arun Isaac
* tissue/tissue.scm: Import (tissue git). (<tissue-configuration>)[issue-files]: New field. (gemtext-files-in-directory): New function. (tissue-configuration): Add #:issue-files keyword argument. * tissue/issue.scm (%issue-files): New public parameter. (issues): Read issues only from files in %issue-files. * bin/tissue (main): Parameterize %issue-files.
2022-04-09scripts: Do not auto-compile the tissue script.Arun Isaac
* scripts/ccwl: Add --no-auto-compile to shebang.
2022-04-06web: Introduce <file> objects for web export.Arun Isaac
With <file> objects specifying the files to export to the web, the user has ultimate flexibility in their choice of what to export and how to export. * bin/tissue (tissue-web): Parameterize %project-name and %tags-path. Use new signature of build-website. * tissue/tissue.scm: Import (srfi srfi-1) and (srfi srfi-71). (<tissue-configuration>)[web-files]: New field. (tissue-configuration-web-files): New public function. (tissue-configuration): New macro. * tissue/web.scm: Import (srfi srfi-9). (%project-name): New public parameter. (<file>): New type. (build-issue-listing): Delete function. (copier, gemtext-reader, gemtext-exporter, skribe-exporter, tag-issue-lister, tag-pages): New public functions. (exporter, with-current-directory): New functions. (build-website): Simply write <file> objects to files. (replace-extension): Export.
2022-04-05git: Abstract out git-top-level.Arun Isaac
* tissue/git.scm (git-top-level): New function. * bin/tissue: Import (tissue git). (load-config): Use git-top-level.
2022-03-23bin: Pass the tissue -> `tissue list' alias through main again.Arun Isaac
Pass the tissue -> `tissue list' alias through main again so that parameters and other setup is done correctly. * bin/tissue (main): Pass the tissue -> `tissue list' alias through main again.
2022-03-18issue: Resolve authors and assignees using aliases.Arun Isaac
* bin/tissue (main): Load config and parameterize %aliases. * tissue/issue.scm (%aliases): New public parameter. (resolve-alias): New function. (file-details): Resolve authors and assignees using aliases.
2022-03-18bin: Abstract out the loading of the configuration file.Arun Isaac
* bin/tissue (load-config): New function. (tissue-web): Use load-config.
2022-03-18issue: Record all commits affecting a file, not just how many.Arun Isaac
* tissue/issue.scm (<post>): New record type. (file-details): Record all commits affecting a file, not just how many. * bin/tissue (print-issue, print-issue-to-gemtext): Apply length on the output of issue-posts before use. * tissue/web.scm (issue-list-item-markup-writer-action): Apply length on posts before use.
2022-03-18issue: Rename issue-open to issue-open?.Arun Isaac
issue-open returns a boolean. So, it makes sense to name it like a predicate. * bin/tissue (tissue-list): Replace issue-open with issue-open?. * tissue/issue.scm (tissue): Export issue-open? instead of issue-open. (<issue>): Rename issue-open to issue-open?. * tissue/web.scm (issue-listing): Replace issue-open with issue-open?.
2022-03-15bin: Add `tissue web' subcommand.Arun Isaac
* bin/tissue: Import (tissue tissue) and (tissue web). (tissue-web): New function. (print-usage): Document web subcommand. (main): Hook up web subcommand.
2022-03-15tissue: Use more specific &issue-file-not-found-error.Arun Isaac
* bin/tissue: Do not import (rnrs conditions). Import (tissue conditions). (tissue-edit, tissue-show): Raise &issue-file-not-found-error instead of &message-condition. (print-usage): Handle &issue-file-not-found-error instead of &message-condition. * tissue/web.scm: Do not import (rnrs exceptions). Import (tissue conditions). (build-website): Raise &issue-file-not-found-error instead of &message-condition.
2022-03-15bin: Use raise instead of raise-exception.Arun Isaac
raise is from the (rnrs exceptions) standard. * bin/tissue (tissue-edit, tissue-show): Use raise instead of raise-exception.
2022-03-14bin: Handle message conditions.Arun Isaac
* bin/tissue: Import (rnrs exceptions). (main): Handle message conditions by printing them and exiting with failure.
2022-03-14bin: Raise exception on missing file.Arun Isaac
* bin/tissue: Import (rnrs conditions). (tissue-edit, tissue-show): Raise exception on missing file.
2022-03-13bin: Remove (ice-9 ftw) import.Arun Isaac
(ice-9 ftw) is no longer used. * bin/tissue: Do not remove (ice-9 ftw).
2022-03-13tissue: Reorganize code into scheme modules.Arun Isaac
* bin/tissue: Do not import (rnrs hashtables) and (srfi srfi-9). Import (tissue issue) and (tissue utils). (<issue>, issues, hashtable-append!, comma-split, remove-prefix, file-details): Move to tissue/issue.scm. (call-with-input-pipe, get-line-dos-or-unix): Move to tissue/utils.scm. * tissue/issue.scm, tissue/utils.scm: New files.
2022-02-05Initial commitArun Isaac