Age | Commit message (Collapse) | Author |
|
* 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.
|
|
* bin/tissue (load-config): Define using define instead of define*.
|
|
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.
|
|
* 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.
|
|
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.
|
|
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.
|
|
* 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.
|
|
This allows us to report fatal user errors and exit.
* bin/tissue (main): Print error message and exit on user-error
conditions.
|
|
* bin/tissue (tissue-web-dev): Raise user error if not given a
website-directory command-line argument.
|
|
* bin/tissue (&user-error-condition): New condition type.
|
|
* bin/tissue (print-usage): Separate development and deployment
subcommands in listing.
|
|
* bin/tissue (tissue-web-dev, print-usage): Clarify in the usage
summary that web-dev serves both the built website and the issues.
|
|
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.
|
|
* bin/tissue (tissue-web-dev): New function.
(print-usage): List the tissue web-dev subcommand.
(main): Call tissue-web-dev.
|
|
* bin/tissue (start-repl): New function.
(listen-repl-option): New variable.
(tissue-web): Use listen-repl-option. Call start-repl.
|
|
* bin/tissue (tissue-web-build): New function.
* bin/tissue (print-usage): List web-build subcommand.
(main): Invoke tissue-web-build.
|
|
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.
|
|
`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.
|
|
* 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).
|
|
* 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.
|
|
* bin/tissue (index): Move indexing document type into
document-term-generator generic function.
* tissue/document.scm (document-term-generator): Index document type.
|
|
* 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.
|
|
* bin/tissue (tissue-run-web): Rename to tissue-web, and update
synopsis in usage summary.
(print-usage, main): Rename run-web to web.
|
|
* bin/tissue (tissue-web): Delete function.
(print-usage): Unlist web subcommand.
(main): Do not call tissue-web.
|
|
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.
|
|
* bin/tissue (pull): Print out filenames when building website.
|
|
* bin/tissue (pull): Allow everyone to read built website.
|
|
* bin/tissue (%default-config-file): New variable.
(default-configuration): Read default config file if it exists.
|
|
This bug was introduced in ec434ea0710e9ece9f5239c7fe2b1f965a53bea1
when copy-pasting code.
* bin/tissue (main): Refer to %xapian-index, not db-path.
|
|
* bin/tissue (main): Guard against git errors printing the error
message instead of a backtrace.
|
|
* tissue/git.scm: Import (rnrs conditions) and (srfi srfi-1).
(condition-git-error): New public function.
* bin/tissue (default-configuration): Use condition-git-error.
|
|
* bin/tissue: Import (rnrs conditions).
(default-configuration): Do not error out when current repository is
not found.
|
|
* bin/tissue (default-configuration): New function.
(tissue-pull, tissue-run-web): Use default-configuration.
|
|
* bin/tissue (tissue-run-web): Set css host parameter by
parameterizing the current git repository.
|
|
* bin/tissue (tissue-run-web): Accept configuration file as a
command-line option.
(unrecognized-argument): New function.
|
|
* 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.
|
|
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.
|
|
* bin/tissue (print-usage): List pull subcommand.
(pull, tissue-pull): New functions.
(main): Call tissue-pull.
|
|
* bin/tissue: Import (ice-9 filesystem).
(delete-directory): Delete function.
(index): Use delete-file-recursively instead of delete-directory.
|
|
* bin/tissue (index): New function.
(main): Use index.
|
|
* bin/tissue (delete-xapian-index): Generalize to delete-directory.
(main): Use delete-directory instead of delete-xapian-index.
|
|
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.
|
|
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.
|
|
* bin/tissue (tissue-run-web): Print Unix socket path, not port, for
REPL listening on it.
|
|
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.
|
|
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.
|
|
* 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.
|
|
* bin/tissue (main): Do not build index or parameterize for `tissue
run-web'.
|
|
* 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.
|
|
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.
|