Age | Commit message (Collapse) | Author |
|
* tissue/utils.scm (string-contains?): New public function.
|
|
* tissue/issue.scm (document->sxml): Quote tags with spaces instead of
hyphenating them.
|
|
* tissue/search.scm: Import (ice-9 match).
(make-query-parser): New function.
(%prefixes, %boolean-prefixes, query-parser): New variables.
(parse-query): Use query-parser.
|
|
Metadata that will be used in boolean filtering should be indexed as
boolean terms, not as free text. This also results in the happy
coincidence that we no longer need a specialized
document-term-generator generic method for <issue> and <commit>.
* tissue/document.scm (document-boolean-terms): New public generic
function.
(document-term-generator): Use document-boolean-terms.
* tissue/issue.scm (document-boolean-terms): New generic method.
(document-term-generator): Delete generic method.
* tissue/commit.scm (document-boolean-terms): New generic method.
(document-term-generator): Delete generic method.
|
|
* tissue/document.scm (document-recency-date): Declare public generic
function.
(document-term-generator): Store serialized date in slot 0 of Xapian
document.
* tissue/file-document.scm (document-recency-date): New generic
method.
* tissue/commit.scm (document-recency-date): New generic method.
|
|
* tissue/document.scm (document-snippet-source-text): Use
string-blank?.
|
|
* tissue/search.scm: Import (tissue utils).
(parse-query): Match all on blank query, not null query.
|
|
* tissue/utils.scm (string-blank?): New function.
|
|
The output directory is usually a randomly named temporary
directory. Logging it is leaking an implementation detail.
* tissue/web/static.scm (build-website): Do not log output directory
name.
|
|
* tissue/document.scm (object->scm): Drop unbound slots, do not raise
an error.
|
|
* tissue/document.scm: Do not import (rnrs hashtables).
|
|
We move the posts slot of <issue> into the <file-document> parent
class as a commits slot. We also no longer store the creator,
created-date, last-updater, last-updated-date of <issue> in
slots. Rather, we compute them on-demand from the commits slot.
* tissue/file-document.scm: Import (rnrs hashtables), (srfi
srfi-1), (srfi srfi-26), (git), (tissue commit) and (tissue person).
(<file-document>)[commits]: New slot.
(file-document-creator, file-document-created-date,
file-document-last-updater, file-document-last-updated-date): New
public functions.
(read-gemtext-document): Initialize commits slot.
* tissue/issue.scm (file-modification-table-for-current-repository):
Move to (tissue file-document).
(<issue>)[creator, created-date, last-updater, last-updated-date,
posts]: Delete slots.
(<post>): Delete class.
(document-term-generator, print, print-issue-to-gemtext,
document->sxml): Use file-document-creator,
file-document-created-date, file-document-last-updater,
file-document-last-updated-date and file-document-commits instead of
issue-creator, issue-created-date, issue-last-updater,
issue-last-updated-date and issue-posts.
(read-gemtext-issue): Use read-gemtext-document. Do not initialize
creator, created-date, last-updater and last-updated-date slots.
|
|
* tissue/file-document.scm (read-gemtext-document): Fix typo reade
with read in docstring.
|
|
* 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).
|
|
* issues/incremental-search.gmi: New file.
|
|
* issues/search-suggestions.gmi: New file.
|
|
* issues/sort-by-date.gmi: New file.
|
|
* tissue/web/server.scm (%css)[.search-results-statistics,
.search-results-statistics li, .search-results-statistics a,
.current-search-type]: New rules.
* tissue/web/server.scm (make-search-page): Summarize number of
results by type.
(query-string, matches): New functions.
(handler): Pass the number of matches by type to make-search-page.
* issues/add-links-to-filter-documents-by-type.gmi: Close issue.
|
|
* tissue/search.scm (parse-query): By default, search all documents
not just issues.
|
|
* 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.
|
|
* tissue/git.scm (commit-author-date): New public function.
(commit-date): Delete function.
* tissue/issue.scm (read-gemtext-issue): Use commit-author-date
instead of commit-date.
|
|
* tissue/document.scm (document-snippet-source-text): New generic
method.
(document-html-snippet): Use document-snippet-source-text.
|
|
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.
|
|
* 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.
|
|
* tissue/issue.scm (document->sxml): Hyphenate tag in search query if
it has spaces.
|
|
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.
|
|
If guile is passed all test files at once, it only runs the first one.
* Makefile (check): Run tests using a for loop.
|
|
* 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.scm (#:indexed-documents): Remove html extension from web
URIs.
|
|
* 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.
|
|
* issues/issue-templates.gmi: New file.
|
|
* issues/gemini-interface.gmi: New file.
|
|
* tissue/issue.scm (file-details): Allow specifying tags with keyword
and tag singulars.
|
|
* issues/search-by-date.gmi: New file.
|
|
* issues/add-links-to-filter-documents-by-type.gmi: New file.
|
|
* issues/index-commit-messages.gmi: New file.
|
|
* issues/github-like-milestones.gmi: New file.
|
|
* issues/emacs-interface.gmi: New file.
|
|
* issues/internationalization.gmi: New file.
|
|
* issues/paginate-search-results.gmi: New file.
|
|
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.
|
|
* Makefile (GUILE, tests): New variables.
(check): Run tests.
* tests/issue.scm: New file.
|
|
* 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!.
|
|
* website/index.skb: New file.
* tissue.scm (#:web-files): Add index.html.
|