Age | Commit message (Collapse) | Author |
|
With <file> objects specifying the files to export to the web, the
user has ultimate flexibility in their choice of what to export and
how to export.
* bin/tissue (tissue-web): Parameterize %project-name and
%tags-path. Use new signature of build-website.
* tissue/tissue.scm: Import (srfi srfi-1) and (srfi srfi-71).
(<tissue-configuration>)[web-files]: New field.
(tissue-configuration-web-files): New public function.
(tissue-configuration): New macro.
* tissue/web.scm: Import (srfi srfi-9).
(%project-name): New public parameter.
(<file>): New type.
(build-issue-listing): Delete function.
(copier, gemtext-reader, gemtext-exporter, skribe-exporter,
tag-issue-lister, tag-pages): New public functions.
(exporter, with-current-directory): New functions.
(build-website): Simply write <file> objects to files.
(replace-extension): Export.
|
|
* tissue/git.scm (git-top-level): New function.
* bin/tissue: Import (tissue git).
(load-config): Use git-top-level.
|
|
* tissue/git.scm: New file.
* tissue/issue.scm: Import (tissue git).
(issues): Use git-tracked-files.
|
|
* tissue/issue.scm (authors): Sort returned list of authors in
lexicographic order.
|
|
Pass the tissue -> `tissue list' alias through main again so that
parameters and other setup is done correctly.
* bin/tissue (main): Pass the tissue -> `tissue list' alias through
main again.
|
|
For some reason, `git shortlog' outputs nothing inside a Guix
derivation.
* tissue/issue.scm (file-details): Build list of authors from list of
issues instead of relying on `git shortlog'.
|
|
* tissue/issue.scm (issues): Arrange posts oldest first.
(<issue>)[posts]: Comment on order of contents.
|
|
* tissue/issue.scm (authors): New public function.
|
|
* bin/tissue (main): Load config and parameterize %aliases.
* tissue/issue.scm (%aliases): New public parameter.
(resolve-alias): New function.
(file-details): Resolve authors and assignees using aliases.
|
|
* tissue/tissue.scm (<tissue-configuration>)[aliases]: New field.
* tissue/tissue.scm (tissue-configuration): Accept aliases as an
argument.
|
|
* bin/tissue (load-config): New function.
(tissue-web): Use load-config.
|
|
* tissue/issue.scm (memoize-thunk): Move to ...
* tissue/utils.scm (memoize-thunk): ... here.
|
|
* tissue/web.scm (issue-list-item-markup-writer-action): Display task
lists.
|
|
* tissue/issue.scm (<post>): New record type.
(file-details): Record all commits affecting a file, not just how
many.
* bin/tissue (print-issue, print-issue-to-gemtext): Apply length on
the output of issue-posts before use.
* tissue/web.scm (issue-list-item-markup-writer-action): Apply length
on posts before use.
|
|
* tissue/issue.scm (issues): Refactor out repeated use of assq-ref.
|
|
* tissue/issue.scm (file-details): Follow file across renames using
`git log --follow'.
|
|
* tissue/issue.scm (issues): Downcase keywords to ignore their case.
|
|
issue-open returns a boolean. So, it makes sense to name it like a
predicate.
* bin/tissue (tissue-list): Replace issue-open with issue-open?.
* tissue/issue.scm (tissue): Export issue-open? instead of issue-open.
(<issue>): Rename issue-open to issue-open?.
* tissue/web.scm (issue-listing): Replace issue-open with issue-open?.
|
|
* tissue/issue.scm (hashtable-append!): Replace delete-duplicates with
lset-adjoin.
|
|
* tissue/issue.scm: Use (srfi srfi-19).
(unix-time->date): New function.
(file-details): Convert date fields created-date and last-updated-date
to SRFI-19.
(issues): Use SRFI-19 time comparison in sort comparator.
|
|
User-created files might also need %tags-path. So %tags-path should be
parameterized even when user-created files are being exported.
* tissue/web.scm (build-website): Parameterize %tags-path when
exporting all files, not just the auto-generated files.
|
|
* tissue/web.scm (build-website): Pass `#:join-lines? #t' to the
gemtext reader.
|
|
It should be "#\space", not "#\s pace".
* tissue/web.scm (issue-list-item-markup-writer-action): Fix "#\s
pace" typo.
|
|
This will let users customize the color of their tags.
* tissue/web.scm (issue-list-item-markup-writer-action): Add CSS class
specific to each tag.
|
|
* tissue/web.scm: Import (web uri).
(issue-list-item-markup-writer-action): Encode URIs for safety.
|
|
* tissue/issue.scm (<=n-words?, list-line->alist): New functions.
(file-details): Support tagging using "key: value" pairs.
|
|
* tissue/issue.scm (hashtable-append!): Deduplicate after appending
new values.
|
|
* tissue/issue.scm (file-details): Match checklist only if it starts
at the beginning of its line.
|
|
* tissue/web.scm (sanitize-string): New function.
(issue-list-item-markup-writer-action, build-website): Use
sanitize-string.
|
|
* bin/tissue: Import (tissue tissue) and (tissue web).
(tissue-web): New function.
(print-usage): Document web subcommand.
(main): Hook up web subcommand.
|
|
The <tissue-configuration> record will provide a declarative
configuration interface.
* tissue/tissue.scm: New file.
|
|
* bin/tissue: Do not import (rnrs conditions). Import (tissue
conditions).
(tissue-edit, tissue-show): Raise &issue-file-not-found-error instead
of &message-condition.
(print-usage): Handle &issue-file-not-found-error instead of
&message-condition.
* tissue/web.scm: Do not import (rnrs exceptions). Import (tissue
conditions).
(build-website): Raise &issue-file-not-found-error instead of
&message-condition.
|
|
* tissue/conditions.scm: New file.
|
|
* tissue/web.scm (build-website): Accept #:css argument and set the
CSS of generated web pages accordingly.
|
|
* tissue/web.scm (build-website): Export auto-generated files first so
that user-created files can override them.
|
|
* tissue/web.scm (build-website): In comments, use the term "export"
instead of "publish".
|
|
* tissue/web.scm (build-website): Raise exception on missing file.
|
|
raise is from the (rnrs exceptions) standard.
* bin/tissue (tissue-edit, tissue-show): Use raise instead of
raise-exception.
|
|
* bin/tissue: Import (rnrs exceptions).
(main): Handle message conditions by printing them and exiting with
failure.
|
|
* bin/tissue: Import (rnrs conditions).
(tissue-edit, tissue-show): Raise exception on missing file.
|
|
tissue would fail to list issues and throw an exception when a user
deletes a file, or renames a file, but has not committed the changes
to the issue tracker. This commit simply ignores such deletions and
renames, and lists out the other issues that have not changed.
* tissue/issue.scm (file-details): Read the file only if it exists.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
* Makefile (project, guile_effective_version, GUILD, libdir,
datarootdir, top_level_module_dir, sources, objects, scmdir, godir):
New variables.
* Makefile (all): Depend on $(objects).
(%.go): New target.
(install): Install $(sources) and $(objects).
|
|
* tissue/web.scm: New file.
|
|
The issues function is disk intensive and will be frequently used in
different parts of the program. Memoize it.
* tissue/issue.scm (memoize-thunk): New function.
(issues): Memoize.
|
|
(ice-9 ftw) is no longer used.
* bin/tissue: Do not remove (ice-9 ftw).
|
|
* bin/tissue: Do not import (rnrs hashtables) and (srfi
srfi-9). Import (tissue issue) and (tissue utils).
(<issue>, issues, hashtable-append!, comma-split, remove-prefix,
file-details): Move to tissue/issue.scm.
(call-with-input-pipe, get-line-dos-or-unix): Move to
tissue/utils.scm.
* tissue/issue.scm, tissue/utils.scm: New files.
|
|
* guix.scm: New file.
|
|
* COPYING: New file.
|
|
|