Commit graph

219 commits

Author SHA1 Message Date
Magnus Hoff
6e3f1dab07 Upgrade to Diesel 1.0.0-beta1 2017-12-15 16:43:10 +01:00
Magnus Hoff
b7a7ae53ab Update to Diesel 0.99
This fixes #49
2017-12-15 16:29:24 +01:00
Magnus Hoff
2bf201e3fd Inject soft hyphen into commit hash so it works better on more screens 2017-11-30 13:24:13 +01:00
Magnus Hoff
7dd5c046b7 Merge branch 'proper_html_handling' 2017-11-29 22:52:42 +01:00
Magnus Hoff
07c3f4204f Always update body text when editing, it could be changed server-side due to merging 2017-11-21 09:57:59 +01:00
Magnus Hoff
0f835fa312 Update tests 2017-11-20 16:48:31 +01:00
Magnus Hoff
a09aa4b601 Expose merge conflicts in the JavaScript editor. This fixes #23 2017-11-20 16:37:52 +01:00
Magnus Hoff
b685139d5b Implement merge conflict handling for the noscript case #23 2017-11-20 16:07:33 +01:00
Magnus Hoff
bf9716ccb8 Propagate rebase conflicts out from state object 2017-11-20 15:08:34 +01:00
Magnus Hoff
bfca5d6e78 Rebase title edits, #23 2017-11-20 13:12:36 +01:00
Magnus Hoff
b862ad8c73 Add test for rebasing over multiple revisions 2017-11-20 12:41:14 +01:00
Magnus Hoff
e92eab2c8f Automatically rebase edits to historic revisions, for #23 2017-11-20 12:37:44 +01:00
Magnus Hoff
9be9575639 Cleanup, obsolete attribute 2017-11-20 11:16:27 +01:00
Magnus Hoff
8519480fe4 Use build.rs to properly trigger rebuilds when env vars change, for #44 2017-11-20 10:26:35 +01:00
Magnus Hoff
83b011b9c9 Add more build info. This fixes #44 2017-11-20 10:19:49 +01:00
Magnus Hoff
88b3df21c2 Refactor build information and add more information #44 2017-11-20 10:12:10 +01:00
Magnus Hoff
990f570a31 Tests for article merging 2017-11-17 16:17:05 +01:00
Magnus Hoff
1eff18e659 Implement high level merge function 2017-11-17 16:13:48 +01:00
Magnus Hoff
dfefe78b2b Resolve output from tree-way diff chunks 2017-11-17 15:32:45 +01:00
Magnus Hoff
34ca3e424d Remove Chunk categorization from MergeIterator 2017-11-17 12:41:09 +01:00
Magnus Hoff
1985677474 Cleanup, refactor 2017-11-16 16:38:50 +01:00
Magnus Hoff
f6818f5a7f Maintain state in slices instead of indices 2017-11-16 16:31:24 +01:00
Magnus Hoff
ed5db344fb Emit slices instead of indices 2017-11-16 16:21:49 +01:00
Magnus Hoff
b48816e143 Borrow instead of move 2017-11-16 15:52:32 +01:00
Magnus Hoff
29a6ec6725 Cleanup, more descriptive names 2017-11-16 15:43:45 +01:00
Magnus Hoff
df39e658cd Start implementing merge, for #23 2017-11-16 15:38:45 +01:00
Magnus Hoff
d241da35fb More tests 2017-11-16 10:44:55 +01:00
Magnus Hoff
2665fb3b8a Add a test for State 2017-11-15 16:27:28 +01:00
Magnus Hoff
7b485f87b9 Refactor State, centralizing db connection and cpu pool handling 2017-11-15 15:58:33 +01:00
Magnus Hoff
59e1ca8fb4 Cleanup 2017-11-15 15:12:17 +01:00
Magnus Hoff
403158ddda Split entry point into main.rs and lib.rs.
This might enable some integration tests
2017-11-15 15:06:18 +01:00
Magnus Hoff
334b17ae56 Add license and attribution for musl 2017-11-14 14:48:52 +01:00
Magnus Hoff
efd1cc4b5c Update license-hound 2017-11-14 14:39:48 +01:00
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