Age | Commit message (Collapse) | Author |
|
The order of entries in an association list is insignificant. Sorting
association list entries prevents tests from breaking simply because
the order of the entries is different.
* tests/issue.scm: Import (ice-9 match).
(hashtable->alist): Sort alist entries after converting
hashtable. Document this in the docstring.
|
|
* issues/provide-app-bundle.gmi: New issue.
|
|
* issues/set-up-public-inbox.gmi: New issue.
|
|
* issues/mirror-on-github.gmi: New issue.
|
|
* issues/incompatibility-between-state-and-web-server.gmi: New issue.
|
|
* issues/put-up-fosdem-2023-video-on-website.gmi: New issue.
|
|
* issues/handle-unicode-characters-correctly-in-C-locale.gmi: New
issue.
|
|
* website/style.css (h1, h3): Delete styles.
|
|
* website/index.skb (Feature highlights): New section.
|
|
* doc/tissue.skb (Introduction)[Why tissue?]: New section.
|
|
* tissue/skribilo.scm (document-node): Check if node has identifier
before comparing that identifier.
|
|
* issues/ignore-preformatted-blocks-in-gemtext-parser.gmi: New issue.
|
|
*
issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi:
New issue.
|
|
* bin/tissue (tissue-pull): Indicate in synopsis that host is a
required argument.
|
|
* issues/corrupted-double-linked-list.gmi: New issue.
|
|
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.
|
|
* bin/tissue (tissue-pull): Allow pulling only one host in each
invocation.
|
|
* bin/tissue (tissue-pull): Show options placeholder in subcommand
usage.
|
|
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.
|
|
* 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.
|
|
* tissue/web/dev.scm (handler): Explain why we pass in a project
thunk.
|
|
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.
|
|
We store snippet source text in a slot of the <document> class thus
interring into the xapian index. This allows us to render search
snippets using only the xapian index without referring back to the git
repository.
* tissue/document.scm (<document>)[snippet-source-text]: New slot.
* tissue/document.scm (document-snippet-source-text): Delete method.
(document-html-snippet): Remove blank lines from snippet source text
before generating a snippet.
* tissue/commit.scm (document-snippet-source-text): Delete method.
(repository-commits): Initialize snippet-source-text.
* tissue/skribilo.scm (fragment-text): New function.
(document-fragment): Initialize snippet-source-text.
(document-text): Use fragment-text.
(document-snippet-source-text): Delete method.
* tissue/file-document.scm (file-text): New function.
(document-text): Use file-text.
(read-gemtext-document): Initialize snippet-source-text.
* tissue/issue.scm (read-gemtext-issue): Initialize
snippet-source-text.
* issues/skribilo-fragment-snippets-need-code-from-repo.gmi: Close
issue.
|
|
* tissue/commit.scm (document-snippet-source-text): Explain use of
commit-body.
|
|
* tissue/skribilo.scm (document-snippet-source-text): New method.
* issues/skribilo-fragment-snippets-need-code-from-repo.gmi: New
issue.
|
|
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.
|
|
* tissue/git.scm (call-with-temporary-checkout): Create temporary
checkout in temporary directory, not in current directory.
|
|
Files in the repository may be read. So, we must change into a
checkout of the repository when handling requests.
* tissue/web/server.scm (handler): Change to repository directory when
handling requests.
|
|
* bin/tissue (tissue-web): Pass temporary checkout of git repository,
not merely a bare repository, to server handler.
|
|
* bin/tissue (pull): Use call-with-temporary-checkout.
|
|
* tissue/git.scm (call-with-temporary-checkout,
call-with-temporary-checkouts): New public functions.
* .dir-locals.el (scheme-mode): Set scheme-indent-function of
call-with-temporary-checkout and call-with-temporary-checkouts to 1.
|
|
* tissue.scm (#:web-files): Add release files.
* website/index.skb (Download): New section.
|
|
* website/releases/tissue-0.1.0.tar.lz,
website/releases/tissue-0.1.0.tar.lz.asc: New files.
|
|
* Makefile (check): Replace pre-inst-env with --no-auto-compile and
-L.
|
|
* Makefile (version, GIT, GPG, LZIP, distribute_files, dist_archive):
New variables.
(.PHONY): Add dist.
(dist, $(dist_archive), %.asc): New targets.
|
|
* website/index.skb (Documentation): Link to search interface.
|
|
No elements are being filtered. filter-map is unnecessary.
* tissue.scm (#:web-files): Replace filter-map with map.
|
|
* doc/tissue.skb (Tutorial): New chapter.
* tissue.scm (#:indexed-documents): Index it.
|
|
* doc/skribilo.scm (file): New public function.
|
|
* issues/resolve-aliases-when-searching-for-people.gmi: New file.
|
|
* tissue/issue.scm: Do not export index-issue.
|
|
Names of people as non-boolean since it may be required to match them
partially. Think searching for "arun" when the full name is "Arun
Isaac".
* tissue/issue.scm (document-boolean-terms): Remove creator, last
updater and assigned terms.
(document-term-generator): New method.
* tissue/search.scm (%boolean-prefixes): Move creator, lastupdater and
assigned to ...
(%boolean-prefixes): ... here.
|
|
* tissue/web/server.scm (start-web-server): Clean up socket file when
Unix sockets are used.
|
|
* tissue/git.scm (commit-deltas): Rename to ...
(commit-file-changes): ... this. Return list of pairs mapping old
files to new files.
(file-modification-table): Use commit-file-changes instead of
commit-deltas. Adapt to new return value.
* tests/git.scm: New file.
* .dir-locals.el (scheme-mode): Set scheme-indent-function for
with-variable and with-variables.
|
|
* tissue/web/server.scm (log-request): Log complete request URI, not
just the path.
|
|
* bin/tissue (main, pull): Add top level directory of repository to
load path.
|
|
* bin/tissue (pull): Create xapian directory only when it does not
exist.
|
|
Indexing might refer to files on the filesystem.
* bin/tissue (pull): Change to temporary clone of repository before
indexing.
|
|
* 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.
|
|
* website/index.skb (Documentation): New section.
|