summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-04git: Bind git_reference_symbolic_target from libgit2.Arun Isaac
* tissue/git.scm: Import pointer->string from (system foreign). (reference-symbolic-target): New public function.
2022-07-04utils: Add call-with-temporary-directory utility.Arun Isaac
* tissue/utils.scm: Import (ice-9 filesystem). (call-with-temporary-directory): New function.
2022-07-04web: static: When building website, accept port to log to.Arun Isaac
* tissue/web/static.scm (build-website): Accept log-port argument specifying port to log to.
2022-07-04web: static: Deprecate mkdir-p in favor of guile-filesystem.Arun Isaac
* 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.
2022-07-04bin: Deprecate delete-directory in favor of guile-filesystem.Arun Isaac
* bin/tissue: Import (ice-9 filesystem). (delete-directory): Delete function. (index): Use delete-file-recursively instead of delete-directory.
2022-07-04git: Add %current-git-repository parameter.Arun Isaac
* tissue/git.scm (%current-git-repository): New public parameter. (current-git-repository): Use %current-git-repository.
2022-07-04git: Implement git-top-level in terms of current-git-repository.Arun Isaac
* tissue/git.scm (git-top-level): Implement git-top-level in terms of current-git-repository.
2022-07-04git: Implement current-git-repository using repository-open-ext.Arun Isaac
repository-open-ext obsoletes git-top-level. * tissue/git.scm (current-git-repository): Implement using repository-open-ext instead of git-top-level.
2022-07-04git: Add clone-options utility.Arun Isaac
* tissue/git.scm: Import (bytestructures guile). (clone-options): New function.
2022-07-04bin: Separate out indexing into new function.Arun Isaac
* bin/tissue (index): New function. (main): Use index.
2022-07-04bin: Generalize delete-xapian-index to delete-directory.Arun Isaac
* bin/tissue (delete-xapian-index): Generalize to delete-directory. (main): Use delete-directory instead of delete-xapian-index.
2022-07-04bin: Unmemoize load-config.Arun Isaac
Memoizing load-config is untenable when dealing with multiple repositories in a single command invocation. * bin/tissue (load-config): Unmemoize. (tissue-web, main): Call load-config only once.
2022-07-03git: Fill git-top-level docstring.Arun Isaac
* tissue/git.scm (git-top-level): Fill docstring.
2022-07-03bin: Correctly support REPL listening on TCP socket.Arun Isaac
Prior to this, the REPL would listen on a Unix socket even if a TCP socket was requested. * bin/tissue (tissue-run-web): Correctly support REPL listening on TCP socket.
2022-07-03bin: Print Unix socket path, not port, for REPL listening on it.Arun Isaac
* bin/tissue (tissue-run-web): Print Unix socket path, not port, for REPL listening on it.
2022-07-03issue: Use string-remove-prefix from (tissue utils).Arun Isaac
* tissue/issue.scm (list-line->alist, file-details): Use string-remove-prefix from (tissue utils). (file-details): Delete function.
2022-07-03conditions: Deprecate &issue-file-not-found-error.Arun Isaac
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.
2022-07-03tissue: Read files from git repository, not from the working tree.Arun Isaac
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.
2022-07-03git: Add call-with-file-in-git utility.Arun Isaac
* tissue/git.scm (call-with-file-in-git): New public function.
2022-07-03git: Find git tracked files from HEAD, not from index.Arun Isaac
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.
2022-07-01web: server: Make CSS a host-specific parameter.Arun Isaac
* 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.
2022-07-01bin: Do not build index or parameterize for `tissue run-web'.Arun Isaac
* bin/tissue (main): Do not build index or parameterize for `tissue run-web'.
2022-06-30web: server: Support virtual hosts.Arun Isaac
* 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.
2022-06-30web: server: Grant read-write permissions to all on Unix socket.Arun Isaac
* tissue/web/server.scm (start-web-server): Grant read-write permissions to all on Unix socket.
2022-06-30bin: Introduce listen specification for web service.Arun Isaac
The new listen specification unifies unix sockets, IP addresses and ports, all into one string. * bin/tissue (address->socket-address): Delete function. (listen->socket-address): New function. (tissue-run-web): Use listen->socket-address instead of address->socket-address. Specify default listen instead of default address and port.
2022-06-30bin: Read web service parameters from configuration file.Arun Isaac
* bin/tissue (invalid-operand): Delete function. (tissue-run-web): Read address and port from configuration file.
2022-06-30web: server: Make CSS representationally more concise.Arun Isaac
* tissue/web/server.scm (%css): Make CSS representationally more concise by removing blank lines and squeezing one-rule blocks into a single line.
2022-06-30web: server: Do not pad search results.Arun Isaac
* tissue/web/server.scm (%css)[.search-results]: Do not pad.
2022-06-30web: server: Add class to search results ul list.Arun Isaac
* tissue/web/server.scm (make-search-page): Add class "search-results" to search results ul.
2022-06-30web: server: Display estimated number of matches.Arun Isaac
* 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.
2022-06-30search: Separate out query parsing into public function.Arun Isaac
* 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.
2022-06-30web: server: Re-indent make-search-page.Arun Isaac
* tissue/web/server.scm (make-search-page): Re-indent.
2022-06-29Makefile: Remove top_level_module_dir suffix from scmdir and godir.Arun Isaac
* Makefile (scmdir, godir): Remove top_level_module_dir suffix.
2022-06-29Makefile: Preserve directory structure during installation.Arun Isaac
* Makefile (install): Preserve directory structure when installing sources and objects.
2022-06-29Makefile: Remove dependencies of phony target `install'.Arun Isaac
* Makefile (install): Remove dependencies.
2022-06-29web: server: Self-document search filters.Arun Isaac
* tissue/web/server.scm (make-search-page): Self-document search filters. (%css)[.search-hint, .search-filter]: New rules.
2022-06-29search: Rename last-updater to lastupdater.Arun Isaac
Xapian doesn't seem to like hyphens. * tissue/search.scm (search-fold): Rename last-updater to lastupdater.
2022-06-29search: Return all results by default.Arun Isaac
* 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.
2022-06-29web: server: List search results even on home page.Arun Isaac
* tissue/web/server.scm (handler): List search results even on home page.
2022-06-29web: server: Pre-fill search box with current query.Arun Isaac
* tissue/web/server.scm (make-search-page): Accept query argument. (handler): Pass query argument to make-search-page.
2022-06-29web: server: Add document type identifiers in web output.Arun Isaac
* tissue/web/server.scm (%css)[.search-result-title, .search-result-document, .search-result-issue, .search-result-open-issue, .search-result-closed-issue]: New rules.
2022-06-29issue: Remove space at the beginning of search result metadata.Arun Isaac
* tissue/issue.scm (document->sxml): Remove space at the beginning of search result metadata.
2022-06-29document: Add search result title CSS class.Arun Isaac
* tissue/document.scm (document->sxml): Add search result title CSS class. * tissue/issue.scm (document->sxml): Add search result title CSS class.
2022-06-29document: Add CSS classes identifying document type.Arun Isaac
* 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.
2022-06-29search: AND is:open filter with search query.Arun Isaac
* tissue/search.scm (search-fold): AND is:open filter with search query.
2022-06-29document: Print identifier identifying type of search result.Arun Isaac
* tissue/document.scm (print): Print DOCUMENT identifier. * tissue/issue.scm (print): Print ISSUE identifier.
2022-06-29bin: Page search results, and do not limit number of results.Arun Isaac
* bin/tissue (tissue-search): Page results, and do not limit number of results.
2022-06-29document: Accept port argument when printing to text.Arun Isaac
* tissue/document.scm (print): Accept port argument. * tissue/issue.scm (print): Accept port argument.
2022-06-29utils: Add call-with-output-pipe.Arun Isaac
* tissue/utils.scm (call-with-output-pipe): New function.
2022-06-29document: Remove blank line between title and snippet.Arun Isaac
* tissue/document.scm (print): Remove blank line between title and snippet.