Commit Graph

31 Commits

Author SHA1 Message Date
2f39be4152 Finish implemtning OPML importer
Now with progress messages!
2023-08-29 00:35:19 -04:00
eddf39b62e Added importer actor, file upload still not working 2023-07-22 22:54:57 -04:00
e6a37703be Use tokio::sync::mutex for Crawls 2023-07-19 23:03:35 -04:00
d17f909312 Add CrawlScheduler actor, shared client w/ last modified headers 2023-07-15 21:40:31 -04:00
0dfde7cd31 Begin adding pagination for feeds 2023-07-15 02:12:59 -04:00
4837cbb903 Add crawl metadata to feed & improve model interface 2023-07-15 00:40:10 -04:00
923776d7a1 Add DomainLocks to serialize requests to each domain
All async tasks must wait 1 second since the last request to make
another to the same domain.
2023-07-14 00:55:35 -04:00
b7efc61cfc Add EntryCrawler that uses readability lib
Actors delegating to actors baybeeee
2023-07-11 01:52:38 -04:00
f13c7e5e70 Add an async actor FeedCrawler for fetching feed details
Currently, this allows the browser to subscribe to the response of the
asynchronous crawl after they add a new feed.

Eventually I will also use this in the main scheduled crawls. Right now,
it only upserts feed metadata based on the parsed feed.
2023-07-09 21:30:23 -04:00
b94555d346 Delete feed button
And a non-functional edit button
2023-07-08 01:52:15 -04:00
478e72d8f0 Add feed form 2023-07-08 01:05:49 -04:00
f69d0f2752 Improve feed list and add feed page 2023-07-07 16:03:59 -04:00
3f028c3088 Store entry html content outside DB in file storage
Since the HTML content can get quite big and can have embeded images.
2023-07-05 23:45:49 -04:00
76cc87631f Add frontend JS and improve post styling
Frontend is built with Bun. It uses Stimulus to progressively enhance
the server-built HTML. Currently, it only replaces UTC timestamps from
the server with the time in the browser's timezone.
2023-06-27 14:03:52 -04:00
abd540d2ff Better database layout with uuid primary keys
Serialize and deserialize the uuid ids as base62 strings in the URLs.
2023-06-27 14:03:52 -04:00
4e41bbd6e1 Add domain to entry list 2023-06-27 14:03:52 -04:00
97c4ae73f0 Add static file server, CSS styles for home
Also fix the livereloading.
2023-06-09 01:06:19 -04:00
758e644173 Add published_at to entries, begin to support pagination
Articles will be sorted by their published_at dates for now.
2023-06-08 01:20:21 -04:00
3f29138bd1 Fetch and save entry HTML content with metadata
And render the extracted HTML on the entry page in the frontend.
2023-06-07 01:06:03 -04:00
786f3a194f Streaming log page with colors
Using the ansi-to-html crate.
2023-06-06 21:14:29 -04:00
6713a7a440 Complete log stream implementation
Sets up a watch channel to send tracing lines from tracing-subscriber to
receivers in a axum handler which streams Server Sent Events to any
number of connected /log/stream clients.
2023-06-03 19:03:58 -04:00
951d6d23e2 Add /log page that displays server log
This will eventually be behind an authorization guard so that only I
have access, but it's useful to have for monitoring and testing out
turbo streams.
2023-06-03 01:09:25 -04:00
ea236dff4e Add rudimentary entry page, fix main frame link navigation 2023-06-02 00:31:25 -04:00
a67ffbbbed Add layout and feeds page, add hotwire 2023-06-01 22:48:09 -04:00
e501c15c66 Add header partial 2023-06-01 00:59:39 -04:00
1698ef9c60 Add maud for frontend and move api to sub module 2023-06-01 00:03:00 -04:00
bf40b803a9 Rename item to entry 2023-05-17 23:10:09 -04:00
ae8f15f19b Add very basic crawl job
Loops through feeds and adds items from each feed.
2023-05-09 23:55:42 -04:00
b2a5bf5882 Add feed model, link items to feeds 2023-05-07 21:25:22 -04:00
de157a3b1e Improve error handling 2023-05-07 18:20:19 -04:00
c2c0f7a28d Initial commit with basic axum and sqlx API 2023-05-07 17:41:45 -04:00