summaryrefslogtreecommitdiff
path: root/bin
AgeCommit message (Expand)Author
2022-09-19bin: Define &user-error-condition.•••* bin/tissue (&user-error-condition): New condition type. Arun Isaac
2022-09-19bin: Separate development and deployment subcommands in listing.•••* bin/tissue (print-usage): Separate development and deployment subcommands in listing. Arun Isaac
2022-09-19bin: Clarify that web-dev serves both built website and issues.•••* bin/tissue (tissue-web-dev, print-usage): Clarify in the usage summary that web-dev serves both the built website and the issues. Arun Isaac
2022-09-19bin: Deprecate tissue index subcommand.•••The index is built on all tissue subcommands. There is no need for a separate subcommand to build the index. Having a separate subcommand only complicates the command-line interface and confuses the user. * bin/tissue (tissue-index): Delete function. (print-usage): Unlist index subcommand. (main): Do not call tissue-index. Arun Isaac
2022-07-23bin: Add tissue web-dev subcommand.•••* bin/tissue (tissue-web-dev): New function. (print-usage): List the tissue web-dev subcommand. (main): Call tissue-web-dev. Arun Isaac
2022-07-23bin: Abstract out REPL listen code.•••* bin/tissue (start-repl): New function. (listen-repl-option): New variable. (tissue-web): Use listen-repl-option. Call start-repl. Arun Isaac
2022-07-21bin: Add tissue web-build subcommand.•••* bin/tissue (tissue-web-build): New function. * bin/tissue (print-usage): List web-build subcommand. (main): Invoke tissue-web-build. Arun Isaac
2022-07-21web: server: Be unaware of the state directory.•••The server should be unaware of the specifics of the state directory and its directory structure. It should be explicitly passed paths to all necessary directories. This way, the server can be repurposed for other applications such as the development web server---something that is coming soon in the subsequent commits. * tissue/web/server.scm (handler): Remove state-directory argument. Use directory paths in hosts argument. (start-web-server): Remove state-directory argument. Do not pass on state-directory to handler. * bin/tissue (tissue-web): Pass directory paths explicitly to start-web-server in hosts argument. Do not pass the removed state-directory argument. Arun Isaac
2022-07-20bin: Do not print canonical paths when pulling.•••`tissue pull' may be run in CI with the logs getting published. It is better to not expose the canonical paths in such public logs. * bin/tissue (pull): Do not print canonical paths. Arun Isaac
2022-07-13document: Move <file-document> code to a new (tissue file-document).•••* tissue/document.scm: Do not import (srfi srfi-171). (<file-document>, document-type, document-id-term, document-text, document-term-generator, print, document->sxml, read-gemtext-document): Move to (tissue file-document). (document-id-term, document-text, print, document->sxml): Declare as generic functions. * tissue/file-document.scm: New file. * tissue/issue.scm, bin/tissue: Import (tissue file-document). Arun Isaac
2022-07-09commit: Index commit messages too.•••* tissue/commit.scm: New file. * tissue/web/server.scm (%css)[.search-result-commit]: Add COMMIT marker. * bin/tissue: Import (tissue commit). * tissue.scm (#:indexed-documents): Add commits. * issues/index-commit-messages.gmi: Close issue. Arun Isaac
2022-07-09bin: Move indexing document type into document-term-generator.•••* bin/tissue (index): Move indexing document type into document-term-generator generic function. * tissue/document.scm (document-term-generator): Index document type. Arun Isaac
2022-07-09issue: Move person related functions to (tissue person).•••* bin/tissue: Import (tissue person). * tissue/issue.scm: Import (tissue person). (%aliases, resolve-alias, index-person!): Move to (tissue person). * tissue/person.scm: New file. Arun Isaac
2022-07-09bin: Rename run-web subcommand to web.•••* bin/tissue (tissue-run-web): Rename to tissue-web, and update synopsis in usage summary. (print-usage, main): Rename run-web to web. Arun Isaac
2022-07-09bin: Deprecate tissue web subcommand.•••* bin/tissue (tissue-web): Delete function. (print-usage): Unlist web subcommand. (main): Do not call tissue-web. Arun Isaac
2022-07-09bin: Make indexed documents a list of document objects.•••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. Arun Isaac
2022-07-06bin: Print out filenames when building website.•••* bin/tissue (pull): Print out filenames when building website. Arun Isaac
2022-07-06bin: Allow everyone to read built website.•••* bin/tissue (pull): Allow everyone to read built website. Arun Isaac
2022-07-06bin: Look for a default config file.•••* bin/tissue (%default-config-file): New variable. (default-configuration): Read default config file if it exists. Arun Isaac
2022-07-05bin: Refer to %xapian-index, not db-path, in main function.•••This bug was introduced in ec434ea0710e9ece9f5239c7fe2b1f965a53bea1 when copy-pasting code. * bin/tissue (main): Refer to %xapian-index, not db-path. Arun Isaac
2022-07-05bin: Guard main function against all git errors.•••* bin/tissue (main): Guard against git errors printing the error message instead of a backtrace. Arun Isaac
2022-07-05git: Add condition-git-error utility.•••* tissue/git.scm: Import (rnrs conditions) and (srfi srfi-1). (condition-git-error): New public function. * bin/tissue (default-configuration): Use condition-git-error. Arun Isaac
2022-07-05bin: Do not error out when current repository is not found.•••* bin/tissue: Import (rnrs conditions). (default-configuration): Do not error out when current repository is not found. Arun Isaac
2022-07-05bin: Centralize `tissue pull' and `tissue run-web' configuration.•••* bin/tissue (default-configuration): New function. (tissue-pull, tissue-run-web): Use default-configuration. Arun Isaac
2022-07-05bin: Set css host parameter by parameterizing the current repo.•••* bin/tissue (tissue-run-web): Set css host parameter by parameterizing the current git repository. Arun Isaac
2022-07-05bin: Pass configuration file to `tissue run-web' as an option.•••* bin/tissue (tissue-run-web): Accept configuration file as a command-line option. (unrecognized-argument): New function. Arun Isaac
2022-07-05web: server: Pass state directory to web server.•••* 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. Arun Isaac
2022-07-05bin: Move stale index checks to main function.•••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. Arun Isaac
2022-07-04bin: Add `tissue pull' subcommand.•••* bin/tissue (print-usage): List pull subcommand. (pull, tissue-pull): New functions. (main): Call tissue-pull. Arun Isaac
2022-07-04bin: Deprecate delete-directory in favor of guile-filesystem.•••* bin/tissue: Import (ice-9 filesystem). (delete-directory): Delete function. (index): Use delete-file-recursively instead of delete-directory. Arun Isaac
2022-07-04bin: Separate out indexing into new function.•••* bin/tissue (index): New function. (main): Use index. Arun Isaac
2022-07-04bin: Generalize delete-xapian-index to delete-directory.•••* bin/tissue (delete-xapian-index): Generalize to delete-directory. (main): Use delete-directory instead of delete-xapian-index. Arun Isaac
2022-07-04bin: Unmemoize load-config.•••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. Arun Isaac
2022-07-03bin: Correctly support REPL listening on TCP socket.•••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. Arun Isaac
2022-07-03bin: Print Unix socket path, not port, for REPL listening on it.•••* bin/tissue (tissue-run-web): Print Unix socket path, not port, for REPL listening on it. Arun Isaac
2022-07-03conditions: Deprecate &issue-file-not-found-error.•••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. Arun Isaac
2022-07-03tissue: Read files from git repository, not from the working tree.•••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. Arun Isaac
2022-07-01web: server: Make CSS a host-specific parameter.•••* bin/tissue (tissue-run-web): Pass CSS as a host-specific parameter. * tissue/web/server.scm (handler): Remove css argument. Accept CSS as a host-specific parameter. (start-web-server): Remove css argument. Arun Isaac
2022-07-01bin: Do not build index or parameterize for `tissue run-web'.•••* bin/tissue (main): Do not build index or parameterize for `tissue run-web'. Arun Isaac
2022-06-30web: server: Support virtual hosts.•••* bin/tissue (tissue-run-web): Add hosts configuration option. * tissue/web/server.scm: Import (tissue utils). (start-web-server): Add host parameters argument. (handler): Read database based on Host header. Arun Isaac
2022-06-30bin: Introduce listen specification for web service.•••The new listen specification unifies unix sockets, IP addresses and ports, all into one string. * bin/tissue (address->socket-address): Delete function. (listen->socket-address): New function. (tissue-run-web): Use listen->socket-address instead of address->socket-address. Specify default listen instead of default address and port. Arun Isaac
2022-06-30bin: Read web service parameters from configuration file.•••* bin/tissue (invalid-operand): Delete function. (tissue-run-web): Read address and port from configuration file. Arun Isaac
2022-06-29search: Return all results by default.•••* tissue/search.scm (search-fold, search-map): Set default value of #:maximum-items argument to all documents. * bin/tissue (tissue-search): Do not pass #:maximum-items to search-map. Arun Isaac
2022-06-29bin: Page search results, and do not limit number of results.•••* bin/tissue (tissue-search): Page results, and do not limit number of results. Arun Isaac
2022-06-29tissue: Add `tissue index' subcommand.•••* bin/tissue (tissue-index): New function. (print-usage): List `tissue index' subcommand. (main): Call tissue-index. Arun Isaac
2022-06-29search: Limit number of search results.•••* tissue/search.scm (search-fold, search-map): Accept maximum number of search results and offset as arguments. * bin/tissue (tissue-search): Do not print number of search results. Use search-map instead of search-fold. Arun Isaac
2022-06-29search: Accept search query as a single string.•••* tissue/search.scm (search-fold, search-map): Accept search query as a single string instead of a list of strings. * bin/tissue (tissue-search): Pass a single search string to search-fold. * tissue/web/server.scm (handler): Pass a single search string to search-map. Arun Isaac
2022-06-29web: server: Add web server for search.•••* tissue/web/server.scm: New file. * tissue/document.scm (document-sxml-snippet): New public function. (document->sxml): New generic method. * tissue/issue.scm: Import (web uri). (document->sxml): New generic method. * bin/tissue: Import (system repl server) and (tissue web server). (address->socket-address, tissue-run-web): New function. (print-usage): List `tissue run-web' subcommand. (main): Call tissue-run-web. Arun Isaac
2022-06-29document: Add web-uri slot to <document> class.•••* tissue/document.scm (<document>)[web-uri]: New slot. * bin/tissue (main): Set web-uri slot before indexing document. Arun Isaac
2022-06-28tissue: Add missing argument to format in tissue-search.•••* bin/tissue (tissue-search): Add missing argument to format. Arun Isaac