Age | Commit message (Collapse) | Author |
|
* guix.scm (skribilo-latest, guile-xapian): Delete variables.
(tissue): Inherit from upstream Guix package.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
* bin/tissue: Add Emacs mode identifier.
* pre-inst-env: Add Emacs mode identifier.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
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>
|
|
* Makefile (tests): Explicitly list only scm files.
|
|
* tissue/web/server.scm (mime-type-for-extension): Handle files
without extension.
* tests/web/server.scm: New file.
|
|
* tissue/issue.scm (file-details): Ignore preformatted blocks.
* tests/issue.scm ("Ignore preformatted block"): New test.
* issues/ignore-preformatted-blocks-in-gemtext-parser.gmi: Close
issue.
|
|
* tissue/issue.scm (file-details): Allow checkboxes without a space.
* tests/issue.scm ("Allow checkboxes without a space"): New test.
* issues/allow-checkboxes-without-a-space.gmi: Close issue.
|
|
* tests/issue.scm ("Parse checkboxes"): New test.
|
|
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.
|