Age | Commit message (Collapse) | Author |
|
We need to prefix the ID term in order to distinguish between future
document types (such as the commit document type) that may not be
based off a file.
* tissue/document.scm (document-id-term): Prefix ID term with "file."
indicating the 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.
|
|
* tissue/document.scm (document-type): Generalize generic method of
<document> to apply to most child classes. Pass on generic method of
<file-document> to that of <document>.
* tissue/issue.scm (document-type): Remove generic method for <issue>
class.
|
|
* tissue/issue.scm (document->sxml): Hyphenate tag in search query if
it has spaces.
|
|
* tissue/tissue.scm: Import (ice-9 match).
(<tissue-configuration>)[indexed-documents]: Rename getter to
delayed-tissue-configuration-indexed-documents.
(tissue-configuration-indexed-documents): New function.
(pairify): New function.
(tissue-configuration): Delay #:indexed-documents argument too.
* tests/tissue.scm: New file.
|
|
* tissue/web/server.scm (handler): Serve html files even if they don't
have the html extension.
|
|
* tissue/utils.scm (string-remove-suffix): New public function.
|
|
* tissue/issue.scm (file-details): Allow specifying tags with keyword
and tag singulars.
|
|
We drop the restriction that values in key-value pairs should be 2
words or less. Instead, if the key is a known key such as "keywords:",
"tags:" or "status:", we always accept it as a key.
* tissue/issue.scm (file-details): Parse known keys in list lines even
if they are long.
* tests/issue.scm ("Parse keywords even if they are long"): New test.
|
|
* tissue/issue.scm (list-line->alist): Comment on cond ladder.
|
|
Even hashtable-append! was prepending, not appending. We change its
name to suit.
* tissue/issue.scm (hashtable-append!): Rename to hashtable-prepend!.
(file-details): Call hashtable-prepend! instead of hashtable-append!.
|
|
* tissue/tissue.scm (<tissue-configuration>)[web-tags-path]: Delete
field.
* tissue/tissue.scm (tissue-configuration): Remove web-tags-path
argument.
* tissue/web/static.scm (build-website): Remove tags-path
documentation in docstring.
|
|
* tissue/tissue.scm (tissue-configuration): Delay default value of
#:web-files.
|
|
* tissue/git.scm: Import (rnrs conditions) and (srfi srfi-1).
(condition-git-error): New public function.
* bin/tissue (default-configuration): Use condition-git-error.
|
|
* tissue/web/server.scm: Import (srfi srfi-171) and (ice-9
filesystem).
(%mime-types): New variable.
(handler): Serve static files too.
|
|
* tissue/web/server.scm: Import (rnrs conditions) and (rnrs
exceptions).
(handler): Error out on unknown host.
|
|
* 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.
|
|
* tissue/git.scm: Import dereference-pointer and string->pointer
from (system foreign).
(reference-set-target!): New public function.
|
|
* tissue/git.scm: Import pointer->string from (system foreign).
(reference-symbolic-target): New public function.
|
|
* tissue/utils.scm: Import (ice-9 filesystem).
(call-with-temporary-directory): New function.
|
|
* tissue/web/static.scm (build-website): Accept log-port argument
specifying port to log to.
|
|
* tissue/web/static.scm: Import (ice-9 filesystem).
(mkdir-p): Delete function.
(build-website): Use make-directories instead of mkdir-p. Remove TODO
note about using guile-filesystem.
|
|
* tissue/git.scm (%current-git-repository): New public parameter.
(current-git-repository): Use %current-git-repository.
|
|
* tissue/git.scm (git-top-level): Implement git-top-level in terms of
current-git-repository.
|
|
repository-open-ext obsoletes git-top-level.
* tissue/git.scm (current-git-repository): Implement using
repository-open-ext instead of git-top-level.
|
|
* tissue/git.scm: Import (bytestructures guile).
(clone-options): New function.
|
|
* tissue/git.scm (git-top-level): Fill docstring.
|
|
* tissue/issue.scm (list-line->alist, file-details): Use
string-remove-prefix from (tissue utils).
(file-details): Delete function.
|
|
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.
|
|
* tissue/git.scm (call-with-file-in-git): New public function.
|
|
The index is the staging area. We really only want to look at files
already committed into the git repository. In addition, a pleasant
side-effect is that this gets rid of many of the additional bindings
from libgit2.
* tissue/git.scm: Import only %null-pointer from (system foreign). Do
not import (bytestructures guile).
(pointer->bytestructure, bytestructure->pointer, pointer->index-time,
pointer->index-entry, repository-index, index-version,
index-entry-count, index-entry, index-entries): Delete functions.
(%oid, %index-time, %index-entry): Delete variables.
(<index-time>, <index-entry>): Delete types.
(head-tree): New function.
(git-tracked-files): Find git tracked files from HEAD, not from index.
|
|
* 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 (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.
|
|
* tissue/web/server.scm (start-web-server): Grant read-write
permissions to all on Unix socket.
|
|
* tissue/web/server.scm (%css): Make CSS representationally more
concise by removing blank lines and squeezing one-rule blocks into a
single line.
|
|
* tissue/web/server.scm (%css)[.search-results]: Do not pad.
|
|
* tissue/web/server.scm (make-search-page): Add class "search-results"
to search results ul.
|
|
* tissue/web/server.scm: Import (xapian wrap). Import parse-query
from (xapian xapian) renaming it to xapian:parse-query.
(make-search-page): Display estimated number of matches.
(handler): Pass estimated number of matches to make-search-page.
|
|
* tissue/search.scm: Import parse-query from (xapian xapian) renaming
it to xapian:parse-query.
(parse-query): New public function.
(search-fold): Use parse-query.
|
|
* tissue/web/server.scm (make-search-page): Re-indent.
|
|
* tissue/web/server.scm (make-search-page): Self-document search
filters.
(%css)[.search-hint, .search-filter]: New rules.
|
|
Xapian doesn't seem to like hyphens.
* tissue/search.scm (search-fold): Rename last-updater to lastupdater.
|
|
* tissue/search.scm (search-fold, search-map): Set default value of
#:maximum-items argument to all documents.
* bin/tissue (tissue-search): Do not pass #:maximum-items to
search-map.
|
|
* tissue/web/server.scm (handler): List search results even on home
page.
|
|
* tissue/web/server.scm (make-search-page): Accept query argument.
(handler): Pass query argument to make-search-page.
|
|
* tissue/web/server.scm (%css)[.search-result-title,
.search-result-document, .search-result-issue,
.search-result-open-issue, .search-result-closed-issue]: New rules.
|
|
* tissue/issue.scm (document->sxml): Remove space at the beginning of
search result metadata.
|
|
* tissue/document.scm (document->sxml): Add search result title CSS
class.
* tissue/issue.scm (document->sxml): Add search result title CSS
class.
|
|
* tissue/document.scm (document->sxml): Add search-result-document
class.
* tissue/issue.scm (document->sxml): Add search-result-issue and
search-result-open-issue/search-result-closed-issue classes.
|