Compare commits

..

No commits in common. "75483db66a65c861f726fafe23dbf15959f7a287" and "d6bbeec6557e4ea6dd27fab8ffd5be9292b6d619" have entirely different histories.

5 changed files with 9 additions and 42 deletions

View File

@ -1,31 +0,0 @@
<div align="center" style="text:align:center">
<img src="docs/media/logo.png" width="60%">
</div>
## Features
Available:
- Markdown support (Github flavored)
- Note version history
- Automatic note expiration via `@exp:` title prefixes
- Keyboard navigation support
- User account administration
Waiting to be implemented:
- (Bulk) import/export (Markdown, PDF)
- Webhooks
## Usage
The Dockerized app can be run in fullstack (`docker-compose-full.yml`) and backend (`docker-compose-back.yml`) modes. In backend mode only the Golang server (and the Postgres database) are containerized and the frontend can be run separately for quicker development (`npm run dev`). The default fullstack setup defaults to exposing port 3000.
The `./scripts/run_dev.sh -h` output can be used as reference of running each of the available modes (or purging data from previous test runs with `-p` or `-q`):
```
[?] usage: ./scripts/run_dev.sh [-h|-f|-p]
-f run both frontend and backend (default: false)
-p purge any existing database artifacts (default: false)
-q only purge old data without building/spawning any new containers (default: false)
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -225,7 +225,6 @@ func parseTitleExpiration(title *string) (*time.Time, error) {
// Set midnight at the end of the specified day (+0000 UTC)
expiresAt = time.Date(expiresAt.Year(), expiresAt.Month(), expiresAt.Day(), 23, 59, 59, 0, time.UTC)
log.Debug().Msgf("Parsed absolute expiration date '%s' from input '%s'", expiresAt, dateStr)
return &expiresAt, nil
}
@ -262,7 +261,6 @@ func parseTitleExpiration(title *string) (*time.Time, error) {
// Set midnight at the end of the specified day (+0000 UTC)
expiresAt = time.Date(expiresAt.Year(), expiresAt.Month(), expiresAt.Day(), 23, 59, 59, 0, time.UTC)
log.Debug().Msgf("Parsed relative expiration date '%s' from input '%s%s'", expiresAt, amount, unit)
return &expiresAt, nil
}

View File

@ -224,7 +224,7 @@
>
<button
on:click={toggleUserMenu}
class="sidebar-action-button w-full flex-wrap justify-between px-4 py-4"
class="sidebar-action-button flex-wrap justify-between px-4 py-4"
>
<div class="sidebar-user-button-content-container">
<User classString="h-6 w-6 flex-shrink-0" />

View File

@ -17,17 +17,17 @@ export const formatDateLong = (dateString: string | Date): string => {
})
}
export const formatDateShort = (input: string | Date): string => {
console.log(input)
if (!input) {
export const formatDateShort = (dateString: string | Date): string => {
if (!dateString) {
return ""
}
const d = input instanceof Date ? input : new Date(input)
const utcDate = new Date(d.getTime())
return `${utcDate.toLocaleString("en", { weekday: "short", day: "numeric", month: "short", year: "2-digit", timeZone: "UTC" })} UTC`
const d = new Date(dateString)
return d.toLocaleDateString(undefined, {
weekday: "short",
year: "2-digit",
month: "short"
})
}
export const parseExpirationPrefix = (title: string): [string, string] => {