Magnus Hoff
|
5ea9dbef71
|
Add BSD-3-Clause to list of licenses
|
2017-11-02 15:16:16 +01:00 |
|
Magnus Hoff
|
faec67c797
|
Include and serve relevant software licenses
|
2017-11-02 14:48:22 +01:00 |
|
Magnus Hoff
|
63b9715550
|
Add a bare bones _about page. #10
|
2017-11-01 15:38:50 +01:00 |
|
Magnus Hoff
|
78bd53e640
|
Machine readable branding.
Include project name and version in Server header and generator meta tag
|
2017-11-01 13:17:58 +01:00 |
|
Magnus Hoff
|
833c96b58d
|
Make use of .default_value in clap
|
2017-11-01 11:58:11 +01:00 |
|
Magnus Hoff
|
548555c45e
|
Populate clap with information from Cargo.toml
|
2017-11-01 11:44:49 +01:00 |
|
Magnus Hoff
|
59b9e77d47
|
Rudimentary support for comparing revisions of articles
For issue #21
|
2017-10-30 16:35:21 +01:00 |
|
Magnus Hoff
|
a6f707b911
|
Allow configuration of bind address
|
2017-10-30 14:59:39 +01:00 |
|
Magnus Hoff
|
b6d3cbf2c6
|
Improve regression resistance with named consts
|
2017-10-30 14:40:49 +01:00 |
|
Magnus Hoff
|
3dd4927281
|
Forbid empty titles in application layer
|
2017-10-30 13:20:40 +01:00 |
|
Magnus Hoff
|
975661048e
|
Refactor to reuse TemporaryRedirectResource instead of ArticleRedirectResource
|
2017-10-30 12:56:28 +01:00 |
|
Magnus Hoff
|
1bdc21039b
|
Refactor generation of links from slugs
This fixes a bug where the cancel-link on the front page would be to "" rather than "."
|
2017-10-30 12:42:53 +01:00 |
|
Magnus Hoff
|
4ca748f180
|
Optionally show authors in _changes based on --trust-identity command line argument.
This fixes #19
|
2017-10-30 11:44:36 +01:00 |
|
Magnus Hoff
|
ef4a3e689b
|
More properly fix --trust-identity command line option
|
2017-10-30 11:33:05 +01:00 |
|
Magnus Hoff
|
245ecaa969
|
Prefer dashes in command line options
|
2017-10-30 11:04:01 +01:00 |
|
Magnus Hoff
|
5b37a41632
|
Support editing articles without JavaScript
|
2017-10-30 11:01:37 +01:00 |
|
Magnus Hoff
|
c86f24a665
|
Use branch of pulldown-cmark to achieve proper html handling
|
2017-10-28 14:26:01 +02:00 |
|
Magnus Hoff
|
b81137ad25
|
Prev and next-links for search result. "More"-link for instant search
|
2017-10-25 16:34:21 +02:00 |
|
Magnus Hoff
|
74b8040d39
|
Refactor CSS for search results. Add support for keyboard control to full search results page
|
2017-10-25 16:02:30 +02:00 |
|
Magnus Hoff
|
056f1ddf72
|
Implement interactive search
|
2017-10-25 13:24:42 +02:00 |
|
Magnus Hoff
|
2cdbd7c7f5
|
Use content type negotiation (the Accept header) to serve different formats from the _search endpoint
|
2017-10-25 11:39:19 +02:00 |
|
Magnus Hoff
|
9336fbf3cd
|
Expand search api
|
2017-10-24 22:16:10 +02:00 |
|
Magnus Hoff
|
59c11897b2
|
Tweak FTS query
Attempt to smartly use NEAR searches and prefix searches depending on input. This is hopefully a good idea
|
2017-10-24 21:54:27 +02:00 |
|
Magnus Hoff
|
8104430701
|
Refactor
|
2017-10-24 21:23:18 +02:00 |
|
Magnus Hoff
|
a07f47c0f7
|
Implement quoting for the FTS search syntax of SQLite
This makes search queries safe for user input
|
2017-10-24 21:21:02 +02:00 |
|
Magnus Hoff
|
1bb1df8cf0
|
Add a first approximation of full text search. Issue #8
|
2017-10-24 16:48:16 +02:00 |
|
Magnus Hoff
|
628f3501a2
|
Remove pointless self-link
|
2017-10-24 12:59:37 +02:00 |
|
Magnus Hoff
|
5fc11abcfd
|
Add text to _changes explaining the query. Add links to variants of the query
|
2017-10-24 12:49:19 +02:00 |
|
Magnus Hoff
|
3fb3139d28
|
Tweak links to _changes feed
|
2017-10-24 12:27:39 +02:00 |
|
Magnus Hoff
|
d67cc668a2
|
Update links from _changes to point to historical revisions of articles.
This fixes #14.
Also: Add links to _changes filtered by author for authors in the _changes feed
|
2017-10-24 11:04:37 +02:00 |
|
Magnus Hoff
|
ffccc5722c
|
Add view of historical article revisions
|
2017-10-24 11:03:09 +02:00 |
|
Magnus Hoff
|
db0c2ef7f7
|
Finish refactoring, reducing some cloning
|
2017-10-24 09:19:01 +02:00 |
|
Magnus Hoff
|
a270963824
|
Fix handling of empty result sets in _changes
|
2017-10-23 16:13:18 +02:00 |
|
Magnus Hoff
|
f097313e53
|
Add links in footer to article and author history
|
2017-10-23 16:10:19 +02:00 |
|
Magnus Hoff
|
d7d555d4d5
|
Implement support for filtering searches by author
|
2017-10-23 15:56:27 +02:00 |
|
Magnus Hoff
|
dd22bcde98
|
Add support for filtering _changes by article_id
|
2017-10-23 15:48:41 +02:00 |
|
Magnus Hoff
|
955254335d
|
Make page size/limit for _changes configurable.
Refactor handling of query args and building of links. This paves the way for more query args
|
2017-10-23 15:32:52 +02:00 |
|
Magnus Hoff
|
0f1e1f65ed
|
Factor out pagination resolver from ChangesResource and call it ChangesLookup
|
2017-10-22 14:36:05 +02:00 |
|
Magnus Hoff
|
b3ffcb916b
|
Redirect after-pagination queries to the corresponding before-queries
This normalizes the URLs, avoiding duplicate URLs for a sublist
|
2017-10-22 13:38:13 +02:00 |
|
Magnus Hoff
|
7a63fdca0e
|
Refactor ChangesResource to handle pagination only in terms of before
|
2017-10-22 13:16:29 +02:00 |
|
Magnus Hoff
|
50b86db597
|
Internally reformulate all pagination queries as before-queries
This fixes the pagination links so they only show up when relevant
|
2017-10-22 13:07:50 +02:00 |
|
Magnus Hoff
|
6c36e3cb49
|
Add links to newest and oldest changes
|
2017-10-22 12:41:42 +02:00 |
|
Magnus Hoff
|
d918d614b4
|
Refactor pagination
|
2017-10-20 20:48:43 +02:00 |
|
Magnus Hoff
|
29c4180496
|
Make it an error to specify both before and after for pagination
|
2017-10-20 20:48:43 +02:00 |
|
Magnus Hoff
|
0dacad5a3e
|
Refactor handling of pagination query arguments
|
2017-10-20 20:48:43 +02:00 |
|
Magnus Hoff
|
a42010a1f8
|
Verify that the user attempts to create a new article
|
2017-10-19 13:46:22 +02:00 |
|
Magnus Hoff
|
700cf42eb0
|
Improve footer when article does not exist
|
2017-10-19 13:39:03 +02:00 |
|
Magnus Hoff
|
904bfd2a0b
|
Restructure footer.
Less irrelevant information. Refactor rendering of "last updated"
|
2017-10-19 13:26:54 +02:00 |
|
Magnus Hoff
|
f923b5b6c0
|
Display author name in articles and _changes. This fixes #6
|
2017-10-18 16:53:27 +02:00 |
|
Magnus Hoff
|
d22ac6ef84
|
Only trust the X-Identity header when it is specified on the command line
|
2017-10-18 16:46:55 +02:00 |
|
Magnus Hoff
|
c85715c969
|
Start tracking authors for edits. #6
|
2017-10-18 16:33:21 +02:00 |
|
Magnus Hoff
|
94b3966e46
|
Rudimentary pagination for _changes
|
2017-10-15 23:15:12 +02:00 |
|
Magnus Hoff
|
8b2e601a46
|
Cleanup
|
2017-10-15 17:31:11 +02:00 |
|
Magnus Hoff
|
6d3d48c56e
|
Parse query args for pagination in /_changes
|
2017-10-15 17:22:38 +02:00 |
|
Magnus Hoff
|
4f9cf4d15e
|
Refactor assets routing
|
2017-10-15 16:49:55 +02:00 |
|
Magnus Hoff
|
c0521b5703
|
Refactor routing
|
2017-10-15 16:34:27 +02:00 |
|
Magnus Hoff
|
f40b6ce70d
|
Refactor routing
|
2017-10-15 14:26:22 +02:00 |
|
Magnus Hoff
|
4756441064
|
Refactor path splitting in router
|
2017-10-14 15:13:03 +02:00 |
|
Magnus Hoff
|
73df2edc1a
|
More humane timedate formatting in footer
|
2017-10-13 16:31:31 +02:00 |
|
Magnus Hoff
|
b5bcd66011
|
Introduce base href
|
2017-10-13 16:05:22 +02:00 |
|
Magnus Hoff
|
f2de8111c9
|
Structure template folder
Move errors to their own folder
|
2017-10-13 15:36:22 +02:00 |
|
Magnus Hoff
|
d1a3814286
|
Collect Resource types in a module
|
2017-10-13 15:21:23 +02:00 |
|
Magnus Hoff
|
2cb80e2bac
|
Add sitemap. This fixes #3
|
2017-10-13 15:06:16 +02:00 |
|
Magnus Hoff
|
4ed28f99f3
|
Enable table extension for markdown, for issue #4
|
2017-10-12 14:56:43 +02:00 |
|
Magnus Hoff
|
1aeba7b2e3
|
Simplify _changes list
|
2017-10-03 22:31:27 +02:00 |
|
Magnus Hoff
|
f22ffc112a
|
Add basic /_changes page
|
2017-10-03 10:37:18 +02:00 |
|
Magnus Hoff
|
370cbd0c24
|
Add default implementations for dispatch methods in Resource trait
|
2017-10-03 10:36:21 +02:00 |
|
Magnus Hoff
|
2a5f98d43e
|
Slightly less mindless copying
|
2017-10-02 21:47:21 +02:00 |
|
Magnus Hoff
|
b21a7ccda4
|
Don't try to handle fragment in router.
It is strictly a client-side mechanism
|
2017-10-02 21:35:52 +02:00 |
|
Magnus Hoff
|
cdcdf8e72f
|
Refactor server-side initiated edit mode.
Implement support for opening articles for editing without javascript
|
2017-10-02 21:30:31 +02:00 |
|
Magnus Hoff
|
02dd55df39
|
Cleanup
|
2017-10-02 17:11:18 +02:00 |
|
Magnus Hoff
|
1d485798eb
|
Implement /_new, for creating new articles without making up a URL first
|
2017-10-02 17:08:59 +02:00 |
|
Magnus Hoff
|
ce1bbee22c
|
Sort some lists of things lexicographically
|
2017-10-01 23:26:57 +02:00 |
|
Magnus Hoff
|
7562961093
|
Percent decode path segments of URL
|
2017-10-01 23:24:16 +02:00 |
|
Magnus Hoff
|
dc4a136336
|
Cleanup
|
2017-10-01 22:35:06 +02:00 |
|
Magnus Hoff
|
cd784e34c3
|
Bugletfixes
|
2017-09-21 12:11:08 +02:00 |
|
Magnus Hoff
|
9d0ca63aa9
|
When inventing a title from a slug, add some capitalization
|
2017-09-21 11:42:09 +02:00 |
|
Magnus Hoff
|
ad4addfc8c
|
Implement support for inserting new articles
|
2017-09-21 11:38:52 +02:00 |
|
Magnus Hoff
|
0a3cb53a66
|
Add NewArticleResource
Serve placeholder page for non-existing articles.
Redirect user-generated slugs to canonical slugs.
|
2017-09-21 10:58:54 +02:00 |
|
Magnus Hoff
|
01dafa7d37
|
Special case front page so it never gets a non-empty slug
|
2017-09-21 10:23:30 +02:00 |
|
Magnus Hoff
|
3feed530ff
|
Implement support for editing page title
|
2017-09-21 10:09:57 +02:00 |
|
Magnus Hoff
|
631e76324b
|
Cleanup. Make use of .first() and .optional() from Diesel
|
2017-09-20 23:40:07 +02:00 |
|
Magnus Hoff
|
debf44623c
|
Automatically generate slugs for articles based on title
|
2017-09-20 23:31:25 +02:00 |
|
Magnus Hoff
|
e1d823d22e
|
Implement lookup and redirect of articles by slugs
|
2017-09-20 11:54:26 +02:00 |
|
Magnus Hoff
|
ada70b7671
|
Cleanup
|
2017-09-17 15:43:31 +02:00 |
|
Magnus Hoff
|
bb334df128
|
Cleanup based on new version of Diesel
|
2017-09-17 12:19:48 +02:00 |
|
Magnus Hoff
|
88eda46d95
|
Remove all usage of futures::BoxFuture, which is deprecated
|
2017-09-17 12:08:42 +02:00 |
|
Magnus Hoff
|
551cc22383
|
Remove all calls to Future::boxed(), which is deprecated
|
2017-09-17 11:45:35 +02:00 |
|
Magnus Hoff
|
16efa068d8
|
Introduce splitting on /-es in URLs
|
2017-09-17 11:27:50 +02:00 |
|
Magnus Hoff
|
573195d09c
|
Code splitting
|
2017-09-15 17:28:23 +02:00 |
|
Magnus Hoff
|
7391b2db26
|
Cleanup
|
2017-09-15 15:09:51 +02:00 |
|
Magnus Hoff
|
5ab609886b
|
Make a note of license for font
|
2017-09-15 15:07:22 +02:00 |
|
Magnus Hoff
|
51fe78abce
|
Serve header font
|
2017-09-15 15:03:00 +02:00 |
|
Magnus Hoff
|
53c4ff1b5c
|
Extract CSS and JS from templates and serve as static assets
|
2017-09-15 14:54:47 +02:00 |
|
Magnus Hoff
|
320ec98d65
|
Take CPU pool as dependency for State
|
2017-09-10 12:29:33 +02:00 |
|
Magnus Hoff
|
6fb1062376
|
Execute State functions in thread pool
|
2017-09-08 16:21:24 +02:00 |
|
Magnus Hoff
|
b3e7552c16
|
Make State-functons return Future-s
|
2017-09-08 15:58:15 +02:00 |
|
Magnus Hoff
|
50b9ebf59e
|
Make State::update_article return a Future.
In preparation for threading
|
2017-09-08 15:37:58 +02:00 |
|
Magnus Hoff
|
db4f18807d
|
Simplify by removing genericity.
Nothing to be generic over
|
2017-09-08 14:46:18 +02:00 |
|
Magnus Hoff
|
6f94b2f960
|
Silence some warnings
|
2017-09-08 14:43:47 +02:00 |
|
Magnus Hoff
|
1a5b39b3a1
|
Implement editing
|
2017-09-05 17:07:57 +02:00 |
|
Magnus Hoff
|
60a87d1898
|
Introduce db connection pool. Derive Clone for State
|
2017-09-05 15:19:37 +02:00 |
|
Magnus Hoff
|
5a859e5c33
|
Dispatch PUT to ArticleResource
|
2017-09-05 12:05:56 +02:00 |
|
Magnus Hoff
|
84b97efa9d
|
Treat HTML in markdown source as text to be escaped for output
|
2017-09-03 21:33:04 +02:00 |
|
Magnus Hoff
|
2177cd7504
|
Start implementing editor
|
2017-09-02 15:32:59 +02:00 |
|
Magnus Hoff
|
405b203bc7
|
Some layout and styling
|
2017-09-02 15:26:28 +02:00 |
|
Magnus Hoff
|
94758adaf4
|
Make Resource::get consume self, for copyless futures
|
2017-09-01 12:32:30 +02:00 |
|
Magnus Hoff
|
76302353e1
|
HTTP handling refactoring.
Refactor to lookup/route and resource abstractions.
Bake in futures/async support.
Implement more of the HTTP standard.
|
2017-08-25 23:57:06 +02:00 |
|
Magnus Hoff
|
62812c2ddf
|
Print helpful message on startup
|
2017-08-22 16:40:18 +02:00 |
|
Magnus Hoff
|
df63c25646
|
Run migrations on start, not on every connection
|
2017-08-22 09:37:40 +02:00 |
|
Johannes Hoff
|
e997c0f952
|
Read articles from the actual DB
|
2017-08-20 23:44:52 +02:00 |
|
Magnus Hoff
|
d9c3bf1191
|
Templates for error messages
|
2017-08-20 22:39:52 +02:00 |
|
Magnus Hoff
|
4a37a91ece
|
Split layout out from rendering responses
|
2017-08-20 22:34:26 +02:00 |
|
Magnus Hoff
|
35e7bad7d2
|
Simple rendering of stubbed article
|
2017-08-20 22:17:16 +02:00 |
|
Johannes Hoff
|
139a5b51b6
|
Propage database connections; dispatch requests
|
2017-08-20 21:59:16 +02:00 |
|
Magnus Hoff
|
9eb48f7ddc
|
Trivial HTTP response
|
2017-08-20 20:46:08 +02:00 |
|
Magnus Hoff
|
aae43917e2
|
Introduce core_main
|
2017-08-20 20:40:08 +02:00 |
|
Johannes Hoff
|
bc76506ebc
|
Add a web server
|
2017-08-20 20:24:10 +02:00 |
|
Magnus Hoff
|
3abc3cd68a
|
Skeleton with clap and sqlite database
|
2017-08-19 22:48:51 +02:00 |
|