Commit Graph

113 Commits (4127f923aa174ecebed93898dd39c1b21b6b2605)

Author SHA1 Message Date
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