summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* autotoolize, and compile the scheme filesGravatar Andy Wingo2010-11-1311-8/+957
| | | | | | | | | | | | | * .gitignore: * AUTHORS: * COPYING: * ChangeLog: * Makefile.am: * NEWS: * README: * acinclude.m4: * configure.ac: * env.in: All the needed bits.
* move up let-request definitionGravatar Andy Wingo2010-11-131-18/+18
| | | | * tekuti/request.scm (let-request): Move definition up.
* (tekuti util) fixenGravatar Andy Wingo2010-11-131-32/+19
| | | | | * tekuti/util.scm (unwind-protect): Move definition up. (with-backtrace*): Update to backtrace in the throw handler.
* change uses of define/kwargs to define*Gravatar Andy Wingo2010-11-135-9/+5
| | | | | | | | | | * 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.
* update to use (tekuti match-bind)Gravatar Andy Wingo2010-11-136-13/+12
| | | | | | | | | * tekuti/comment.scm: * tekuti/filters.scm: * tekuti/git.scm: * tekuti/post.scm: * tekuti/request.scm: * tekuti/util.scm: Update to use (tekuti match-bind).
* import match-bind from guile-libGravatar Andy Wingo2010-11-131-0/+263
| | | | * tekuti/match-bind.scm: Import from guile-lib.
* use a properly exported interface to define parsed entitiesGravatar Andy Wingo2010-11-131-14/+8
| | | | | * tekuti/config.scm: Use the new define-parsed-entity! to define the character entities.
* call setlocaleGravatar Andy Wingo2010-11-131-0/+1
| | | | | * tekuti/boot.scm (boot): Call (setlocale LC_ALL) to pull in locale settings from the environment.
* updates to (tekuti boot)Gravatar Andy Wingo2010-11-131-15/+5
| | | | | | | * 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.
* base64 efficiency hacksGravatar Andy Wingo2010-11-131-17/+19
| | | | | | | * 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.
* port (tekuti base64) to use (rnrs bytevectors)Gravatar Andy Wingo2010-11-132-63/+93
| | | | | | | | * 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.
* Revert last, misguided commitGravatar Andreas Rottmann2010-11-061-2/+2
| | | | This reverts commit 8a8e0fadae12cbacaf8474b09c16ee8c01ebfe26.
* post: make `post-comments' and `post-n-comments' work ↵Gravatar Andreas Rottmann2010-11-051-2/+2
| | | | | | | with current git Apparently, at least git 1.7.2.3 ls-files does not understand the SHA1:filename syntax anymore.
* Remove two unnecessary instances of quasisyntaxGravatar Andreas Rottmann2010-11-041-2/+2
|
* Replace several `define-macro' uses with `syntax-rules' ↵Gravatar Andreas Rottmann2010-10-134-101/+93
| | | | and `syntax-case'
* Don't crash generating the atom feed when there are no ↵Gravatar Andreas Rottmann2009-07-032-5/+9
| | | | posts yet
* Convert the mod-lisp headers to lowercaseGravatar Andreas Rottmann2009-07-023-4/+5
| | | | HTTP headers are expected to be treated case-insensitively.
* dewingoizeGravatar Andy Wingo2008-04-233-9/+23
| | | | | | | | | | | * 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.
* fix starting from scratchGravatar Andy Wingo2008-04-221-1/+4
| | | | | * tekuti/git.scm (ensure-git-repo): Actually create a master ref. Fixes startup when ~/blog.git doesn't exist.
* fix search with no results on deployed tekutiGravatar Andy Wingo2008-04-131-1/+4
| | | | | * tekuti/page-helpers.scm: Be patient with git errors. Dunno why they happen, though.
* whoops, fix searchGravatar Andy Wingo2008-04-122-3/+0
| | | | | * tekuti/page.scm (page-search): * tekuti/web.scm (choose-handler): fix search
* add search capabilitiesGravatar Andy Wingo2008-04-124-3/+32
| | | | | | | | | | | | * 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.
* add related-tags clouds to tag/foo pagesGravatar Andy Wingo2008-04-123-3/+34
| | | | | | | | | | * 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.
* better error messages for invalid xhtmlGravatar Andy Wingo2008-04-111-2/+11
| | | | | * tekuti/filters.scm (bad-user-submitted-xhtml?): Add a more informative error message.
* add main tag cloud pageGravatar Andy Wingo2008-04-112-2/+6
| | | | | | | * tekuti/page-helpers.scm: Export top-tags. * tekuti/page.scm (page-show-tags): Implement the main tag cloud page. Yay!
* add "related posts" fooGravatar Andy Wingo2008-04-113-4/+41
| | | | | | | | | | | * 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.
* tweak tag cloud codeGravatar Andy Wingo2008-04-112-24/+28
| | | | | | | | * 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.
* spam spam spamGravatar Andy Wingo2008-03-113-2/+12
| | | | | | | | | * 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.
* don't say I'm not lenientGravatar Andy Wingo2008-03-111-5/+10
| | | | | * tekuti/post.scm (post-sxml-content): Don't throw an exception if a post fails to format.
* fix comment openageGravatar Andy Wingo2008-03-092-2/+8
| | | | | | | * 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.
* comment deletion, post editing.Gravatar Andy Wingo2008-03-0710-203/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* various fixes, new post supportGravatar Andy Wingo2008-03-047-27/+114
| | | | | | | | | | | | | | | | | | | | | | | * 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
* only index tags of published postsGravatar Andy Wingo2008-03-021-2/+3
| | | | * tekuti/tags.scm (reindex-tags): Only index published posts.
* implement tags/fooGravatar Andy Wingo2008-03-021-1/+14
| | | | * tekuti/page.scm (page-show-tag): Implement, in a basic way.
* intern some character entitiesGravatar Andy Wingo2008-03-021-0/+14
| | | | | * tekuti/config.scm: Define some character entities to intern here. Not ideal by any means, but it works for me.
* fix up the atom feedGravatar Andy Wingo2008-03-021-5/+6
| | | | | | | | * tekuti/page-helpers.scm (atom-header): Set the xml:base to the root url. (atom-entry): Actually include a link to the post.
* more cleanupsGravatar Andy Wingo2008-02-295-102/+91
|
* add missing filesGravatar Andy Wingo2008-02-292-0/+273
|
* cleanups, refactorings, what-notGravatar Andy Wingo2008-02-297-508/+370
|
* more cleanups, xhtml sanitization thanks to MikeS, --replGravatar Andy Wingo2008-02-286-63/+82
|
* continuing simplification workGravatar Andy Wingo2008-02-289-179/+129
|
* add link to subscribe thingieGravatar Andy Wingo2008-02-281-9/+4
|
* minor tweaksGravatar Andy Wingo2008-02-286-19/+20
|
* more atom fixenGravatar Andy Wingo2008-02-271-1/+3
|
* some atom fixenGravatar Andy Wingo2008-02-271-4/+12
|
* incremental reindexing, import charset fixes, other thingiesGravatar Andy Wingo2008-02-279-77/+93
|
* subtitleGravatar Andy Wingo2008-02-251-1/+1
|
* atom feed maybe workingGravatar Andy Wingo2008-02-247-73/+169
|
* using new one-file-per-commentGravatar Andy Wingo2008-02-239-70/+443
|
* another checkpoint, tag cloud working...Gravatar Andy Wingo2008-02-232-46/+116
|