Compare commits

..

3 commits

Author SHA1 Message Date
e3ed4da99b
feat: disable editor
All checks were successful
/ pre-commit (push) Successful in 1m47s
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-24 07:10:59 +02:00
2ce17b0a3b
style: Simplify condition to load bootstrap
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-24 07:10:57 +02:00
6d0ce573b3
feat: replace Monaco by Ace
- Remove the Monaco Editor because it was to heavy and hard to integrate
- Use Ace instead
- Use the lowercase identifier for languages (ex: "Text" -> "text")
- Select automatically the default language in the drop down to create a note
  (like the expiration)
- Add `ace_directory` to serve assets from a local folder instead of a CDN
- "hcl" syntax highlighting has been removed
- "go" syntax highlighting has been renamed to "golang"

Signed-off-by: Julien Riou <julien@riou.xyz>
2025-09-24 07:10:52 +02:00
3 changed files with 8 additions and 8 deletions

View file

@ -89,12 +89,12 @@ func (h *GetNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
} }
} }
type GetEncryptedNoteHandler struct { type GetProtectedNoteHandler struct {
logger *slog.Logger logger *slog.Logger
db *Database db *Database
} }
func (h *GetEncryptedNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (h *GetProtectedNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain; charset=utf-8") w.Header().Set("Content-Type", "text/plain; charset=utf-8")
vars := mux.Vars(r) vars := mux.Vars(r)

View file

@ -194,7 +194,7 @@ func (h *GetWebNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
h.Templates.ExecuteTemplate(w, "note", h.PageData) h.Templates.ExecuteTemplate(w, "note", h.PageData)
} }
func (h *GetEncryptedWebNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (h *GetProtectedWebNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
h.PageData.Err = nil h.PageData.Err = nil
templateName := "note" templateName := "note"
@ -227,7 +227,7 @@ func (h *GetEncryptedWebNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Re
h.PageData.Note = note h.PageData.Note = note
h.logger.Debug("rendering encrypted note web page") h.logger.Debug("rendering protected note web page")
h.Templates.ExecuteTemplate(w, "note", h.PageData) h.Templates.ExecuteTemplate(w, "note", h.PageData)
} }

View file

@ -71,7 +71,7 @@ func WriteError(w http.ResponseWriter, message string, err error) {
}.ToJSON()) }.ToJSON())
} }
type GetEncryptedWebNoteHandler struct { type GetProtectedWebNoteHandler struct {
Templates *template.Template Templates *template.Template
PageData PageData PageData PageData
logger *slog.Logger logger *slog.Logger
@ -100,7 +100,7 @@ func (s *Server) Start() error {
// API // API
r.Path("/api/note").Handler(&CreateNoteHandler{logger: s.logger, db: s.db, maxUploadSize: s.config.MaxUploadSize}).Methods("POST") r.Path("/api/note").Handler(&CreateNoteHandler{logger: s.logger, db: s.db, maxUploadSize: s.config.MaxUploadSize}).Methods("POST")
r.Path("/{id:[a-zA-Z0-9]+}/{encryptionKey:[a-zA-Z0-9]+}").Handler(&GetEncryptedNoteHandler{logger: s.logger, db: s.db}).Methods("GET") r.Path("/{id:[a-zA-Z0-9]+}/{encryptionKey:[a-zA-Z0-9]+}").Handler(&GetProtectedNoteHandler{logger: s.logger, db: s.db}).Methods("GET")
r.Path("/{id:[a-zA-Z0-9]+}").Handler(&GetNoteHandler{logger: s.logger, db: s.db}).Methods("GET") r.Path("/{id:[a-zA-Z0-9]+}").Handler(&GetNoteHandler{logger: s.logger, db: s.db}).Methods("GET")
// Web pages // Web pages
@ -147,13 +147,13 @@ func (s *Server) Start() error {
r.Path("/clients.html").Handler(clientsHandler).Methods("GET") r.Path("/clients.html").Handler(clientsHandler).Methods("GET")
r.Path("/clients/{os:[a-z]+}-{arch:[a-z0-9]+}/{clientName:[a-z]+}").Handler(&ClientHandler{logger: s.logger, version: p.Version}).Methods("GET") r.Path("/clients/{os:[a-z]+}-{arch:[a-z0-9]+}/{clientName:[a-z]+}").Handler(&ClientHandler{logger: s.logger, version: p.Version}).Methods("GET")
encryptedWebNoteHandler := &GetEncryptedWebNoteHandler{ protectedWebNoteHandler := &GetProtectedWebNoteHandler{
Templates: templates, Templates: templates,
PageData: p, PageData: p,
logger: s.logger, logger: s.logger,
db: s.db, db: s.db,
} }
r.Path("/{id:[a-zA-Z0-9]+}/{encryptionKey:[a-zA-Z0-9]+}.html").Handler(encryptedWebNoteHandler).Methods("GET") r.Path("/{id:[a-zA-Z0-9]+}/{encryptionKey:[a-zA-Z0-9]+}.html").Handler(protectedWebNoteHandler).Methods("GET")
webNoteHandler := &GetWebNoteHandler{ webNoteHandler := &GetWebNoteHandler{
Templates: templates, Templates: templates,