Aravinth Manivannan
4127f923aa
feat: create and add matrix room
2022-06-13 22:12:45 +05:30
Aravinth Manivannan
c2a4f53385
chore: update rust-embed
...
ref: [RUSTSEC-2021-0126](https://rustsec.org/advisories/RUSTSEC-2021-0126.html )
2022-04-06 11:32:41 +05:30
Aravinth Manivannan
d948730110
feat: render markdown comments
2022-04-06 11:31:39 +05:30
Aravinth Manivannan
31f2c6960a
feat: render markdown files in gists
2022-04-06 11:02:33 +05:30
Aravinth Manivannan
8f2a8ed1a1
chore & fix: fix broken link
2022-04-05 12:43:46 +05:30
Aravinth Manivannan
d88f0e8bff
chore: updated dep realaravinth/actix-web-codegen to fix CI
2022-04-03 20:06:47 +05:30
Aravinth Manivannan
2d06e7fa39
fix: delete all gist repositories when account is deleted
2022-03-24 19:32:51 +05:30
Aravinth Manivannan
1568e48eea
feat: raw and single page views for gist files
2022-03-20 21:48:11 +05:30
Aravinth Manivannan
13388326ef
chore & fix: modularize templates and fix multi-file gists for the final
...
time.
2022-03-14 13:57:32 +05:30
Aravinth Manivannan
2bd3b38869
fix: multi-file gist styling
2022-03-14 11:10:31 +05:30
Aravinth Manivannan
5bdbdaf267
feat: display comments on gists
2022-03-13 20:00:42 +05:30
Aravinth Manivannan
dbc233c1ed
feat: comment on gists
2022-03-13 19:25:33 +05:30
Aravinth Manivannan
95efab95da
feat: load comments in gists view route and comment form
2022-03-13 17:34:18 +05:30
Aravinth Manivannan
b89a9004d4
feat: improve gist view styling
2022-03-12 23:47:48 +05:30
Aravinth Manivannan
2b5596abd0
feat: check code upload and syntax highlighting
2022-03-12 23:46:35 +05:30
Aravinth Manivannan
2323dbf82c
feat: gist view
2022-03-12 18:16:42 +05:30
Aravinth Manivannan
9fb203de32
feat: conditionally display profile link
2022-03-11 23:53:31 +05:30
Aravinth Manivannan
3e42c621fb
feat: placeholder website
2022-03-09 11:13:11 +05:30
Aravinth Manivannan
88e1bfc146
feat: setup zola to deploy website
2022-03-09 10:42:53 +05:30
Aravinth Manivannan
53cb808083
feat: demo user banner on login and register pages
2022-03-08 08:43:46 +05:30
Aravinth Manivannan
2db966c04a
feat: gist index view
2022-02-28 12:18:49 +05:30
Aravinth Manivannan
edca78906e
feat: gist preview
...
SUMMARY
crate::data::Data::gist_preview fetches gist metadata from DB and
retrieves contents of all the files(see notes #1 ) stored in the
repository
NOTES
1) Data::gist_preview uses Data::read_file under the hood, which
currently reads subdirectories up to level 1 depth. Decision has
to be made regarding what to do with level 2 and below
subdirectories. TODO
2022-02-28 10:38:13 +05:30
Aravinth Manivannan
5791e829fd
feat: utility method to parse gist public ID from repo path
2022-02-28 10:36:00 +05:30
Aravinth Manivannan
375bdc1e6c
chore: use references to GistID whenever possible
2022-02-28 10:34:26 +05:30
Aravinth Manivannan
3a1666f23c
chore: gist creation test
2022-02-28 09:02:06 +05:30
Aravinth Manivannan
b698884b49
feat: gist creation form
2022-02-27 20:41:45 +05:30
Aravinth Manivannan
ff01303bea
feat: readme: add docker img badge
2022-02-27 20:17:24 +05:30
Aravinth Manivannan
92f48b7bfb
feat: add new gist form gets error handling and rendering with
...
user-provided values on error
2022-02-27 20:14:53 +05:30
Aravinth Manivannan
7fdf815a14
chore: clippy lints
2022-02-27 18:54:13 +05:30
Aravinth Manivannan
55f7b3c3a1
fix: non-authenticated requests to pages endpoint redirected to registration, now redirects to login page
2022-02-27 18:53:51 +05:30
Aravinth Manivannan
1c21596e29
feat: CI: build and publish docker image
2022-02-26 21:10:36 +05:30
Aravinth Manivannan
bfb7185801
feat: package docker img
2022-02-26 20:04:45 +05:30
Aravinth Manivannan
20d34867cf
feat: add more tests
2022-02-23 21:01:15 +05:30
Aravinth Manivannan
9e15e04ca5
feat: new gist page and extractors to handle new gist form payload
...
SUMMARY
REST API for gist creation uses JSON for payload format, which
supports array. Form doesn't so gist file field names(filename and
content) follow {KNOWN_PREFIX}{index} semantics, which can be parsed
while processing request.
2022-02-23 20:34:24 +05:30
Aravinth Manivannan
f5a22a2916
fix: add validation to check for empty file array during gist creation
2022-02-23 20:32:32 +05:30
Aravinth Manivannan
0ba7559425
feat: view gist route and helper method to construct route from parts
2022-02-23 19:43:58 +05:30
Aravinth Manivannan
5ae12f98b3
fix: remove placeholder home route and save profile link in auth_ctx
2022-02-23 19:42:29 +05:30
Aravinth Manivannan
68fc93b33f
fix: login-register template name clash
2022-02-23 19:40:29 +05:30
Aravinth Manivannan
56ff863042
feat: add tests for HTML signout route
2022-02-23 19:40:05 +05:30
Aravinth Manivannan
371e56ab47
fix: set authentication session cookie and load middleware
2022-02-23 19:39:06 +05:30
Aravinth Manivannan
28b501810e
feat: separate navigation bars for logged and unauthenticated users
...
SUMMARY
Authenticated and unauthenticated users have different requirements.
Links to profile and settings are irrelevant for unauthenticated
users. So separate navigation bars.
USAGE
crate::pages::auth_ctx
Authenticated user context should be supplied on every
authenticated route template render. Authenticated navigation
bar depends on "loggedin_user" to render profile link.
AUTH_NAV("auth_nav")
Should only be used in authenticated routes. Depends on
"loggedin_user" authenticated user context, which can't be
supplied in unauthenticated routes.
NOTES
Currently, there's (template)code
duplication, when inheritance for "include" templates are
implemented in Tera crate, navigation bars implementations should be
refactored to avoid duplication.
2022-02-23 12:17:48 +05:30
Aravinth Manivannan
3d040ede86
feat: gist routes and methods to generate profile route from component
2022-02-23 12:07:41 +05:30
Aravinth Manivannan
1f4053f361
feat: load embedded templates
2022-02-23 09:55:06 +05:30
Aravinth Manivannan
551a48d0c5
feat: embed templates in binary
2022-02-23 09:54:22 +05:30
Aravinth Manivannan
d0dbfd9729
chore: reorganize templates
2022-02-23 09:52:56 +05:30
Aravinth Manivannan
8dd20a4f52
feat: register templates fills form on err
2022-02-23 08:10:43 +05:30
Aravinth Manivannan
78d24af48c
feat: convert empty emails to None in register form handler
...
SUMMARY
Browsers send empty strings for empty fields in form submissions.
Email is optional in registration process but empty field fails
validation for email and results in 400 bad request. Converting
empty strings to None fixes this.
2022-02-23 08:08:02 +05:30
Aravinth Manivannan
fdbd62a0a6
feat: add error styling
2022-02-23 08:07:37 +05:30
Aravinth Manivannan
3b6a5938d7
feat: login form submission
2022-02-22 22:03:03 +05:30
Aravinth Manivannan
dba0834eff
feat: register form submission
2022-02-22 21:57:13 +05:30