Commit Graph

26 Commits

Author SHA1 Message Date
tdurieux b316d18bd8 fix: clicking a gutter line updates the URL to #L<n>
The viewer already supported jumping to a line via #L42 in the URL but
never produced one — users had to type it manually. Wire guttermousedown
on the ACE editor to replaceState a #L<n> hash, with shift-click for a
range. Also reapply the highlight on hashchange so pasting a URL into
the address bar works without reload.

Fixes #392.
2026-05-03 20:25:41 +02:00
tdurieux d138d487f2 fix: don't drop a path segment when resolving "./" relative URLs
urlRel2abs() prepended an extra "." when it saw "./X", turning the
relative path into "../X" and silently moving up a directory. As a
result, raw HTML <img src="./imgs/run.png"> inside a README rendered
under /r/<repo>/<file> resolved to /r/<repo>/imgs/... instead of
/r/<repo>/<dir>/imgs/..., so the image 404'd. Markdown image syntax
went through marked-base-url and was unaffected.

Strip the leading "./" instead so the relative path concatenates
cleanly with baseUrl.

Fixes #346.
2026-05-03 20:01:33 +02:00
tdurieux e18961208a fix(admin): bind token form to dotted scope to escape ng-if child scope
The Generate button silently no-op'd because ng-model="newTokenName" inside
an ng-if block wrote to a child scope, leaving $scope.newTokenName empty.
Use $scope.tokenForm.{name,plaintext} so prototypal lookup resolves to the
controller scope.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 19:40:28 +02:00
tdurieux 9f1ae1924b fix: auto-dismiss toast notifications after 8s
Toasts used class="toast show" with ng-repeat but never initialized
Bootstrap's toast plugin, so they stayed pinned until manually closed.
Each navigation re-fired toasts (e.g. "README not found in github
pages"), stacking duplicates.

Add an $scope.addToast helper that schedules removal via $timeout, and
route all push sites through it.

Fixes #246.
2026-05-03 19:35:42 +02:00
tdurieux a5f66d6844 multiple fixes 2026-05-03 15:30:54 +02:00
tdurieux 88f826aab4 update design 2026-04-24 14:55:18 +02:00
Thomas Durieux 2621dfd7fc (feat): added mermaid rendering support in markdown (#676) 2026-04-15 09:56:35 +02:00
Thomas Durieux 261eaa8d79 Polish website UX: unify dashboards, clean up layout, modernize styling (#668) 2026-04-15 09:30:19 +02:00
Thomas Durieux 1d97c76e7e Improve mobile layout and redesign admin interface (#665) 2026-04-15 06:04:43 +02:00
Thomas Durieux 812f8b6314 Sanitize markdown HTML output with DOMPurify to prevent XSS (#658) 2026-04-15 04:22:38 +02:00
tdurieux d8dd408a65 fix: avoid cache of list of files 2024-07-22 16:20:18 +02:00
tdurieux e9e881fdc3 fix(#290): fix tree rendering of files inside a single folder 2024-05-15 11:18:16 +02:00
tdurieux a30d5b31a6 fix(#286): fix open and closing folder 2024-05-13 18:45:11 +02:00
tdurieux 93606a5c39 fix: catch error when requesting a folder 2024-05-03 10:49:25 +02:00
tdurieux 3a00a27153 feat: improve support for binary & audio files 2024-04-28 10:01:40 +01:00
tdurieux a86e050f8b fix: handle empty repository 2024-04-26 13:48:32 +01:00
tdurieux a0dff4389d fix: fix ui folder tree 2024-04-26 12:50:24 +01:00
tdurieux b0fa5e6689 fix: hot fix, replace repoID by repoId 2024-04-26 12:40:56 +01:00
tdurieux 710f7328e7 feat: flatten file tree for better performance 2024-04-26 10:32:09 +01:00
tdurieux b4ff27f560 fix: improve katex support 2024-04-11 21:38:42 +01:00
tdurieux 6b9574add3 fix: improve repository rename 2024-04-11 17:13:01 +01:00
tdurieux cb3d999ed3 fix: add missing KaTeX fonts 2024-04-05 12:02:50 +01:00
tdurieux f30110c567 fix: improve link rendering 2024-04-05 11:04:29 +01:00
tdurieux c3a890dac7 fix: fix minimization of the client js 2024-04-05 10:34:24 +01:00
tdurieux 9e995a04db fix: fix code rendering 2024-04-05 10:21:38 +01:00
tdurieux 22a28a913d perf: improve page loading time 2024-04-05 01:02:41 +01:00