| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
`cuserid'.
* tekuti/util.scm (expanduser): Use the user id to fetch the
username from the /etc/passwd file, so that the username is
not chopped at eight characters.
|
|
|
|
|
|
|
|
| |
database layout.
* wordpress_to_dir.py (all_posts): select only published posts.
(post_categories): get the post category based on the new set
of tables wp_terms, wp_term_relationships and wp_term_taxonomy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change to use (web server) instead of our own loop. This also means that
requests are request objects from (web request), and responses are from
(web response).
* tekuti/boot.scm (boot): Run the main loop from (tekuti web).
* tekuti/config.scm (*port*, *backlog*, *public-url-base*)
(*private-url-base*): Remove extraneous config vars.
* tekuti/mod-lisp.scm: Rewrite to be a (web server) server-impl. Not
tested very well.
* tekuti/page-helpers.scm (respond): New procedure, now the primary way
to respond to a request.
(relurl, rellink): Take path components as a list, and encode the
parts when making the resulting URL. All callers changed.
* tekuti/page.scm: Change all handlers to take an additional `body'
argument, to respond using `respond', and to use the new `relurl' /
`rellink' protocol.
* tekuti/request.scm: Eviscerate, leaving only pieces that deal in
request objects from `(web request)'.
* tekuti/web.scm: Update to use (weeb server).
|
|
|
|
| |
* tekuti/tags.scm (tag-link): Use (web uri).
|
|
|
|
|
| |
* tekuti/template.scm (templatize): Use define* and keyword args instead
of taking a "request" object. Use (web uri) for URI work.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/config.scm (*private-url-base*, *public-url-base*): Change to
"/", so that we can serve HTTP directly without having a fetch to
e.g. "/foo.css" cause an error. A silly reason, I know.
(*public-path-base*, *private-path-base*): New vars, containing lists
of path components corresponding to their "url" variants above. We are
switching to this, as future commits will show.
(*server-impl*, *server-impl-args*): New vars, will be used by the new
(web server) main loop.
|
|
|
|
|
| |
* tekuti/util.scm: Remove with-backtrace definition. Add date->timestamp
definition.
|
|
|
|
|
|
|
| |
* tekuti/index.scm (reindex): Don't use with-backtrace, that's not how I
want to roll, debugging-wise.
* tekuti/post.scm (post-sxml-content): Same
|
|
|
|
|
| |
* tekuti/git.scm (git-update-ref, patch-blob, munge-tree1-recursive):
Fix various errors caught by the compiler.
|
|
|
|
|
| |
* src/tekuti: Change to use an implicit `-s', so a control-c causes an
exit rather than dropping us into a repl.
|
|
|
|
|
| |
* Makefile.am (GUILE_WARNINGS): Use compile warnings when compiling
tekuti.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/git.scm (with-output-to-blob, with-input-from-blob): Use
hygienic macros.
* tekuti/match-bind.scm (match-bind): Add a check that the pattern is a
literal string.
* tekuti/util.scm (match-lines): Fix port from defmacro.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .gitignore:
* AUTHORS:
* COPYING:
* ChangeLog:
* Makefile.am:
* NEWS:
* README:
* acinclude.m4:
* configure.ac:
* env.in: All the needed bits.
|
|
|
|
| |
* tekuti/request.scm (let-request): Move definition up.
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|