Age | Commit message (Collapse) | Author |
|
* .guix-authorizations, .guix-channel: New files.
* guix.scm: Convert to a symlink pointing to
.guix/tissue-package.scm. Move original there.
* .guix/tissue-package.scm: Convert into a module with public
packages.
|
|
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>
|
|
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>
|
|
* Makefile (SKRIBILO, infodir, documentation, info): New variables.
(distribute_files): Add $(documentation) and doc/skribilo.scm.
(all): Depend on $(info).
(%.info): New target.
(install): Install $(info).
(clean): Clean $(info).
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
* website/index.skb (Contributors): Add Frederick Muriuki Muriithi,
jgart, Munyoki Kilyungi and Pjotr Prins.
|
|
Prior to this commit, tissue would be unable to find (doc skribilo)
during indexing and crash.
* tissue.scm: Add current directory to load path.
Bug reported by: Morgan Smith <Morgan.J.Smith@outlook.com>
|
|
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.
|
|
* website/index.skb (Contributors): Thank Morgan Smith.
|
|
* guix.scm: Import guile-git from (gnu packages guile) and libgit2-1.3
from (gnu packages version-control) with the guix: prefix.
(libgit2, guile-git): New variables.
(tissue)[inputs]: Use guile-git.
|
|
* 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.
|