| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/config.scm (*bootstrap-base*): New setting. This variable
should be a relative or absolute URL to the location of the
bootstrap base, where the `css', `img' and `js' directories
containing the correct files.
* tekuti/page.scm (page-index): Place the `main-sidebar' in a column
next to the main text instead of above it.
* tekuti/template.scm (templatize): Make the template more
bootstrappy.
|
|
|
|
| |
* tekuti/util.scm (urlish?): Use string->uri.
|
|
|
|
|
|
| |
* tekuti/git.scm (git-rev-parse): Try to read the ref ourselves, first.
Fall back to using git if that doesn't work (for example, if it's a
packed ref).
|
|
|
|
|
| |
* tekuti/page-helpers.scm (respond): Give no body if there is no SXML.
Fixes perhaps spurious errors raised by Guile's web server.
|
| |
|
|
|
|
|
| |
* tekuti/request.scm (request-path-case): Dispatch HEAD requests as GET
requests, relying on new Guile web servers to elide the HEAD body.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inspired by a patch from Aleix Conchillo Flaqué. Thanks, Aleix!
* tekuti/index.scm (index-specs):
* tekuti/post.scm (reindex-posts, reindex-posts-by-date): Change to have
the "posts" index be a hash table mapping key -> post.
"posts-by-date" is a list of keys, from newest to oldest.
(post-from-git): This is what post-from-key was.
(post-from-key): New function, pulls out a post from the posts hash
table.
(munge-post): Use post-from-git.
(delete-post): Take the post directly.
(latest-posts): New awesome helper for fetching the lastest N posts
that match some predicates.
* tekuti/page-helpers.scm (find-posts-matching): Adapt to post-from-key
change.
(published-posts): Remove, replaced with latest-posts.
* tekuti/page.scm (page-admin, page-admin-posts, page-admin-post)
(page-archives, page-feed-atom): Use the new latest-posts helper.
(page-admin-delete-post, page-admin-delete-comment, page-show-post)
(page-new-comment, page-show-tag): Adapt to post-from-key change.
* tekuti/tags.scm (compute-related-posts, compute-related-tags): Adapt
to post-from-key change.
(reindex-tags): Use latest-posts.
|
|
|
|
|
| |
* tekuti/index.scm (maybe-reindex): Reindex within a
call-with-error-handling.
|
|
|
|
| |
* tekuti/page.scm (page-show-tag): Add a feed link here.
|
|
|
|
| |
* tekuti/page.scm (page-feed-atom): Reduce "with=unknown" to nothing.
|
|
|
|
|
| |
* tekuti/page.scm (page-feed-atom): Reimplement more clearly, and give
"with" inclusionary meaning.
|
|
|
|
|
|
|
|
| |
* tekuti/page.scm (page-feed-atom): Reimplement Brian's thing with
"with" and "without" query args, to allow for multiple tags to be
included or excluded.
* tekuti/request.scm (request-query-ref-all): New helper.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/util.scm (with-output-to-string*, with-input-from-string*): New
hacky helpers, which close the port before returning the string or
result. Hopefully reduce pressure on the GC.
(shell:quote):
* tekuti/git.scm (git-commit-reverse-operations, with-output-to-blob*)
(with-input-from-blob*):
* tekuti/filters.scm (wordpress->sxml): Use the string* procedures.
|
| |
|
|
|
|
|
| |
* tekuti/git.scm (run): Don't set encoding on pipe, as we just use
bytevector io anyway.
|
|
|
|
|
|
| |
* tekuti/git.scm:
* tekuti/request.scm: Use ice-9 binary-ports instead of (rnrs io
ports).
|
|
|
|
|
|
|
|
| |
* tekuti/url.scm: Remove.
* Makefile.am: Remove url.scm
* tekuti/post.scm: Remove reference to (tekuti url).
(parse-post-data): Use uri-encode.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
publishing
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
youtube/googlevideo
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* tekuti/mod-lisp.scm: update tekuti/mod-lisp to parse headers to
symbols, and to deal in bytevectors only.
|
|
|
|
|
|
| |
* tekuti/request.scm (request-form-data): Allow the body to be a
bytevector. Update to new uri interface, and allow alternate
encodings.
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (mod-lisp-read): Like the http impl, just setvbuf
once, and don't throw away data (!).
|
|
|
|
| |
* tekuti/cache.scm (make-entry): Fix time comparisons.
|
|
|
|
|
| |
* tekuti/page.scm (page-feed-atom): Also set etag on 304 responses
here.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/cache.scm (update-cache): Expand cache size back to 20.
(cached-response-and-body, make-entry): Entries are now procedures
that return the cached pair. They also have some more smarts regarding
etags, last-modified, and conditional requests.
* tekuti/page-helpers.scm (respond): Add etag arg. Set a date.
* tekuti/page.scm: Set etags on a number of pages.
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (mod-lisp-read): Close the port if there is an
error reading the request.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/cache.scm: Update with more structure. Use take-max, not
list-head. Only cache cacheable request-response pairs.
* tekuti/index.scm: Add cache as index entry. Also return the index ref
within the index itself, instead of at the head.
* tekuti/web.scm: Don't pass cache around, it's part of the index
now. Adapt to new API.
|
|
|
|
|
| |
* tekuti/cache.scm: Simpler LRU algorithm for the cache. Conses more,
but throws away the cache less.
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (read-request/mod-lisp): Set port's encoding to
latin-1, so that we reading one char reads one byte.
|
|
|
|
| |
* tekuti/web.scm: Use the cache.
|
|
|
|
| |
* tekuti/cache.scm: Add a simple cache.
|
|
|
|
|
| |
* tekuti/git.scm (run): Use get-bytevector-all instead of
read-delimited.
|
|
|
|
|
|
| |
* tekuti/mod-lisp.scm: Update to use the poll set, do the right thing
for SIGPIPE, etc, following http.scm. Maybe now it will actually be
reliable.
|
|
|
|
| |
* src/tekuti: Change to be a shell script.
|
|
|
|
|
|
| |
* src/tekuti: Use sh, not bash.
* tekuti/boot.scm (boot): Doh, actually set the locale.
|