summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* Reverse tag page posts orderHEADmasterGravatar Tom Willemsen2013-04-031-1/+1
| | | | So the newest post comes out on top.
* Make tag page look more like indexGravatar Tom Willemsen2013-04-032-8/+16
| | | | | Blurr the distinction between the index page and a tag page so that tag pages may be used as stand-alone pages.
* make urlish? less -ishGravatar Andy Wingo2012-06-031-4/+6
| | | | * tekuti/util.scm (urlish?): Use string->uri.
* faster git-rev-parseGravatar Andy Wingo2012-02-151-1/+5
| | | | | | * 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).
* no sxml, no bodyGravatar Andy Wingo2012-02-141-5/+4
| | | | | * tekuti/page-helpers.scm (respond): Give no body if there is no SXML. Fixes perhaps spurious errors raised by Guile's web server.
* remove trailing whitespaceGravatar Andy Wingo2012-02-1218-226/+226
|
* handle HEAD requests (requires Guile from today)Gravatar Andy Wingo2012-02-121-3/+10
| | | | | * tekuti/request.scm (request-path-case): Dispatch HEAD requests as GET requests, relying on new Guile web servers to elide the HEAD body.
* stop hitting git when fetching post metadataGravatar Andy Wingo2012-02-115-92/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* better errors when reindexingGravatar Andy Wingo2012-02-111-10/+10
| | | | | * tekuti/index.scm (maybe-reindex): Reindex within a call-with-error-handling.
* per-tag feed linksGravatar Andy Wingo2011-04-261-1/+4
| | | | * tekuti/page.scm (page-show-tag): Add a feed link here.
* optimization for with=fooGravatar Andy Wingo2011-04-261-3/+5
| | | | * tekuti/page.scm (page-feed-atom): Reduce "with=unknown" to nothing.
* multiple with query args add tags to the setGravatar Andy Wingo2011-04-251-15/+23
| | | | | * tekuti/page.scm (page-feed-atom): Reimplement more clearly, and give "with" inclusionary meaning.
* add ?with=guile&without=gnuGravatar Andy Wingo2011-04-253-15/+38
| | | | | | | | * 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.
* with-i/o procedures close their portsGravatar Andy Wingo2011-04-253-8/+22
| | | | | | | | | | * 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.
* add atom feeds for tagsGravatar Brian Gough2011-04-252-5/+19
|
* don't bother allocating iconv info on pipeGravatar Andy Wingo2011-02-221-1/+0
| | | | | * tekuti/git.scm (run): Don't set encoding on pipe, as we just use bytevector io anyway.
* use ice-9 binary-portsGravatar Andy Wingo2011-02-222-4/+4
| | | | | | * tekuti/git.scm: * tekuti/request.scm: Use ice-9 binary-ports instead of (rnrs io ports).
* remove obsolete (tekuti url)Gravatar Andy Wingo2011-02-223-191/+3
| | | | | | | | * tekuti/url.scm: Remove. * Makefile.am: Remove url.scm * tekuti/post.scm: Remove reference to (tekuti url). (parse-post-data): Use uri-encode.
* do not remove numbers and s/./-/ in post keysGravatar Aleix Conchillo Flaque2011-02-182-4/+5
|
* s/unparse-uri/uri->string/Gravatar Andy Wingo2011-02-182-4/+4
|
* fixes due to (web http) updatesGravatar Aleix Conchillo Flaque2011-02-182-16/+15
|
* support for deleting post commentsGravatar Andy Wingo2011-02-185-8/+43
|
* add support for deleting postsGravatar Andy Wingo2011-02-184-4/+31
|
* wordpress-xmlrpc: added usage helpGravatar Aleix Conchillo Flaque2011-02-181-1/+13
|
* wordpress-xmlrpc: more youtube/googlevideo updatesGravatar Aleix Conchillo Flaque2011-02-181-7/+12
|
* inform the user of malformed xhtml internal error when ↵Gravatar Aleix Conchillo Flaque2011-02-182-6/+7
| | | | publishing
* wordpress-xmlrpc: use video.google.com instead of .esGravatar Aleix Conchillo Flaque2011-02-181-1/+1
|
* wordpress-xmlrpc: fix googlevideo and youtube urlsGravatar Aleix Conchillo Flaque2011-02-181-6/+7
|
* wordpress-xmlrpc: fix media html tags (again)Gravatar Aleix Conchillo Flaque2011-02-181-1/+1
|
* wordpress-xmlrpc: fix media html tagsGravatar Aleix Conchillo Flaque2011-02-181-2/+2
|
* wordpress-xmlrpc: added support for wp media tags ↵Gravatar Aleix Conchillo Flaque2011-02-181-0/+29
| | | | youtube/googlevideo
* wordpress-xmlrpc: download unlimited commentsGravatar Aleix Conchillo Flaque2011-02-181-2/+4
|
* wordpress-xmlrpc: use str type for pycurl urlsGravatar Aleix Conchillo Flaque2011-02-181-1/+1
|
* add head link tag for atom feedGravatar Aleix Conchillo Flaque2011-02-181-1/+6
|
* added wordpress (xmlprc) to tekuti scriptGravatar Aleix Conchillo Flaque2011-02-181-0/+162
|
* mod-lisp updatesGravatar Andy Wingo2011-02-181-86/+43
| | | | | * tekuti/mod-lisp.scm: update tekuti/mod-lisp to parse headers to symbols, and to deal in bytevectors only.
* request-form-data smarter about character encodingsGravatar Andy Wingo2010-12-111-12/+29
| | | | | | * tekuti/request.scm (request-form-data): Allow the body to be a bytevector. Update to new uri interface, and allow alternate encodings.
* mod-lisp calls setvbuf only onceGravatar Andy Wingo2010-12-061-4/+2
| | | | | * tekuti/mod-lisp.scm (mod-lisp-read): Like the http impl, just setvbuf once, and don't throw away data (!).
* fix time comparisonsGravatar Andy Wingo2010-12-061-3/+4
| | | | * tekuti/cache.scm (make-entry): Fix time comparisons.
* more etagGravatar Andy Wingo2010-12-061-1/+3
| | | | | * tekuti/page.scm (page-feed-atom): Also set etag on 304 responses here.
* cache returns 304 as appropriate; more pages set etagsGravatar Andy Wingo2010-12-063-22/+81
| | | | | | | | | | | * 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.
* robustness in mod-lisp-readGravatar Andy Wingo2010-12-061-6/+11
| | | | | * tekuti/mod-lisp.scm (mod-lisp-read): Close the port if there is an error reading the request.
* fix cachingGravatar Andy Wingo2010-12-053-58/+106
| | | | | | | | | | | * 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.
* simpler caching algorithmGravatar Andy Wingo2010-12-041-4/+5
| | | | | * tekuti/cache.scm: Simpler LRU algorithm for the cache. Conses more, but throws away the cache less.
* mod-lisp sets client sockets to iso-8859-1Gravatar Andy Wingo2010-12-041-0/+3
| | | | | * tekuti/mod-lisp.scm (read-request/mod-lisp): Set port's encoding to latin-1, so that we reading one char reads one byte.
* use the simple cacheGravatar Andy Wingo2010-12-031-8/+19
| | | | * tekuti/web.scm: Use the cache.
* add a simple cacheGravatar Andy Wingo2010-12-032-0/+48
| | | | * tekuti/cache.scm: Add a simple cache.
* tekuti git uses get-bytevector-allGravatar Andy Wingo2010-12-031-2/+9
| | | | | * tekuti/git.scm (run): Use get-bytevector-all instead of read-delimited.
* update mod-lisp web server implGravatar Andy Wingo2010-12-031-25/+85
| | | | | | * 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 is a shell scriptGravatar Andy Wingo2010-11-241-35/+20
| | | | * src/tekuti: Change to be a shell script.