Age | Commit message (Expand) | Author |
2023-06-06 | bin: 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-06 | bin: 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-05-30 | bin: 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-30 | Add 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-30 | bin: 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-01-29 | bin: 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-29 | bin: 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-29 | bin: Allow pulling only one host in each invocation.•••* bin/tissue (tissue-pull): Allow pulling only one host in each
invocation.
| Arun Isaac |
2023-01-29 | bin: Show options placeholder in tissue-pull subcommand usage.•••* bin/tissue (tissue-pull): Show options placeholder in subcommand
usage.
| Arun Isaac |
2023-01-29 | git: 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-29 | bin: 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-29 | web: 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-29 | bin: 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-28 | bin: 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-28 | bin: Use call-with-temporary-checkout when pulling.•••* bin/tissue (pull): Use call-with-temporary-checkout.
| Arun Isaac |
2023-01-23 | bin: Add repository top level directory to load path.•••* bin/tissue (main, pull): Add top level directory of repository to
load path.
| Arun Isaac |
2023-01-23 | bin: Create xapian directory only when it does not exist.•••* bin/tissue (pull): Create xapian directory only when it does not
exist.
| Arun Isaac |
2023-01-23 | bin: Change to temporary clone before indexing.•••Indexing might refer to files on the filesystem.
* bin/tissue (pull): Change to temporary clone of repository before
indexing.
| Arun Isaac |
2023-01-23 | web: Change to temporary clone before building website.•••* tissue/web/static.scm (build-website): Expect to be at the top level
of the repository to be exported.
* bin/tissue (pull): Create a temporary clone of the repository and
change to it before calling build-website.
| Arun Isaac |
2022-12-25 | bin: Replace define* with define.•••* bin/tissue (load-config): Define using define instead of define*.
| Arun Isaac |
2022-12-25 | tissue: Deprecate #:project configuration parameter.•••The project name is not used anywhere now. If it is required, it
should be passed through the lexical context of closures in the tissue
configuration object.
* tissue/tissue.scm (<tissue-configuration>)[project]: Delete field.
(tissue-configuration-project): Delete function.
(tissue-configuration): Remove project argument.
* tissue.scm (tissue-configuration)[#:project]: Delete parameter.
* tissue/web/static.scm (%project-name): Delete parameter.
* bin/tissue (pull): Do not parameterize %project-name.
| Arun Isaac |
2022-12-25 | web: static: Introduce functional html engine customizer.•••* tissue/web/static.scm (engine-custom-set): New function.
(html-engine): New public function.
(gemtext-exporter, skribe-exporter): Use html-engine in default value
of engine.
| Arun Isaac |
2022-12-25 | web: dev: Accept thunk to read project configuration.•••To the development server, pass a thunk to read project configuration
instead of the project configuration itself. This allows us to hack on
the project's tissue.scm without having to restart the development
server to see changes.
* bin/tissue (tissue-web-dev): Pass thunk to read project
configuration instead of the project configuration itself.
* tissue/web/dev.scm (handler, start-dev-web-server): Accept thunk to
read project configuration instead of the project configuration
itself.
| Arun Isaac |
2022-12-24 | bin: Pass along entire project configuration object to servers.•••Themes should be free to access the entirety of the project
configuration. It is impossible to predict which parts of the project
configuration they will need.
* bin/tissue (tissue-web, tissue-web-dev): Pass entire configuration
object to start-web-server and start-dev-web-server respectively.
* tissue/web/dev.scm: Import (tissue tissue).
(handler, start-dev-web-server): Accept entire configuration object.
* tissue/web/server.scm: Import (tissue tissue).
(search-handler, start-web-server): Accept entire configuration
object.
| Arun Isaac |
2022-12-24 | bin: Expose new development web server.•••* bin/tissue: Import (tissue web dev).
(tissue-web-dev): Run the new development web server.
(main): Remove web-build command.
(print-usage): Delist deprecated web-build command. Update synopsis of
web-dev command.
(tissue-web-build): Delete function.
| Arun Isaac |
2022-09-19 | bin: Print error message and exit on user-error conditions.•••This allows us to report fatal user errors and exit.
* bin/tissue (main): Print error message and exit on user-error
conditions.
| Arun Isaac |
2022-09-19 | bin: Error out if web-dev subcommand is not given a website directory.•••* bin/tissue (tissue-web-dev): Raise user error if not given a
website-directory command-line argument.
| Arun Isaac |
2022-09-19 | bin: Define &user-error-condition.•••* bin/tissue (&user-error-condition): New condition type.
| Arun Isaac |
2022-09-19 | bin: Separate development and deployment subcommands in listing.•••* bin/tissue (print-usage): Separate development and deployment
subcommands in listing.
| Arun Isaac |
2022-09-19 | bin: 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-19 | bin: 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-23 | bin: 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-23 | bin: 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-21 | bin: 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-21 | web: 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-20 | bin: 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-13 | document: 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-09 | commit: 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-09 | bin: 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-09 | issue: 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-09 | bin: 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-09 | bin: 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-09 | bin: 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-06 | bin: Print out filenames when building website.•••* bin/tissue (pull): Print out filenames when building website.
| Arun Isaac |
2022-07-06 | bin: Allow everyone to read built website.•••* bin/tissue (pull): Allow everyone to read built website.
| Arun Isaac |
2022-07-06 | bin: 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-05 | bin: 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-05 | bin: 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-05 | git: 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-05 | bin: 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 |