Commit graph

186 commits

Author SHA1 Message Date
Magnus Hoff
3521fd76b3 Add license information for missing crates 2017-11-14 14:37:31 +01:00
Magnus Hoff
1911a914ef Generate license attributions from JSON
JSON is mainly generated by cargo-license-hound
2017-11-14 13:06:50 +01:00
Magnus Hoff
249e428107 Rename proc macro helper crate 2017-11-14 11:35:13 +01:00
Magnus Hoff
21905b3506 Cleanup 2017-11-14 11:29:31 +01:00
Magnus Hoff
26fc263cd4 Reword about page. Add list of dependencies and licenses 2017-11-07 15:54:46 +01:00
Magnus Hoff
7ad2a2ad73 Add SIL Open Font License 2017-11-07 15:49:26 +01:00
Magnus Hoff
ce7c0893bc Cleanup 2017-11-06 16:28:31 +01:00
Magnus Hoff
a796f299a4 Add link to diff view from article revision 2017-11-06 16:26:37 +01:00
Magnus Hoff
f9905e6548 Avoid generating invalid diff links in changes feed 2017-11-06 16:07:25 +01:00
Magnus Hoff
5acca0ddb7 Add links to the article before and after diff 2017-11-06 15:58:16 +01:00
Magnus Hoff
ac5ff0dbcc Add link to article history from diff page 2017-11-06 15:52:51 +01:00
Magnus Hoff
bfd2acda4f Get article revisions from database during diff lookup.
Diffs for missing revisions now cause 404-errors
2017-11-06 15:45:11 +01:00
Magnus Hoff
2e5b549ea8 Restructure the diff resource so it is only possible to see diffs between revisions of the same article 2017-11-06 15:09:21 +01:00
Magnus Hoff
c24c5a84d5 Generate links to diffs from changes feed 2017-11-06 13:37:46 +01:00
Magnus Hoff
9cb3da86e2 Also render diff of title 2017-11-06 13:06:32 +01:00
Magnus Hoff
e563faf81a Refactor lookup of license resources 2017-11-02 15:34:36 +01:00
Magnus Hoff
29a7d58b41 Use maplit for static hash map literal 2017-11-02 15:19:23 +01:00
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