| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* tekuti/util.scm (unwind-protect): Move definition up.
(with-backtrace*): Update to backtrace in the throw handler.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/git.scm (git*):
* tekuti/request.scm (rref):
* tekuti/util.scm (date-increment): Use define* instead of
define/kwargs. Remove (scheme kwargs) import.
* tekuti/page-helpers.scm (tekuti):
* tekuti/page.scm (tekuti): Remove needless (scheme kwargs) imports.
|
|
|
|
|
|
|
|
|
| |
* tekuti/comment.scm:
* tekuti/filters.scm:
* tekuti/git.scm:
* tekuti/post.scm:
* tekuti/request.scm:
* tekuti/util.scm: Update to use (tekuti match-bind).
|
|
|
|
| |
* tekuti/match-bind.scm: Import from guile-lib.
|
|
|
|
|
| |
* tekuti/config.scm: Use the new define-parsed-entity! to define the
character entities.
|
|
|
|
|
| |
* tekuti/boot.scm (boot): Call (setlocale LC_ALL) to pull in locale
settings from the environment.
|
|
|
|
|
|
|
| |
* tekuti/boot.scm (*option-grammar*): Remove repl and gds args, replaced
by `listen'.
(parse-options): `listen' causes tekuti to spawn a repl server.
(boot): No more repl option; we always sit down into the event-loop.
|
|
|
|
|
|
|
| |
* tekuti/base64.scm (bytevector-map-n-to-m): Use multiple values.
(base64-encode): Inline the map-3-to-4 definition, and use multiple
values.
(base64-decode): Likewise, with map-4-to-3.
|
|
|
|
|
|
|
|
| |
* tekuti/base64.scm: Port to (rnrs bytevectors). All the real work was
done by Andreas Rottmann.
* tekuti/request.scm (request-authenticated?): Run the decoded user name
and password bytevector through utf8->string.
|
|
|
|
| |
This reverts commit 8a8e0fadae12cbacaf8474b09c16ee8c01ebfe26.
|
|
|
|
|
|
|
| |
with current git
Apparently, at least git 1.7.2.3 ls-files does not understand the
SHA1:filename syntax anymore.
|
| |
|
|
|
|
| |
and `syntax-case'
|
|
|
|
| |
posts yet
|
|
|
|
| |
HTTP headers are expected to be treated case-insensitively.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/boot.scm (boot): Add config option, a file evaluated inside
(tekuti config).
* tekuti/config.scm: Add *css-file*, *navbar-links*, *navbar-infix*.
Change default admin pass.
* tekuti/template.scm (templatize): Make the default template less
wingo-specific.
|
|
|
|
|
| |
* tekuti/git.scm (ensure-git-repo): Actually create a master ref. Fixes
startup when ~/blog.git doesn't exist.
|
|
|
|
|
| |
* tekuti/page-helpers.scm: Be patient with git errors. Dunno why they
happen, though.
|
|
|
|
|
| |
* tekuti/page.scm (page-search):
* tekuti/web.scm (choose-handler): fix search
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (main-sidebar): Add search box.
(find-posts-matching): New function, does a search using git-grep.
* tekuti/page.scm (page-search): New page for showing search results.
* tekuti/util.scm (match-lines): Capture the match-bind binding.
* tekuti/web.scm (choose-handler): Add the search page.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (related-tag-cloud): New function, shows a
tag-relative tag cloud.
* tekuti/page.scm (page-show-tag): Add a cloud of related tags.
* tekuti/tags.scm (compute-related-tags): New proc to show related tags.
|
|
|
|
|
| |
* tekuti/filters.scm (bad-user-submitted-xhtml?): Add a more informative
error message.
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm: Export top-tags.
* tekuti/page.scm (page-show-tags): Implement the main tag cloud page.
Yay!
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (post-sidebar): New function, pops up a sidebar
for related posts.
* tekuti/page.scm (page-show-post): Show the post sidebar.
* tekuti/tags.scm (compute-related-posts): New function, computes the set
of related posts based on the number of tags which they share in
common.
|
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (top-tags, tag-cloud, main-sidebar): Make the
tag cloud code a bit more modular. Up the number of tags shown to 30.
* tekuti/util.scm: Allow # in the path part of a URL. Yick.
|
|
|
|
|
|
|
|
|
| |
* tekuti/comment.scm (bad-number?, *new-comment-spec*):
* tekuti/page-helpers.scm (comment-form): Lame spam obfuscation.
* tekuti/util.scm (emailish?): Allow _ in the before-@ part of the url.
(urlish?): Don't require a slash after the host.
|
|
|
|
|
| |
* tekuti/post.scm (post-sxml-content): Don't throw an exception if a post
fails to format.
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (post-editing-form):
* tekuti/post.scm (munge-post, parse-post-data): Add foo to allow
comments to be opened or closed. Fix date setting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/comment.scm (make-new-comment): Refactor to decouple comment.scm
from post.scm.
* tekuti/git.scm (run): Generalize so it can run any executable.
(git-ls-tree, git-ls-subdirs): Check for a #f treeish, return directly
in that case, avoiding tracebacks in the forked kid.
(git-mktree): Return #f if the tree is empty.
(git-rev-list): New command, something like git log.
(patch-blob): New function; unused, though. Perhaps I should just
delete it.
(git-commit-reverse-operations): New function, constructs munge-tree
operations to revert a commit.
(git-revert): New operator, reverts a commit. Can't use git's revert
because it requires a working tree.
(munge-tree): Rewrite to unify the various commands, and process the
commands in order. Makes a bit more garbage, but is much more
understandable.
* tekuti/page-helpers.scm (post-editing-form): Add a preview.
(admin-post-url): New helper.
(redirect): New helper.
(admin-post-redirect): New helper.
* tekuti/page.scm (page-admin): Show recent changes in the sidebar.
(page-admin-new-post): Redirect to the new post.
(page-new-comment): Rework for make-new-comment changes, and redirect
to the post. Would be nice to redirect to the comment though.
(page-admin-changes): New page, lists recent changes.
(page-admin-change): New page, shows a change, allowing it to be
undone.
(page-admin-revert-change): New page, actually reverts a change. Thus
we have comment deletion.
* tekuti/post.scm (munge-post): New helper, factored out of
make-new-post.
(parse-post-data): Another new helper. Needs to do more validation,
though.
(modify-post): Post editing, yay!
* tekuti/request.scm (parse-www-form-urlencoded): Factored out of
request-form-data.
(*request-initializers*): Initialize 'query to have the parsed query
string data.
* tekuti/url.scm (url:path-part, url:query-part): New somewhat hacky
functions. url.scm needs some love.
(url:path-split): Split on only the "path part" of the URL.
* tekuti/util.scm (foldn): New export. Probably a bad idea.
(match-case): New macro, not used though.
(string-split/trimming): New util.
* tekuti/web.scm (choose-handler): Update the set of pages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/comment.scm (make-new-comment): Better commit log for comments.
* tekuti/git.scm (munge-tree): Fix when creating multiple files in a new
directory.
* tekuti/page-helpers.scm (with-authentication): Resurrect, this got lost
somehow, in that past time place.
(post-editing-form): Frobate a bit.
(admin-post-link): Fix.
* tekuti/page.scm (page-admin): Frobate.
(page-admin-post): Fix for recent change in post-from-key.
(page-admin-new-post): Sortof works, needs some fixage.
* tekuti/post.scm (make-new-post): Implement, yay
* tekuti/util.scm (timestamp->date): New function
* tekuti/web.scm (*status-names*): add 303
|
|
|
|
| |
* tekuti/tags.scm (reindex-tags): Only index published posts.
|
|
|
|
| |
* tekuti/page.scm (page-show-tag): Implement, in a basic way.
|
|
|
|
|
| |
* tekuti/config.scm: Define some character entities to intern here. Not
ideal by any means, but it works for me.
|
|
|
|
|
|
|
|
| |
* tekuti/page-helpers.scm (atom-header): Set the xml:base to the root
url.
(atom-entry): Actually include a link to the post.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|