repos / pico

pico services - prose.sh, pastes.sh, imgs.sh, feeds.sh, pgs.sh
git clone https://github.com/picosh/pico.git

(772) commits
Eric Bower  ·  24 Sep 24
refactor(pubsub): default timeout set to 30 days
Eric Bower  ·  24 Sep 24
feat(pubsub): if no channel is provided, randomly gen one
Eric Bower  ·  24 Sep 24
chore(pubsub): pub log when timeout reached
Eric Bower  ·  24 Sep 24
feat(pubsub): pub new flag, `-t {duration}` timeout

The default is no timeout.
Eric Bower  ·  23 Sep 24
docs(pubsub): update copy
Eric Bower  ·  23 Sep 24
fix(feeds): days until expiration date
Eric Bower  ·  23 Sep 24
fix(feeds): flip post expiration check
Eric Bower  ·  23 Sep 24
fix(auth): docker tag
fix(feeds): url
3c33ed8
Eric Bower  ·  23 Sep 24
fix(feeds): url
Eric Bower  ·  29 Aug 24
feat(feeds): require human interaction to continue sending emails

BREAKING CHANGE: we require users to click a link in their feed emails
once every 90 days
Eric Bower  ·  21 Sep 24
fix(prose): undo footer box for posts
Eric Bower  ·  20 Sep 24
chore(feeds): more logging cleanup
Eric Bower  ·  20 Sep 24
chore: structured logging for servier and user info
Antonio Mika  ·  20 Sep 24
Update some page options
Eric Bower  ·  20 Sep 24
docs(pubsub): add our logo
Eric Bower  ·  20 Sep 24
docs(pubsub): reorg content
Antonio Mika  ·  20 Sep 24
Add gifs to marketing page for send
Antonio Mika  ·  19 Sep 24
Added pipe support to send
Antonio Mika  ·  18 Sep 24
Merge pull request #140 from picosh/am/pubsub-clean

Alternate pubsub implementation
Antonio Mika  ·  18 Sep 24
Add more caching to builds
Antonio Mika  ·  18 Sep 24
Added admin listing
Antonio Mika  ·  18 Sep 24
Updated pubsub ref
Eric Bower  ·  16 Sep 24
chore(prose): revert diff code
Eric Bower  ·  11 Sep 24
fix(pgs): redirects
Update dep
b594926
Antonio Mika  ·  11 Sep 24
Update dep
Update cli
b2d8f18
Antonio Mika  ·  10 Sep 24
Update cli
Antonio Mika  ·  10 Sep 24
Alternate pubsub implementation
Eric Bower  ·  09 Sep 24
docs(pubsub): copy
Eric Bower  ·  09 Sep 24
docs(pubsub): copy
Eric Bower  ·  09 Sep 24
fix(pubsub): proper bidirectional blocking
Eric Bower  ·  08 Sep 24
docs(pubsub): web copy
chore: cleanup
85bbfc5
Eric Bower  ·  08 Sep 24
chore: cleanup
Eric Bower  ·  08 Sep 24
feat(pubsub): send messages over public channels
Eric Bower  ·  08 Sep 24
feat(pubsub): flag for empty messages
docs: copy
7b8f68e
Eric Bower  ·  08 Sep 24
docs: copy
Eric Bower  ·  08 Sep 24
fix(pubsub): scope `ls` to ssh user
Eric Bower  ·  08 Sep 24
fix(pgs): rss feed
Eric Bower  ·  05 Sep 24
fix(pubsub): web
Eric Bower  ·  05 Sep 24
fix(pubsub): create channel for multicast
Eric Bower  ·  05 Sep 24
feat(pubsub): pub waits for a sub
chore: cleanup
288c1ad
Eric Bower  ·  05 Sep 24
chore: cleanup
Eric Bower  ·  04 Sep 24
fix(pubsub): compose file
Eric Bower  ·  04 Sep 24
chore(pubsub): Caddy use basic reverse proxy
Eric Bower  ·  04 Sep 24
chore(pubsub): docker compose config
Eric Bower  ·  04 Sep 24
feat: pubsub service
Eric Bower  ·  31 Aug 24
feat(imgs): pubsub
Antonio Mika  ·  27 Aug 24
Send keys for user info
Antonio Mika  ·  27 Aug 24
Add user handler to auth system
Eric Bower  ·  26 Aug 24
refactor(pgs): remove CSP and allow headers to be overriden
Eric Bower  ·  20 Aug 24
chore: fix linter
Eric Bower  ·  20 Aug 24
chore: cleanup go.mod
Eric Bower  ·  20 Aug 24
chore: update send pkg
Eric Bower  ·  19 Aug 24
feat(pgs): block uploads for specific projects
Eric Bower  ·  19 Aug 24
chore(pgs): add projects.blocked col

Sometimes users have sites that violate our ToS.  We can delete the
content but if they have a script that will reupload it will
automatically recreate the site.  So we need a way to prevent uploads to
projects.
Eric Bower  ·  19 Aug 24
chore(bouncer): remove debug flag
Eric Bower  ·  16 Aug 24
fix(prose): add rss route back
Eric Bower  ·  16 Aug 24
chore(bouncer): add `-debug` flag to soju

chore(bouncer): update patch against soju upstream
Eric Bower  ·  01 Aug 24
chore: diff in post
Eric Bower  ·  01 Aug 24
feat(prose): live journal

The goal is to be able to use posts as live journals where reader can
receive updates to docs via rss.
Eric Bower  ·  27 Jul 24
chore(pgs): marketing page copy
Eric Bower  ·  22 Jul 24
chore: rm lists.sh
chore: test names
c4d79bb (v3.5.0)
Eric Bower  ·  22 Jul 24
chore: test names
Eric Bower  ·  19 Jul 24
fix(tui): force minimum color profile
docs: dev doc
35082a2
Eric Bower  ·  16 Jul 24
docs: dev doc
Eric Bower  ·  05 Apr 24
feat(pgs): rewrite support

feat(pgs): rewrite proxy api support
Eric Bower  ·  12 Jul 24
fix(bouncer): update go to 1.22
Eric Bower  ·  01 Jul 24
chore(bouncer): disable inactive users after 30 days

See soju docs to read more: https://soju.im/doc/soju.1.html
Eric Bower  ·  12 Jul 24
chore(bouncer): switch to codeberg for upstream remote
Eric Bower  ·  09 Jul 24
chore: update send and pobj
Eric Bower  ·  09 Jul 24
fix: cleanup go.mod
Eric Bower  ·  09 Jul 24
chore: ptun => tunkit
use local
396ba64
Eric Bower  ·  09 Jul 24
use local
Eric Bower  ·  08 Jul 24
chore: keep pgs ssh pprof
Eric Bower  ·  08 Jul 24
fix: use file size if available when uploading
Eric Bower  ·  07 Jul 24
chore: update `send`

This fixes a memory leak in our ssh apps.
Eric Bower  ·  27 Jun 24
style: update smol
style: tweaks
f4d0256
Eric Bower  ·  26 Jun 24
style: tweaks
Eric Bower  ·  26 Jun 24
style: blockquote for post description
Eric Bower  ·  26 Jun 24
style(prose): adjust spacing
Eric Bower  ·  26 Jun 24
style: mv anchor link to end of title
Eric Bower  ·  26 Jun 24
style: use `time.DateOnly` format for dates
Eric Bower  ·  26 Jun 24
style: update smol.css
Eric Bower  ·  26 Jun 24
fix(pgs): when removing project, always try to remove objects
Eric Bower  ·  17 Jun 24
refactor(pgs): use pubkey auth handler
Eric Bower  ·  17 Jun 24
refactor: be pickier with which pubkey to accept
Eric Bower  ·  16 Jun 24
chore: formatting analytics
Eric Bower  ·  16 Jun 24
feat(prose): cli cmd `stats {post}` for analytics
Eric Bower  ·  16 Jun 24
feat(pgs): cli cmd `stats {project}` for project analytics
Eric Bower  ·  16 Jun 24
chore(pgs): better error message for uploads
Eric Bower  ·  16 Jun 24
feat(pgs): change max file size for free tier 1->10mb
Eric Bower  ·  14 Jun 24
fix: use official send pkg
Eric Bower  ·  12 Jun 24
refactor(pgs): dont copy reader into memory
Eric Bower  ·  09 Jun 24
chore(pgs): set memory limit for ssh container
Eric Bower  ·  29 May 24
feat(imgs): pubsub for docker image tag updates
Antonio Mika  ·  03 Jun 24
Updated go.mod to remove replacement
Eric Bower  ·  31 May 24
chore(pastes): set cron to once every 12h
Eric Bower  ·  31 May 24
chore(pastes): show unlisted tag
Antonio Mika  ·  31 May 24
Merge pull request #136 from picosh/am/update-deps

Update dependencies (for chroma)
Fix lint
cc73b0f
Antonio Mika  ·  31 May 24
Fix lint
Antonio Mika  ·  31 May 24
Update dependencies (for chroma
Antonio Mika  ·  30 May 24
Set ip correctly based on prod-irc as well
Eric Bower  ·  30 May 24
chore(plus): change payment history amount to $24
Antonio Mika  ·  30 May 24
Speed up caddy build
Antonio Mika  ·  30 May 24
Merge pull request #134 from picosh/am/sshfs

Added support for sshfs
Fix lint
bc64e0d
Antonio Mika  ·  29 May 24
Fix lint
Antonio Mika  ·  29 May 24
Added support for sshfs
Eric Bower  ·  28 May 24
fix(imgs): user can be nil
Eric Bower  ·  28 May 24
refactor: remove ability to override CSP for pgs subdomains

BREAKING CHANGE: cannot override default CSP for pgs
fix: linter
c40690e
Eric Bower  ·  21 May 24
fix: linter
Eric Bower  ·  21 May 24
fix: denylist for discovery feed to remove spam
Eric Bower  ·  18 May 24
chore: use consistent date fmt
Eric Bower  ·  18 May 24
styles(tui): settings page suggested width
Eric Bower  ·  17 May 24
feat(tui): settings page
Eric Bower  ·  17 May 24
styles(tui): md word wrapping
Eric Bower  ·  17 May 24
styles(tui): create account page
docs(tui): copy
625dcb4
Eric Bower  ·  17 May 24
docs(tui): copy
Eric Bower  ·  17 May 24
styles(tui): update input placeholder
Eric Bower  ·  17 May 24
fix(tui): update models when resizing
Eric Bower  ·  17 May 24
chore(tui): cleanup
chore: cleanup
6a5926c
Eric Bower  ·  17 May 24
chore: cleanup
Eric Bower  ·  17 May 24
style: page titles
Eric Bower  ·  16 May 24
refactor(tui): reorganize into pages
Eric Bower  ·  16 May 24
chore(pgs): set default height to 24
Eric Bower  ·  16 May 24
chore: use `MakeOptions`
Eric Bower  ·  16 May 24
refactor: use bubbletea's renderer fn
Eric Bower  ·  16 May 24
refactor: tui pages
Eric Bower  ·  16 May 24
styles: cleanup tui colors
ascii logo
0598279
Eric Bower  ·  16 May 24
ascii logo
Eric Bower  ·  15 May 24
chore(pico): better logging statements
chore: copy
d03b23e
Eric Bower  ·  15 May 24
chore: copy
Eric Bower  ·  15 May 24
chore: update storage quotas from 1024 -> 1000
docs: copy
7493898
Eric Bower  ·  15 May 24
docs: copy
Eric Bower  ·  15 May 24
refactor(plus): make plus a single feature (#128)

Eric Bower  ·  15 May 24
fix(lint): comment
Eric Bower  ·  15 May 24
chore: url shortener for payment processor checkout url
Eric Bower  ·  14 May 24
fix: rm `links` from `registry` service

minio and registry are not on the same VM so it was failing when running
docker compose commands
Eric Bower  ·  14 May 24
fix(pico): check for user in new tui pages
Eric Bower  ·  14 May 24
refactor(plus): use lemonsqueezy

feat(plus): support international users
Eric Bower  ·  13 May 24
docs(pico): copy
Eric Bower  ·  13 May 24
style: update smol.css
chore: cleanup
428b94c
Eric Bower  ·  13 May 24
chore: cleanup
Eric Bower  ·  13 May 24
chore: tui fixes
Eric Bower  ·  13 May 24
chore: new screen
Eric Bower  ·  10 May 24
style: blog posts spacing
Eric Bower  ·  09 May 24
style: light theme colors
Eric Bower  ·  09 May 24
style: code headers
Eric Bower  ·  09 May 24
chore: update smol.css
Eric Bower  ·  08 May 24
chore: update deps
Eric Bower  ·  07 May 24
fix(prose): allow .ico to be uploaded

Closes: #131
Eric Bower  ·  07 May 24
feat: senpai integration (#129)

Co-authored-by: Antonio Mika <antoniomika@gmail.com>
Eric Bower  ·  04 May 24
fix(tui): don't delete account when active key is deleted (#130)

Eric Bower  ·  30 Apr 24
feat: update pubkey comments w authorized_keys

chore: better output when uploading pubkeys
Eric Bower  ·  30 Apr 24
fix: users not being able to register an account
feat: pico ssh app (#126)
3ceca3b (v3.2.0)
Eric Bower  ·  29 Apr 24
feat: pico ssh app (#126)

Eric Bower  ·  22 Apr 24
docs: showcase some features
chore: readme
08c97df
Eric Bower  ·  22 Apr 24
chore: readme
docs: readme
8bb8b41
Eric Bower  ·  22 Apr 24
docs: readme
docs: fmt
830dffe
Eric Bower  ·  22 Apr 24
docs: fmt
chore: docs
c9a1321
Eric Bower  ·  22 Apr 24
chore: docs
Eric Bower  ·  22 Apr 24
chore: doc links
chore: readme
c980a70
Eric Bower  ·  22 Apr 24
chore: readme
chore: readme
14eefbe
Eric Bower  ·  22 Apr 24
chore: readme
Eric Bower  ·  22 Apr 24
chore: update readme
Eric Bower  ·  19 Apr 24
fix(pgs): analytics for private sites
Eric Bower  ·  19 Apr 24
chore: update env.example to include registry url
Eric Bower  ·  13 Apr 24
feat(imgs): ssh cli with ls and rm commands
Eric Bower  ·  17 Apr 24
chore: downgrade go version requirements
Eric Bower  ·  10 Apr 24
chore: cleanup pgs cli
Eric Bower  ·  09 Apr 24
fix(imgs): need allowed ext
Eric Bower  ·  08 Apr 24
chore: TUI only accessible via pico.sh

BREAKING CHANGE: TUI only accessible via pico.sh
sbatial  ·  07 Apr 24
Readme: Bump required version to 1.22.0 (#121)

fix: linter
6519f97
Eric Bower  ·  07 Apr 24
fix: linter
Eric Bower  ·  06 Apr 24
feat(pgs): override denylist
Eric Bower  ·  06 Apr 24
refactor(prose): discover page sorts by publish_at
Eric Bower  ·  04 Apr 24
chore: `lint-dev` => `lint`
Eric Bower  ·  04 Apr 24
chore(pgs): add better err messages
Eric Bower  ·  04 Apr 24
refactor(pgs): switch from allowlist to denylist for files
Eric Bower  ·  04 Apr 24
fix(pgs): add trailing slash even with extension
Eric Bower  ·  04 Apr 24
feat(pgs): support serving files without extensions
Eric Bower  ·  04 Apr 24
feat(pgs): append trailing slash to redirect matchers

This change will make it so a user can provide -- or not provide -- a
trailing slash for matching a route, that way the user doesn't need to
think about it.
Eric Bower  ·  03 Apr 24
refactor(pgs): redirects and rewrites
Eric Bower  ·  03 Apr 24
feat(pgs): 301 redirect urls that are directories without trailing slash (#116)

Eric Bower  ·  02 Apr 24
feat(pgs): support yml, eot, and LICENSE

Closes: #118
Eric Bower  ·  02 Apr 24
fix(analytics): better analytic queries
Eric Bower  ·  01 Apr 24
chore(feeds): cleanup
Eric Bower  ·  01 Apr 24
refactor(feeds): change digest var name
Eric Bower  ·  01 Apr 24
fix(analytics): better first day of month calc
Eric Bower  ·  31 Mar 24
feat(pgs): add opml to allowlist
Eric Bower  ·  31 Mar 24
fix(ui): scope where statement properly
Eric Bower  ·  31 Mar 24
fix(pgs): use full filepath when checking for `.well-known`

Closes: #113
docs(pgs): copy
b11cb7b
Eric Bower  ·  29 Mar 24
docs(pgs): copy
Eric Bower  ·  29 Mar 24
feat(ui): ability to enable/disable analytics
Eric Bower  ·  29 Mar 24
chore(ui): more analytics API endpoints
Eric Bower  ·  28 Mar 24
feat(pgs): allow csp to be overriden by upstream
Eric Bower  ·  26 Mar 24
fix(prose): add smol.css route
Eric Bower  ·  26 Mar 24
fix(prose): copy smol.css from pico.sh

fix(prose): use relative _styles.css

Closes: #112
docs(pgs): copy
373fe04
Eric Bower  ·  26 Mar 24
docs(pgs): copy
Eric Bower  ·  26 Mar 24
refactor(analytics): cleanup naming and fn params
Eric Bower  ·  25 Mar 24
chore(analytics): hmac ip address
Eric Bower  ·  25 Mar 24
feat: analytics for visitors on prose and pgs (#111)

Eric Bower  ·  24 Mar 24
chore(ui): cleanup api
Eric Bower  ·  24 Mar 24
chore(ui): authorization checks
fix
34f80a7
Eric Bower  ·  23 Mar 24
fix
Eric Bower  ·  23 Mar 24
chore: add pico+ to latest expiration date instead of now

When a user eventually purchases another year of pico+, we don't want to
set the expiration date a year from purchase date.  Rather, we want to
set the expiration date to the expiration date of the feature + 1
year.
Eric Bower  ·  22 Mar 24
chore: change toc to Table of Contents
cleanup
0f1da31
Chloé Vulquin  ·  22 Mar 24
cleanup
Chloé Vulquin  ·  21 Mar 24
md/toc: make it nice, flexible, and fast
cleanup
02808fb
Eric Bower  ·  21 Mar 24
cleanup
Eric Bower  ·  21 Mar 24
feat(prose): toc
Eric Bower  ·  21 Mar 24
Merge branch 'tags'
Eric Bower  ·  21 Mar 24
refactor(prose): dedupe string slice for embedded tags
Eric Bower  ·  21 Mar 24
feat(pgs): support `.xsl`

Closes: https://github.com/picosh/pico/issues/105
Eric Bower  ·  19 Mar 24
chore: upgrade pgit
chore: fmt
51c4d20
Eric Bower  ·  19 Mar 24
chore: fmt
Eric Bower  ·  19 Mar 24
fix(prose): use image mimetype if file ext provided

Closes: #104
Eric Bower  ·  17 Mar 24
docs(pgs): change free tier limit
Eric Bower  ·  17 Mar 24
chore(plus): increase imgs quota
Eric Bower  ·  17 Mar 24
fix(ui): always fetch user from ctx

When a user registers for an account, we set the user ctx, but all the
api endpoint are using an closured version of the user.
Eric Bower  ·  17 Mar 24
fix(ui): set user ctx after registering
Eric Bower  ·  17 Mar 24
feat(auth): stripe webhook integration (#101)

Cotton Hou  ·  17 Mar 24
fix(prose): RSS content-type with charset=utf-8 (#103)

Cotton Hou  ·  16 Mar 24
feat(prose): CSS var --body-max-width (#102)

Eric Bower  ·  15 Mar 24
chore(auth): pico+ activated rss feed item
Eric Bower  ·  15 Mar 24
chore(pgs): reduce free trial to 5MB
Eric Bower  ·  14 Mar 24
chore(imgs): cors headers
chore: update ptun
7b8c79e (v3.0.1)
Eric Bower  ·  13 Mar 24
chore: update ptun
Eric Bower  ·  13 Mar 24
fix(imgs): registry needs imgs network
Eric Bower  ·  13 Mar 24
fix(imgs): need tmp file
fix
dd071ef
Eric Bower  ·  13 Mar 24
fix
Eric Bower  ·  13 Mar 24
chore(imgs): move ssh app into pico
Eric Bower  ·  13 Mar 24
feat(pgs): impersonation working
Eric Bower  ·  13 Mar 24
feat(pgs): impersonate any user
Eric Bower  ·  13 Mar 24
chore(ui): objects postfix
Eric Bower  ·  12 Mar 24
chore(pgs): add id to objects
Eric Bower  ·  12 Mar 24
feat(ui): api for fetching project objects
Eric Bower  ·  12 Mar 24
docs(pgs): use port `1337` as canonical port for web tunnels
Eric Bower  ·  12 Mar 24
chore(prose): use middle dot to separate date and link
Eric Bower  ·  12 Mar 24
chore(prose): rm "on" from post date line

A small gesture to make prose more multi-lingual
Eric Bower  ·  11 Mar 24
fix(ui): posts should fetch all posts
Eric Bower  ·  11 Mar 24
chore(ui): change post apis
chore: cleanup
71a4682
Eric Bower  ·  11 Mar 24
chore: cleanup
Eric Bower  ·  11 Mar 24
chore: rename plus folder to ui
Eric Bower  ·  11 Mar 24
feat: add public_keys.name column
Eric Bower  ·  11 Mar 24
feat(ui): more api endpoints!
Eric Bower  ·  11 Mar 24
chore(pgs): api cleanup
Eric Bower  ·  10 Mar 24
fix(ui): don't bomb on rss token missing
Eric Bower  ·  10 Mar 24
feat(pgs): allow cors for private sites
Eric Bower  ·  10 Mar 24
chore(pgs): rm cors
fix(pgs): caddy
1fbd8f0
Eric Bower  ·  09 Mar 24
fix(pgs): caddy
Eric Bower  ·  09 Mar 24
chore(pgs): caddy
fix: caddy
121c015
Eric Bower  ·  09 Mar 24
fix: caddy
chore: caddy
520a647
Eric Bower  ·  09 Mar 24
chore: caddy
fmt
37bca10
Eric Bower  ·  09 Mar 24
fmt
Eric Bower  ·  09 Mar 24
chore(pgs): caddy
revert
2eebd31
Eric Bower  ·  09 Mar 24
revert
Eric Bower  ·  09 Mar 24
custom caddyfile for pgs
Eric Bower  ·  03 Mar 24
feat(pgs): pico-ui
Chloé Vulquin  ·  08 Mar 24
mdparser: extract hashtag detection into a func

Also fix a bug where `tags: []` would still do the detection.
Chloé Vulquin  ·  08 Mar 24
mdparser: implicitly capture hashtags in document

When they're found, they will be rendered as so:
`<span class="hashtag">...</span>`.

They are ignored in the following:
* block code sections
* block quote sections
* span code sections

This list can be expanded.

We then collect all of the matching hashtags and provide them as
metadata, but only if there is no explicit frontmatter for them.
So a workaround for undesirable hashtag detection is to use front-matter
to specify `tags: []` or similar.
Chloé Vulquin  ·  08 Mar 24
mdparser: extract ast manipulation into shared fn (#96)

Eric Bower  ·  07 Mar 24
chore: update user to `pico`
Chloé Vulquin  ·  05 Mar 24
prose: infer title from first <h1> before any <p> (#93)

This eliminates the need to use explicit title metadata for the vast
majority of posts.

This still allows explicitly setting a title via the frontmatter.
If neither is found, the current logic goes on.
Eric Bower  ·  05 Mar 24
fix(prose): rss link should be to website

Closes: #94
Eric Bower  ·  05 Mar 24
feat(pgs): add `.wasm` to allowlist
Eric Bower  ·  03 Mar 24
feat(pgs): support more file formats
Eric Bower  ·  03 Mar 24
fix(pgs): redirect to full url
Eric Bower  ·  03 Mar 24
fix(prose): better front-matter error handling on file upload
Eric Bower  ·  02 Mar 24
chore(pgs): log requests
Eric Bower  ·  02 Mar 24
fix(pgs): various redirect fixes (#92)

Closes: #91
Eric Bower  ·  02 Mar 24
fix(pgs): sort rss feed

feat(pgs): add new updated_at rss feed
Eric Bower  ·  01 Mar 24
fix: pico-plus script args
Eric Bower  ·  01 Mar 24
feat(prose): let user customize 404 page

feat(prose): `_404.md` file now supported
Eric Bower  ·  01 Mar 24
chore(pgs): docker compose tmp folder
Eric Bower  ·  01 Mar 24
fix(scripts): make pico-plus script more flexible
Eric Bower  ·  01 Mar 24
chore: bump docker go version
Eric Bower  ·  01 Mar 24
refactor: shared router
Eric Bower  ·  01 Mar 24
refactor(shared): http router
docs: cleanup
31dbc6e
Eric Bower  ·  29 Feb 24
docs: cleanup
chore: pico+ go script
ed582ae (v2.1.5)
Eric Bower  ·  29 Feb 24
chore: pico+ go script
fix: empty username
65ca2e2 (v2.1.4)
Eric Bower  ·  29 Feb 24
fix: empty username

refactor: ssh styles
feat: add pico+ info
chore: rm TERM
886ea6e (v2.1.3)
Eric Bower  ·  29 Feb 24
chore: rm TERM

chore: add ico to imgs
Eric Bower  ·  28 Feb 24
fix: pin charm libs
Fix environment colors
25281f4 (v2.1.2)
Antonio Mika  ·  28 Feb 24
Fix environment colors
Eric Bower  ·  28 Feb 24
feat(pgs): support avif and heif image formats
Eric Bower  ·  28 Feb 24
docs(pgs): private projects
Eric Bower  ·  28 Feb 24
docs(pgs): marketing
use v3
0ebd487
Eric Bower  ·  28 Feb 24
use v3
Eric Bower  ·  28 Feb 24
chore: use v1 gha
fix write flag
e7ce4a1
Eric Bower  ·  28 Feb 24
fix write flag
fixes
a5c22ce
Eric Bower  ·  28 Feb 24
fixes
Eric Bower  ·  28 Feb 24
refactor(pgs): new cli api
Eric Bower  ·  27 Feb 24
design(pgs): cli aesthetic
Eric Bower  ·  26 Feb 24
fix(feeds): name is nullable
Eric Bower  ·  25 Feb 24
feat(pgs): _headers file (#83)

https://docs.netlify.com/routing/headers/

Closes: #82
Eric Bower  ·  25 Feb 24
chore(pgs): cleanup logs
Eric Bower  ·  25 Feb 24
chore: update ptun
Eric Bower  ·  24 Feb 24
fix(router): pass writer to create serve basic
Eric Bower  ·  24 Feb 24
chore(pgs): acl for public sites
Eric Bower  ·  24 Feb 24
chore(pgs): web tunnel cleanup
Eric Bower  ·  24 Feb 24
feat(pgs): private projects with web tunnels (#80)

We can support private projects via local forward ssh tunnels.

Eric sets ACL for project `hey-docs-dev`:

```
ssh pgs.sh acl hey-docs-dev pico antonio
```

Antonio creates SSH tunnel to project:

```
ssh -L 5000:localhost:80 -N hey-docs-dev@pgs.sh
```

Antonio can access site via http://localhost:5000

Other options we support:

- `acl public` -> default, open to everyone
- `acl pico` -> private to any pico user
- `acl pico xxx,yyy` -> private to specific pico users
- `acl public_keys` -> private to anyone with a pubkey
- `acl public_keys sha256:xxx,sha256:yyy` -> private to specific pubkeys

Further, there is a special API endpoint for any sites accessed via a
tunnel: GET http://localhost:5000/pico

This will return information about the user accessing the site, like
pico username, public key used, etc.
Eric Bower  ·  21 Feb 24
refactor: make public keys unique (#81)

BREAKING CHANGE: we will no longer support multiple account with the
same public key
docs(pgs): copy
2129823
Eric Bower  ·  20 Feb 24
docs(pgs): copy
fix: ssh cms
799a23e (v1.13.1)
Eric Bower  ·  19 Feb 24
fix: ssh cms
chore: fmt
3d26a22
Eric Bower  ·  19 Feb 24
chore: fmt
Eric Bower  ·  19 Feb 24
chore: rm set username
Eric Bower  ·  19 Feb 24
chore: rm set username
Eric Bower  ·  19 Feb 24
docs(pgs): marketing copy
Eric Bower  ·  19 Feb 24
refactor: make pgs the CMS for pico (#79)

Eric Bower  ·  19 Feb 24
feat(auth): pico+ rss feed
fix: pico+ sql
2023f81
Eric Bower  ·  19 Feb 24
fix: pico+ sql
fix: new user error
3e5777a (v1.12.1)
Eric Bower  ·  18 Feb 24
fix: new user error
Eric Bower  ·  18 Feb 24
chore: update pico+ sql
Eric Bower  ·  18 Feb 24
chore: use slog wish middleware logger
Eric Bower  ·  18 Feb 24
chore: add `GetObjectSize`
refactor: use pobj (#76)
15dc5a8 (v1.12.0)
Eric Bower  ·  18 Feb 24
refactor: use pobj (#76)

Eric Bower  ·  17 Feb 24
refactor: replace zap with slog (#75)

chore: remove lists project
Eric Bower  ·  08 Feb 24
fix(prose): allow `_styles.css` to be uploaded again

Closes #74
Eric Bower  ·  04 Feb 24
chore(imgs): dont run ssh
Eric Bower  ·  04 Feb 24
chore: update auth and imgs services
Eric Bower  ·  03 Feb 24
feat(auth): privileged access based on `auth` feature flag
Eric Bower  ·  02 Feb 24
refactor(auth): `/key?space=xxx` instead of inside POST body
Eric Bower  ·  02 Feb 24
feat(auth): `/key` support to check any space
docs: copy changes
c37be01 (v1.11.1)
Eric Bower  ·  31 Jan 24
docs: copy changes
fix(pgs): correct content type
6dab28c (v1.11.0)
Eric Bower  ·  31 Jan 24
fix(pgs): correct content type
Eric Bower  ·  31 Jan 24
chore(prose): set img proc defaults
Eric Bower  ·  31 Jan 24
feat: support more imgproxy options (#73)

New options in any combinations:

- `/s:w:h`
- `/q:1-100`
- `/rt:angle`

We also still support our imgs api version of sizing.
Eric Bower  ·  30 Jan 24
fix(imgs): redirect to prose.sh
Eric Bower  ·  30 Jan 24
chore(imgs): remove unused code
Eric Bower  ·  30 Jan 24
feat(prose): directory of images at `x.prose.sh/i`
Eric Bower  ·  30 Jan 24
refactor(imgs): merge into prose.sh (#71)

feat(pgs): use image proxy for images

BREAKING CHANGE: removed imgs.sh blog features
fix: go fmt
97ef41a
Eric Bower  ·  28 Jan 24
fix: go fmt
Eric Bower  ·  28 Jan 24
fix(pgs): classify xml when calc routes

`.xml` files were returning as `text/plain` which has different routing
rules than what xml should have.

Closes https://github.com/picosh/pico/issues/72
Eric Bower  ·  25 Jan 24
chore(pgs): increase storage max to 25MB
Eric Bower  ·  25 Jan 24
fix: default size limit fallbacks
pico pro (#69)
d812172 (v1.9.0)
Eric Bower  ·  25 Jan 24
pico pro (#69)

Antonio Mika  ·  25 Jan 24
Update irc configs
Eric Bower  ·  25 Jan 24
chore: allow us to use sojuctl (#70)

Eric Bower  ·  22 Jan 24
chore: add feeds cmd for testing fetcher
Eric Bower  ·  20 Jan 24
fix(lists): update shutdown date
Eric Bower  ·  20 Jan 24
fix(lists): add real blog post
shutdown notice
f4f3ef3
Eric Bower  ·  20 Jan 24
shutdown notice
Eric Bower  ·  20 Jan 24
fix(feeds): move cron to web app

Our `Dockerfile` doesn't move template files into their respective
images when it's an SSH app.  feeds' cron requires those template files
in order to send emails.
Eric Bower  ·  17 Jan 24
revert: imgs ssh
Antonio Mika  ·  18 Jan 24
Use new httpmux config option and explicitly set max users
Eric Bower  ·  16 Jan 24
refactor(imgs): use prose ssh app

Prose's ssh app does the same thing as imgs so there is no point in
having them both.  This frees up an IP address for us to use for other
purposes.
Eric Bower  ·  16 Jan 24
refactor(feeds): cron to run on ssh server
Eric Bower  ·  16 Jan 24
style(pastes): add `.post-date` css
chore: force pgit to update
8e9e6c8 (v1.8.2)
Eric Bower  ·  16 Jan 24
chore: force pgit to update
Eric Bower  ·  16 Jan 24
chore: update license with company name
Fix soju config
5992546
Antonio Mika  ·  14 Jan 24
Fix soju config
Antonio Mika  ·  14 Jan 24
Update subscriber change for soju
Antonio Mika  ·  14 Jan 24
Add prometheus and identd
Eric Bower  ·  13 Jan 24
style: use docs smol.css as canonical css framework
chore: update service intros
421f370 (v1.8.1)
Eric Bower  ·  11 Jan 24
chore: update service intros
Eric Bower  ·  11 Jan 24
refactor: move ssh services into service packages

The only excpetion is imgs.sh which contains a circular dep.
docs: readme
362af57
Eric Bower  ·  09 Jan 24
docs: readme
Eric Bower  ·  09 Jan 24
docs: tweak footers
Refactor docs (#68)
d77b910 (v1.8.0)
Eric Bower  ·  09 Jan 24
Refactor docs (#68)

Removed all docs associated with our services and moved them to a centralized source: https://pico.sh
securepub  ·  08 Jan 24
doc suggestion from IRC #pico.sh @ libera.chat (#67)

[10:25am] pareidoliac: I have had problem with the docs apart from the minor detail that the "-> yourusername"
          should be "-> {username}-myproject" in the https://pgs.sh/help#custom-domain section.
[10:25am] pareidoliac: thinking of making a PR to suggest that
[10:29am] pareidoliac: also suggest mentioning the CSP policy pico.sh vs custom domain in the https://pgs.sh/help#spa section
[10:44am] erock: happy to accept PRs

Co-authored-by: jungle <jungle@night.local>
Eric Bower  ·  03 Jan 24
docs(pastes): showcase rsync support
Eric Bower  ·  03 Jan 24
docs(pastes): showcase sftp support
Eric Bower  ·  03 Jan 24
chore(prose): support trailing "/" for post raw
Eric Bower  ·  03 Jan 24
fix(prose): support trailing "/" in url

Closes: https://github.com/picosh/pico/issues/64
Eric Bower  ·  02 Jan 24
fix(imgs): dont clip ext unless actually file ext

Closes: https://github.com/picosh/pico/issues/65
Eric Bower  ·  02 Jan 24
docs(prose): prefer rsync
Eric Bower  ·  02 Jan 24
docs(prose): promote `sftp`
Eric Bower  ·  02 Jan 24
chore(deps): tidy
Eric Bower  ·  02 Jan 24
chore: update golang.org/x/crypto (#63)

Reference: https://groups.google.com/g/golang-announce/c/-n5WqVC18LQ
Eric Bower  ·  26 Nov 23
refactor: move `wish/*` to its own repo (#62)

Amar Paul  ·  20 Nov 23
typo: help.page.tmpl (#61)

Antonio Mika  ·  17 Nov 23
Don't send notifications when self
Antonio Mika  ·  16 Nov 23
Fix bug in contains
Antonio Mika  ·  16 Nov 23
Update soju patch to include selective message notifications
Eric Bower  ·  16 Nov 23
fix(pgs): period in route redirects to 404 (#59)

Closes #58
Eric Bower  ·  16 Nov 23
chore: add tokens view to pgs cms (#60)

Antonio Mika  ·  15 Nov 23
Push network id with broadcasted message in soju
Antonio Mika  ·  15 Nov 23
Enable panic recovery in ssh and set logger to be based on debug
Antonio Mika  ·  13 Nov 23
Redirect imgproxy root
Antonio Mika  ·  13 Nov 23
Add metrics for imgproxy
Antonio Mika  ·  13 Nov 23
Set proper route ordering
Antonio Mika  ·  13 Nov 23
Fixed endpoint for caddy metrics
Antonio Mika  ·  13 Nov 23
Update our caddyfiles for imgproxy
Eric Bower  ·  13 Nov 23
refactor(imgs): use imgproxy instead of libwebp (#56)

---------

Co-authored-by: Antonio Mika <antoniomika@gmail.com>
chore: go deps
3f6a880
Eric Bower  ·  13 Nov 23
chore: go deps
Eric Bower  ·  13 Nov 23
refactor(imgs): dont bring libwebp into every service (#55)

Most of our libwebp related code lived inside the `shared` package.  This is
problematic since every service imports that package, thereby requiring
libwebp for every service.

Now references to libwebp live solely inside `imgs` library.

Unfortunately, all of our post-based SSH services import `imgs` so they
still have the requirement.
Antonio Mika  ·  12 Nov 23
Merge pull request #53 from picosh/post-filesize

post filesize script
Antonio Mika  ·  12 Nov 23
Merge pull request #54 from picosh/am/dynamic-list

Add the ability to set the per page by window height
Antonio Mika  ·  12 Nov 23
Add the ability to set the per page by window height
Eric Bower  ·  12 Nov 23
feat(prose): render `unlisted` on post when hidden
Eric Bower  ·  12 Nov 23
feat(pastes): set custom expiration and set paste to unlisted (#52)

Eric Bower  ·  12 Nov 23
fix(pgs): load created_at and updated_at for projects
Eric Bower  ·  12 Nov 23
chore: `make scripts` command
skip imgs
bd7f5fe
Eric Bower  ·  12 Nov 23
skip imgs
ready
995d7b2
Eric Bower  ·  12 Nov 23
ready
post filesize
9be8122
Eric Bower  ·  12 Nov 23
post filesize
Eric Bower  ·  12 Nov 23
chore(script): clean write env var
fix: lint
5aa6451
Eric Bower  ·  12 Nov 23
fix: lint
Eric Bower  ·  12 Nov 23
chore(pgs): rm objects from store when project no longer exists
Eric Bower  ·  12 Nov 23
fix(pgs): missing project name when deleting project files from store
Fix panic in toupper
4d12bdf (v1.5.1)
Antonio Mika  ·  11 Nov 23
Fix panic in toupper
Antonio Mika  ·  11 Nov 23
Add feature flag for advanced pastes management
Eric Bower  ·  11 Nov 23
fix(gha): copy contents not dir itself
Eric Bower  ·  10 Nov 23
chore: use latest pgs-action
Antonio Mika  ·  10 Nov 23
Report same issues on receive
Antonio Mika  ·  10 Nov 23
Added the tuns caddyfile
Antonio Mika  ·  10 Nov 23
Put key auth behind feature flag
Add key endpoint for sish
f10bd2a (v1.4.0)
Antonio Mika  ·  10 Nov 23
Add key endpoint for sish
Antonio Mika  ·  10 Nov 23
Set correct updated at when creating a post
Don't use now for updates
dcf93cb (v1.3.5)
Antonio Mika  ·  10 Nov 23
Don't use now for updates
Antonio Mika  ·  10 Nov 23
Properly check mod time as well for updating a post
Antonio Mika  ·  10 Nov 23
Use modtime from client, not now
Antonio Mika  ·  10 Nov 23
Properly update post time when updated
Skip empty files in rsync
0c6b9a9 (v1.3.1)
Antonio Mika  ·  10 Nov 23
Skip empty files in rsync
Antonio Mika  ·  10 Nov 23
Change to 1.21 for static site builder
Antonio Mika  ·  10 Nov 23
Merge pull request #51 from picosh/am/rsync-updates

Am/rsync updates
Antonio Mika  ·  10 Nov 23
Ignore error on status messages
Antonio Mika  ·  10 Nov 23
Properly close connection for unsupported flags
Antonio Mika  ·  10 Nov 23
Ignore error for chtimes as nop
Antonio Mika  ·  10 Nov 23
Update go-rsync dep
Antonio Mika  ·  10 Nov 23
More work to properly support rsync
Antonio Mika  ·  10 Nov 23
Working on adding more features to rsync
Antonio Mika  ·  09 Nov 23
Improve pgs filesystem support (and fix local storage)
Fix sftp
dc6a7d0 (v1.2.1)
Antonio Mika  ·  09 Nov 23
Fix sftp
Antonio Mika  ·  09 Nov 23
Only build bouncer and caddy when changes are made to their contexts
Set auth tag properly
d2c81f6 (v1.2.0)
Antonio Mika  ·  09 Nov 23
Set auth tag properly
Antonio Mika  ·  09 Nov 23
Merge pull request #50 from picosh/am/update-sftp

Fixed issues with sftp file listing and downloading from minio
Antonio Mika  ·  09 Nov 23
Checkout repo before start
Antonio Mika  ·  09 Nov 23
Break out reused code
Another one
0abe68c
Antonio Mika  ·  09 Nov 23
Another one
Last try
5865af3
Antonio Mika  ·  09 Nov 23
Last try
Last change
bfd357e
Antonio Mika  ·  09 Nov 23
Last change
Another one
5a5012a
Antonio Mika  ·  09 Nov 23
Another one
Retry build
5fa54d3
Antonio Mika  ·  09 Nov 23
Retry build
Fix
fe29e7b
Antonio Mika  ·  09 Nov 23
Fix
Antonio Mika  ·  09 Nov 23
Refactor actions for matrix builds
Antonio Mika  ·  08 Nov 23
Fix deprecations
Antonio Mika  ·  08 Nov 23
Added the ability to remove files using sftp
Antonio Mika  ·  08 Nov 23
Fixed issues with sftp file listing and downloading from minio
Eric Bower  ·  07 Nov 23
design: tweak headers
Eric Bower  ·  06 Nov 23
fix(imgs): better handling of 404 images
Antonio Mika  ·  05 Nov 23
Added caddy metrics to auth
Eric Bower  ·  20 Oct 23
docs(pgs): `_redirects` copy
Eric Bower  ·  20 Oct 23
feat(pgs): support `_redirects` special file for routing (#48)

Antonio Mika  ·  15 Oct 23
Merge pull request #47 from picosh/am/soju-webpush

Added simple diff for soju to fix firefox and ios webpush
Antonio Mika  ·  15 Oct 23
Added simple diff for soju to fix firefox and ios webpush
Eric Bower  ·  13 Oct 23
fix(bouncer): makefile cmd
Eric Bower  ·  13 Oct 23
chore: update soju.config
Eric Bower  ·  11 Oct 23
doc(pgs): copy edits marketing page
Eric Bower  ·  11 Oct 23
feat(pastes): extend file expiration from 7 -> 90 days
chore(pastes): update copy
refactor(pastes): move ssh server into `pastes` package
Eric Bower  ·  07 Oct 23
chore(pgs): add more mime types to helper
Antonio Mika  ·  07 Oct 23
Implement a fake oauth login system that uses ssh generated tokens (#44)

Antonio Mika  ·  05 Oct 23
Ensure caddy metrics are enabled
Ops cleanup
609db0d
Antonio Mika  ·  05 Oct 23
Ops cleanup
Antonio Mika  ·  05 Oct 23
Merge pull request #43 from picosh/am/irc

Adds infra support for irc infrastructure
Antonio Mika  ·  05 Oct 23
Added monitoring caddyfile
Antonio Mika  ·  05 Oct 23
Fixed minio env var
Antonio Mika  ·  05 Oct 23
Work on adding bouncer and auth services to deployments
Eric Bower  ·  05 Oct 23
chore(docker): sync production changes
Eric Bower  ·  05 Oct 23
fix(imgs): regression with upload changes
Eric Bower  ·  05 Oct 23
fix(bouncer): soju config
Eric Bower  ·  04 Oct 23
feat(pgs): add .webmanifest and .map
Eric Bower  ·  04 Oct 23
chore(irc): separate docker compose file
Eric Bower  ·  27 Sep 23
fix(imgs): when calc user's total img size, coalesce null to 0

chore: add more error logging for us to debug
Eric Bower  ·  23 Sep 23
feat(auth): web service (#42)

Authentication (oauth2) web service intended for soju bouncer.

We are also introducings tokens which users can create through the SSH CMS for all services. This will allow users to generate an API token so they can authenticate with our oauth2 API.
Eric Bower  ·  14 Sep 23
feat: anchor links for prose

design: preserve header `font-size` when there's a `<code />` child
fix: gitignore
ecec1f4
Eric Bower  ·  12 Sep 23
fix: gitignore
Eric Bower  ·  12 Sep 23
design(pastes): max-width 1025px
Eric Bower  ·  12 Sep 23
feat(pgs): pretty urls
Eric Bower  ·  07 Sep 23
chore(router): remove noisy logs
Eric Bower  ·  06 Sep 23
doc(pgs): copy changes
Eric Bower  ·  06 Sep 23
doc(pgs): better articulate this is closed beta

Also describe the requirements for participation
Eric Bower  ·  06 Sep 23
feat(pgs): allowing `.rss` `.atom`, and `.xml` file extensions
Eric Bower  ·  06 Sep 23
feat(pgs): `/rss` endpoint
Eric Bower  ·  06 Sep 23
feat(pgs): `{user}.pgs.sh` supported by creating `{user}` project
Eric Bower  ·  06 Sep 23
chore(pgs): move most ssh code to pgs package
Christopher Hoelter  ·  05 Sep 23
Consistent ordering of nav items (#40)

* Ensuring consistent ordering of nav items

If nav items are declared in the yaml without the "-" prefix ordering
was random of those items and a page refresh could change where they
are. This ensures ordering is preserved in that situation.
Eric Bower  ·  05 Sep 23
fix(pgs): link to help page
Eric Bower  ·  05 Sep 23
refactor(pgs): check handler should return 404
Eric Bower  ·  05 Sep 23
fix(pgs): new `/check` handler for custom domains
Eric Bower  ·  05 Sep 23
chore: add more logging for router
Christopher Hoelter  ·  05 Sep 23
Added basic .editorconfig file. (#39)

Christopher Hoelter  ·  05 Sep 23
Updated dependencies required in readme. (#38)

Eric Bower  ·  01 Sep 23
fix(pgs): routes should prefer `/check` first
Eric Bower  ·  01 Sep 23
fix(pgs): retain
fix: caddy
b182eca
Eric Bower  ·  01 Sep 23
fix: caddy
Eric Bower  ·  01 Sep 23
fix(prose): upload single file without referencing name in destination

Fixes #36
Eric Bower  ·  01 Sep 23
fix(pgs): allow users to run commands when bucket quota exceeded
Eric Bower  ·  19 Aug 23
docs(pgs): marketing copy
Eric Bower  ·  19 Aug 23
chore(pgs): print summary for prune op
Eric Bower  ·  19 Aug 23
chore(prose): updated blog rss feeds
Eric Bower  ·  17 Aug 23
refactor(pgs): cli outputs and asset upload optimizations
fix: lint
1fc495d
Eric Bower  ·  17 Aug 23
fix: lint
Eric Bower  ·  17 Aug 23
refactor: move Cmd to own file
Eric Bower  ·  17 Aug 23
fix: use go1.21 in CI
use go1.21
3e8759a
Eric Bower  ·  17 Aug 23
use go1.21
Eric Bower  ·  17 Aug 23
refactor(pgs): reorganized ssh cmds

feat: all cmds are safe by default, use `--write` to commit
Eric Bower  ·  16 Aug 23
fix: `project` might not exist during link
Eric Bower  ·  16 Aug 23
feat: order projects by name asc
Eric Bower  ·  16 Aug 23
chore: delete orphaned assets when linking projects
Eric Bower  ·  16 Aug 23
fix: only delete assets from exact project match

refactor: abstract removing assets
Eric Bower  ·  16 Aug 23
upload to hey instead of erock
Eric Bower  ·  16 Aug 23
fix: validate project names
Eric Bower  ·  14 Aug 23
fix(pgs): add check handler
Eric Bower  ·  14 Aug 23
docs(pgs): rm markdown syntax
Eric Bower  ·  14 Aug 23
fix(pgs): only ListObjects with specific match
Eric Bower  ·  14 Aug 23
fix(pgs): link regression
fix: better 404
da1fd09
Eric Bower  ·  14 Aug 23
fix: better 404
Eric Bower  ·  14 Aug 23
fix: better object detection and route detection
Eric Bower  ·  14 Aug 23
feat: delete orphaned files when link succeeds
Eric Bower  ·  14 Aug 23
fix: deploy pgs site
Eric Bower  ·  14 Aug 23
fix: install deps
fix: typo
e155233
Eric Bower  ·  14 Aug 23
fix: typo
Eric Bower  ·  14 Aug 23
chore: automatically publish static site to pgs
chore: cleanup
f502452
Eric Bower  ·  14 Aug 23
chore: cleanup
Eric Bower  ·  13 Aug 23
feat: more pgs commands
Eric Bower  ·  13 Aug 23
feat: pgit static site generation
Eric Bower  ·  13 Aug 23
docs: update readme
Eric Bower  ·  13 Aug 23
fix: caddy docker build
Eric Bower  ·  13 Aug 23
fix(pgs): better error handling for project mgmt
changes
83e0992
Eric Bower  ·  13 Aug 23
changes
changes
29a356e
Eric Bower  ·  12 Aug 23
changes
Eric Bower  ·  12 Aug 23
fix: sftp `ListFiles`

It previously wasn't returning something that sftp was expecting
Eric Bower  ·  10 Aug 23
allow recursive for sftp
Eric Bower  ·  07 Aug 23
docs: add way to signup
Eric Bower  ·  07 Aug 23
use `scp -r` for now
fix: upload url
c96d94b
Eric Bower  ·  04 Aug 23
fix: upload url
fix: upload url
10b01d4
Eric Bower  ·  04 Aug 23
fix: upload url
Eric Bower  ·  04 Aug 23
feat: make cmd for pgs static site deploy
Eric Bower  ·  04 Aug 23
fix: podman bp commands
Eric Bower  ·  04 Aug 23
feat: cannot link to a project that is also a link

A project linked to another project which is also linked to a
project is forbidden.  CI/CD Example:
        - ProjectProd links to ProjectStaging
        - ProjectStaging links to ProjectMain
        - We merge `main` and trigger a deploy which uploads to ProjectMain
        - All three get updated immediately
This scenario was not the intent of our CI/CD.  What we actually
wanted was to create a snapshot of ProjectMain and have ProjectStaging
link to the snapshot, but that's not the intended design of pgs.

So we want to close that gap here.
Eric Bower  ·  03 Aug 23
feat: pgs.sh (#28)

A zero-dependency static site hosting service for hackers.

Features:
- Terminal workflow
- No client-side installation required to fully manage static sites
- Distinct static sites as "projects"
- Unlimited projects created on-the-fly (no need to create a project
  first)
- Deploy via `rsync -a . erock@pgs.sh:/myproject`
- Symbolic linking from one project to another (to support
  promotions/rollbacks)
- HTTPS for all projects `https://erock-myproject.pgs.sh`
- Custom domains for projects (managed simply by `TXT` records)
Christopher Hoelter  ·  04 Jul 23
Updates for macOS build compatibility. (#20)

Updated the readme to include a reference to a macOS system package dependency.
Added minor additional notes on direnv and running the project.
Upgraded project package dependency that includes a macOS build fix.
Christopher Hoelter  ·  04 Jul 23
Ensure 'hidden' value gets updated when the draft attribute is modified. (#21)

Eric Bower  ·  17 Jun 23
fix(prose): `/raw/` endpoints should take priority over aliases
Eric Bower  ·  27 Mar 23
chore(feeds): feed_items table to store feed items (#16)

Some RSS feeds are technically invalid but still want to be fetched.  In
these cases we want to make sure we can still fetch them and properly
handle when the feed item does not contain correct tags for dates.

Previously we used `published` and internally `last_digest` to determine
if a feed has already been sent to the user.  Well some feed items do
not contain `published` so we would always send the feed item to the
user in their email digest.

Now we are storing the feed items we have fetched in a separate table
along with some of its metadata in order to properly mark a feed item as
"already sent."  Now it doesn't matter if the feed item has the correct
tags or not, we will try to fetch the items, send them to the user, and
them mark them as already sent.
Eric Bower  ·  26 Mar 23
chore: move docker commands into variable for makefile
Eric Bower  ·  16 Mar 23
chore(imgs): add in-memory caching for resizing images

This caching could also be used for the other services as well now.
Eric Bower  ·  16 Mar 23
bug(imgs): ensure webp imgs are saved

Also in this commit is a change to the resize filter algorithm to see if
that helps with quality and performance.

Read more: https://github.com/disintegration/imaging#image-resizing
Eric Bower  ·  15 Mar 23
bug(imgs): resize regression because of incorrect switch case
Eric Bower  ·  15 Mar 23
chore(prose): add some more rss endpoints
Eric Bower  ·  15 Mar 23
fix(imgs): do not convert svg to webp

We never actually tested svg images before "supporting" it.
Eric Bower  ·  15 Mar 23
style: nav links
Eric Bower  ·  15 Mar 23
style(prose,lists): each nav link in aside theme gets own line
Eric Bower  ·  15 Mar 23
chore: fix lint errors
Eric Bower  ·  15 Mar 23
feat(prose): aliases can have a leading slash now

It feels more natural to have a leading slash `/` for aliases even
though it's a little more work to handle it properly with current slugs.
Eric Bower  ·  13 Mar 23
bug(aliases): add support for comma delimited string
Eric Bower  ·  13 Mar 23
style: tweak max-width
Eric Bower  ·  13 Mar 23
style: tweak design
Eric Bower  ·  13 Mar 23
feat(prose): post aliases (#13)

Posts can now have alias routes as well as the default filename as the
slug.

This is an important feature to support migrating from a self-hosted
hugo blog to one hosted by pico.

```
---
title: My post
aliases:
    - my_awesome_post
    - 2023/03/10/my-post
---
```
Eric Bower  ·  07 Mar 23
feat(prose): support custom favicon

Now bloggers can supply their own favicon inside the `_readme.md`

```
---
favicon: https://zzz.png
favicon: /zzz.png
---
```

If relative paths are supplied we replace it with `imgs.sh`
Eric Bower  ·  03 Mar 23
fix(lists): use correct var for blog templates
Eric Bower  ·  28 Feb 23
feat(cms): ability to see view count for posts
Eric Bower  ·  28 Feb 23
chore(db): add view count to post struct
Eric Bower  ·  28 Feb 23
style(prose,lists): tweaked /read and blog styles
design tweaks
1811feb
Eric Bower  ·  28 Feb 23
design tweaks
Eric Bower  ·  28 Feb 23
feat(prose,lists,imgs): Add rss alt link to blog page

Closes #9
Antonio Mika  ·  24 Feb 23
Fix feeds panic and lists lint
Antonio Mika  ·  24 Feb 23
Update caddy resolvers to use cf
Eric Bower  ·  27 Jan 23
fix(feeds): wrong id for inline content section
Eric Bower  ·  24 Jan 23
chore(feeds): http client cleanup
Eric Bower  ·  24 Jan 23
fix(feeds): support reddit rss feeds
Eric Bower  ·  23 Jan 23
docs(feeds): add inline content section
Eric Bower  ·  23 Jan 23
fix(feeds): when inline_content is false we should only send summary in
email
Colin Henry  ·  23 Jan 23
feat(feeds): add option to disable inlining of post content in feed.sh emails (#8)

Eric Bower  ·  21 Jan 23
feat(feeds): add description to feeds
Eric Bower  ·  16 Jan 23
feat(feeds): render actual content
Eric Bower  ·  15 Jan 23
fix(imgs): support uploading webp

We always intended to support `image/webp` but we never actually tested
the code path.
Eric Bower  ·  13 Jan 23
chore: cleanup old code
Eric Bower  ·  05 Jan 23
fix(feeds): remove log stmt used for debugging
Eric Bower  ·  05 Jan 23
fix(feeds): fix validation for digest interval to include `6hour`
Eric Bower  ·  05 Jan 23
fix(imgs): typo on hotlink for post
Eric Bower  ·  05 Jan 23
feat(imgs): return current total size for user storage

This value will be displayed when uploading an image to imgs.sh.

Example of what it looks like: `https://erock.imgs.sh/barefoot (space: 0.01/1.00GB, 1.39%)`
Eric Bower  ·  05 Jan 23
chore(imgs): Add hot links and resizing examples on each imgs post page
Eric Bower  ·  05 Jan 23
fix(imgs): allow deletion using the empty post method
Eric Bower  ·  27 Dec 22
feat(feeds): add `6hour` to feed digest interval
Eric Bower  ·  25 Dec 22
fix(prose): rss link was incorrect
Eric Bower  ·  22 Dec 22
fix(feeds): actually use returned date
Eric Bower  ·  22 Dec 22
chore(feeds): change subject of email based on post title
Eric Bower  ·  22 Dec 22
docs(feeds): update roadmap
Eric Bower  ·  22 Dec 22
chore(feeds): fix linter
Eric Bower  ·  22 Dec 22
feat(feeds): support html

Also changed how we fetch feeds
Eric Bower  ·  22 Dec 22
bug(feeds): cron was not properly validating the digest period
Eric Bower  ·  21 Dec 22
fix(feeds): added logging statements and some different fetch logic
Eric Bower  ·  21 Dec 22
fix(feeds): cron log is using incorrect `posts.Total`
Eric Bower  ·  15 Dec 22
docs: update readme
Eric Bower  ·  15 Dec 22
docs(feeds): update privacy policy
Eric Bower  ·  15 Dec 22
docs(feeds): marketing page updates
Eric Bower  ·  15 Dec 22
fix(feeds): add feeds space to posts
Eric Bower  ·  15 Dec 22
change gh action name for feeds img builder
feeds.sh (#2)
350d563 (v1.1.0)
Eric Bower  ·  15 Dec 22
feeds.sh (#2)

* feat(feeds): init
Eric Bower  ·  12 Dec 22
docs: add imgs.sh to readme
Antonio Mika  ·  12 Dec 22
Set default address space to not conflict
Antonio Mika  ·  12 Dec 22
Merge pull request #6 from picosh/am/no-matrix

Change build to use composite instead of matrix action
Antonio Mika  ·  12 Dec 22
Use proper platforms setting
Antonio Mika  ·  12 Dec 22
Fix composite action
Return env vars
565f24f
Antonio Mika  ·  12 Dec 22
Return env vars
Antonio Mika  ·  12 Dec 22
Change build to use composite instead of matrix action
Antonio Mika  ·  12 Dec 22
Return caddy build to separate job
Antonio Mika  ·  11 Dec 22
Add caddy step to normal build
Antonio Mika  ·  11 Dec 22
Use updated image references
Antonio Mika  ·  11 Dec 22
Merge pull request #5 from picosh/am/ci-cd

Added basic ci/cd
Fix lint
cd38fc4
Antonio Mika  ·  11 Dec 22
Fix lint
Antonio Mika  ·  11 Dec 22
Install libwebp when running actions
Antonio Mika  ·  11 Dec 22
Added basic ci/cd
Eric Bower  ·  22 Nov 22
chore: reference github instead of sr.ht
Eric Bower  ·  22 Nov 22
fix: suppress fsetstat error
Eric Bower  ·  09 Nov 22
feat(prose): permit rel attribute on hyperlinks.

Closes https://todo.sr.ht/~erock/pico.sh/51
Eric Bower  ·  09 Nov 22
docs: remove print stmt
Eric Bower  ·  09 Nov 22
refactor(pastes): add col `expires_at` to posts

Currently we figure out how to delete pastes by having a cron goroutine
check on an interval whether or not posts are older than 3 days.
Instead, we want to provide the ability for that delete time to be
determined by individual records.

So we added `expires_at` column to our `posts` table.

I also extended the default expiration from 3 to 7 days.
readme update
5979c6d
Eric Bower  ·  09 Nov 22
readme update
Eric Bower  ·  09 Nov 22
docs: point sourcecode links to github
Eric Bower  ·  08 Nov 22
bug(lists): transparency page included wrong templates
doc updates
7080372
Eric Bower  ·  08 Nov 22
doc updates
Eric Bower  ·  08 Nov 22
feat(lists): relative image urls now route to imgs.sh

This reaches feature parity with prose.sh where we can reference images
hosted by imgs.sh from lists.sh

Both "/image", "./image", and "./image.jpg" are supported.
Eric Bower  ·  07 Nov 22
feat(lists): layout support

Introduced parity with prose for different layouts.  Right now we
support "default" and "aside".
Eric Bower  ·  03 Nov 22
fix: remove check for imgs feature flag
Eric Bower  ·  02 Nov 22
fix: correctly cast bool frontmatter
jupblb  ·  02 Nov 22
feat: support `draft` metadata property

Currently we support setting `date` into the future which will result in
the post being still URL addressable but not in our discovery feed, rss,
or the author's feed.
Eric Bower  ·  10 Oct 22
refactor: use neurosnap/go-exif-remove for custom patches

`go-exif-remove` uses `go-jpeg-image-structure` in order to strip exif
data.  Unfortunately there's a bug in `go-jpeg-image-structure` that
makes it so some jpeg image aren't detected as jpegs and then fails.

See open PR for details: https://github.com/dsoprea/go-jpeg-image-structure/pull/19
Eric Bower  ·  10 Oct 22
bug(upload): removed user field from shared file uploader struct

When a user attempts to upload files to our server, the
logic we use to perform file uploads is baked into a few similar
structs (`ScpUploadHandler` and `UploadImgHandler`).  In those
structs we authenticate their `ssh.Session` by using their name
to find a user record in our db.

We mistakenly had a user field on those shared structs which would
sometimes result in a race condition where user A would upload files to
user B's blog.

We have removed the user field and instead leverage
`ssh.Session.Context` to set and access the user object for our file
uploaders.
Eric Bower  ·  09 Oct 22
feat(imgs): set img file size limit to 10mb
Eric Bower  ·  07 Oct 22
docs(imgs,prose): add more info for docs

Also added a section on the prose marketing page about
how to upload images with your blog.
Eric Bower  ·  06 Oct 22
docs(imgs): fix typo with integrations header
Eric Bower  ·  06 Oct 22
feat(imgs): general availability
Eric Bower  ·  27 Sep 22
fix(imgs): set level to 1 for lossless

warning: this was the only value I could supply to get this to work
Eric Bower  ·  27 Sep 22
feat(imgs): small images are lossless
Eric Bower  ·  26 Sep 22
feat(imgs): be more explicit about quality setting

Also change resize algo to nearest neighbor
Eric Bower  ·  26 Sep 22
feat(imgs): only modify quality if file is large
Eric Bower  ·  07 Sep 22
refactor(wish): downgrade error stmt to info
Eric Bower  ·  07 Sep 22
docs(imgs): update marketing copy
Eric Bower  ·  07 Sep 22
refactor(imgs): simplified logic in imgHandler
Eric Bower  ·  07 Sep 22
docs: remove wish/readme since it's out of date
Eric Bower  ·  05 Sep 22
feat(imgs): we save webp images next to main img
Eric Bower  ·  02 Sep 22
fix: use host domain for full urls
Eric Bower  ·  02 Sep 22
fix: add other rss routes to subdomains
Eric Bower  ·  01 Sep 22
fix(lists): use wrong file for readme text
Eric Bower  ·  01 Sep 22
fix(imgs): jpg not always detected in exif scrubber
Eric Bower  ·  01 Sep 22
refactor(imgs): move image processsing to shared
Antonio Mika  ·  01 Sep 22
Add the ability to download images and fix sftp uploads
Eric Bower  ·  01 Sep 22
fix(parser): use right imgs url for custom domains
Antonio Mika  ·  31 Aug 22
Cleaned up configuration and added debug flag
Antonio Mika  ·  31 Aug 22
Work on optimizing imgs.sh
Antonio Mika  ·  31 Aug 22
Remove os/user ldd warnings
Antonio Mika  ·  31 Aug 22
Switch to debian based images and implement cgo cross compilation
Eric Bower  ·  31 Aug 22
docs(imgs): remove metadata sections
Eric Bower  ·  31 Aug 22
refactor(imgs): use go-webp
Eric Bower  ·  31 Aug 22
feat(prose): special _footer.md appends all posts

This allows users to be able to upload a special "hidden" file that will
be appended to every post.  The intention is to use this as a regular
call-to-action like an email address for feedback.
Eric Bower  ·  30 Aug 22
fix(imgs): update marketing page with example
Eric Bower  ·  30 Aug 22
feat(imgs): strip exif data for png, jpg
Eric Bower  ·  30 Aug 22
feat(imgs): web optimized images
Eric Bower  ·  30 Aug 22
fix(all): moved auth middleware above bubbletea
Eric Bower  ·  28 Aug 22
feat(prose): support for og images on blog and posts
Antonio Mika  ·  28 Aug 22
Move logging before auth
Antonio Mika  ·  28 Aug 22
Implement new buffer for sftp and simplify auth logic
Eric Bower  ·  28 Aug 22
docs: add section about custom domains check endpoint
Eric Bower  ·  27 Aug 22
feat: support for different blog page layouts

"default" and "aside" are currently supported by adding `layout` in the
_readme.md frontmatter
Eric Bower  ·  27 Aug 22
fix(rss): lists set proper rss entries for blog
Eric Bower  ·  27 Aug 22
fix(rss): limit blog rss feeds to 10
Antonio Mika  ·  26 Aug 22
Fixed image deletes from cms and fixed prose image uploads
Antonio Mika  ·  26 Aug 22
Move configuration options and add the ability to delete image files from CMS
Antonio Mika  ·  26 Aug 22
Added storage to scp handler
Antonio Mika  ·  26 Aug 22
Fixed docker build
Antonio Mika  ·  26 Aug 22
Added ca certificates
Antonio Mika  ·  26 Aug 22
Added minio support to imgs
Antonio Mika  ·  26 Aug 22
Added prometheus settings for minio
Antonio Mika  ·  26 Aug 22
Fix minio console port and caddy config
Antonio Mika  ·  26 Aug 22
Added caddy configurations for minio
Added minio
3388fdc
Antonio Mika  ·  26 Aug 22
Added minio
Eric Bower  ·  26 Aug 22
feat(prose): markdown footnotes

style: tweak heading sizes
Eric Bower  ·  25 Aug 22
feat(prose,lists): filter posts by all tags read

Now users can filter posts by tag on the read page.  This will allow us
to host writing competitions where users can submit their article with
the tag specifically for the competition and then we read them to pick
a winner.
Antonio Mika  ·  25 Aug 22
Fixed list condition
Antonio Mika  ·  25 Aug 22
Added rsync and sftp download support
Antonio Mika  ·  24 Aug 22
Cleanup update logic and update to go 1.19
Eric Bower  ·  23 Aug 22
style: add some margin between articles
Eric Bower  ·  23 Aug 22
refactor(all): making sure every post has shasum
Eric Bower  ·  23 Aug 22
fix(imgs): use updated shasum logic
Eric Bower  ·  23 Aug 22
refactor(imgs): remove markdown metadata uploader

After further thought, using a second markdown file for the metadata of
images was just a little too cumbersome.  I also have a hunch that most
people are not going to take the time to annotate their images into
mini-blogs.
Eric Bower  ·  22 Aug 22
refactor(imgs): remove tag tmpl files
Eric Bower  ·  22 Aug 22
refactor(imgs): redesign blog page for imgs

After chatting with the pico members, it became clear that the photo
album direction I was heading in was not going to super useful.  Instead
we decided to revert the design back to how the other pico services
function.  So now it's just a stream of images not grouped by tags.
Eric Bower  ·  22 Aug 22
fix(mdparser): supply goldmark html config for ImgRenderer
Eric Bower  ·  19 Aug 22
feat(prose): allow images to be uploaded from other services
Eric Bower  ·  19 Aug 22
refactor: move prose markdown parser to shared
Eric Bower  ·  18 Aug 22
docs(imgs): add another feature to roadmap
Eric Bower  ·  18 Aug 22
docs(imgs): typo
Eric Bower  ·  18 Aug 22
docs(imgs): marketing content updates
Eric Bower  ·  18 Aug 22
docs(imgs): add section about metadata
Eric Bower  ·  18 Aug 22
fix(all): updated rss feeds to contain more information

I also added aliases to user blog's rss feeds
Eric Bower  ·  18 Aug 22
docs(all): update server costs and provider
Antonio Mika  ·  18 Aug 22
Add rsync support to imgs
Eric Bower  ·  18 Aug 22
fix(sql): updated posts table columns to fix regression

We did not assume mime_type or shasum could be null, so this adjusts the
migration to use what we pasted into our prod db.
Antonio Mika  ·  18 Aug 22
Added imgs docker deployment data
Eric Bower  ·  18 Aug 22
docs: update example env file with imgs service
Eric Bower  ·  18 Aug 22
fix: alignment in pastes blog view
feat: imgs.sh
9b5a1b5
Eric Bower  ·  11 Aug 22
feat: imgs.sh

This is the initial release for the imgs.sh premium image hosting for
hackers.
Tidied mod file
4b30ba2
Antonio Mika  ·  17 Aug 22
Tidied mod file
Antonio Mika  ·  17 Aug 22
Added rsync support
Eric Bower  ·  15 Aug 22
fix(lists): nested parser sometimes would divide by zero
Eric Bower  ·  12 Aug 22
fix(lists): fix nil pointer reference in parser
Eric Bower  ·  10 Aug 22
docs(prose): add help section for supported hugo variables
Eric Bower  ·  10 Aug 22
feat: parse nav links to convert relative urls to absolute

This allows users to include posts -- from their prose blog -- as links
in the nav without needing to specify an absolute URL.
Eric Bower  ·  10 Aug 22
feat: tag posts with slug as classname on body

This will make it easier to do per post style changes.
Eric Bower  ·  09 Aug 22
feat: add ability to pipe to any service

Implements https://todo.sr.ht/~erock/pico.sh/47
Antonio Mika  ·  08 Aug 22
Fixed slug being filename when file contents are the same and allow cms post management for future posts
Eric Bower  ·  08 Aug 22
fix(lists): need template funcs for rss feeds
Eric Bower  ·  08 Aug 22
fix(lists): rss feeds did not handle nested lists
Eric Bower  ·  08 Aug 22
feat(css): abstracted common css into single file for all services

It was becoming tedious to make the same change in three different css
files, so I abstracted the main styling into a single file and am now
copying the css into each service's public directory with `make css`.
Eric Bower  ·  08 Aug 22
style(prose): update default styling

- Increased header sizes
- Increased font size
- Tweaked colors for light mode
- Tweaked blockquote padding
Eric Bower  ·  08 Aug 22
fix(prose): init html policy once
Eric Bower  ·  08 Aug 22
fix(prose): regression where syntax highlighting was broken

bluemonday strips all classes so we had to allow classes.
Eric Bower  ·  06 Aug 22
fix(lists): spec copy changes
Eric Bower  ·  06 Aug 22
fix(lists): wrong anchor links
Eric Bower  ·  05 Aug 22
feat(lists): nested lists

Nested lists adds more complexity to our parser but the time complexity
is still `O(n)` where `n = lines in the list`.
Eric Bower  ·  04 Aug 22
feat(prose): support limited raw html inside markdown

It would be nice to support limited html in our markdown files so users
can futher customize their blog posts.

We are using https://github.com/microcosm-cc/bluemonday to handle proper
sanitization.
Antonio Mika  ·  04 Aug 22
Format Caddyfile
Antonio Mika  ·  04 Aug 22
Added raw handler to lists
Added promwish
dd19f3e
Antonio Mika  ·  04 Aug 22
Added promwish
Eric Bower  ·  04 Aug 22
feat(pastes): use post filename for the title
Eric Bower  ·  03 Aug 22
refactor: remove gemini code
Eric Bower  ·  03 Aug 22
refactor: db -> sql and wish/cms/db -> db

It doesn't make sense to have such an important and all encompasing
package such as `wish/cms/db` to live buried in the cms code.
fix: linter
040a7d3
Eric Bower  ·  03 Aug 22
fix: linter
Eric Bower  ·  03 Aug 22
feat: allow registration flag

I made it so when a user presses 'esc' in the account creation screen
it will quit the app instead of going to the main cms screen.

Also added better error handling during account creation.

Implements: https://todo.sr.ht/~erock/pico.sh/21
Fixes: https://todo.sr.ht/~erock/pico.sh/41
Fixes: https://todo.sr.ht/~erock/pico.sh/1
Eric Bower  ·  03 Aug 22
fix: add ssh_data to gitignore
Eric Bower  ·  03 Aug 22
fix: add pipe to ssh command back to pastes

Also fixed an issue where pipe to ssh would display a "%".
Eric Bower  ·  03 Aug 22
fix: increase key create ui input length
Eric Bower  ·  03 Aug 22
fix: increase public key input to 1000 chars
Eric Bower  ·  03 Aug 22
feat: dates migration and reorg one-off scripts

Since we've been needing to perform more complex migrations that depend
on golang, I thought it would be a good idea to have a "home" for our
one-off scripts.

I like the idea of keeping them in git so we can reference them for
future scripts or just for historical reasons.
Antonio Mika  ·  02 Aug 22
Support any date format and light refactor
Antonio Mika  ·  02 Aug 22
Update readme with information about new deployment method
Antonio Mika  ·  02 Aug 22
Remove compose command in favor of direnv configuration
Antonio Mika  ·  02 Aug 22
Merge branch 'am/compose-changes'
Antonio Mika  ·  02 Aug 22
Add new make targets for docker compose
Antonio Mika  ·  02 Aug 22
Update environment setting
Antonio Mika  ·  02 Aug 22
Added unified compose file and updated deployment method
Eric Bower  ·  02 Aug 22
fix: migration script for post tags

The only way that post tags get added to our database
is if the post gets uploaded.  If there is a post in our
system that already has tags, the tags will show up in the post
but not in the blog tag filter.

This script backports tags for all posts that already had tags
in their system.
Eric Bower  ·  02 Aug 22
fix: incorrect tag in yaml was breaking uploader and web render

Also added support for a string based tags value
Antonio Mika  ·  02 Aug 22
Merge branch 'main' of git.sr.ht:~erock/pico
Antonio Mika  ·  02 Aug 22
Added support for custom domains to lists and pastes
Eric Bower  ·  02 Aug 22
docs: add docs about tags
Antonio Mika  ·  02 Aug 22
Fix custom domains
Eric Bower  ·  02 Aug 22
feat: ability to tag posts for lists and prose

Now users can tag posts and then filter posts on their blog by a single
tag.  We could have supported the ability to filter by multiple tags but
I felt like that was feature creep.  If we get enough requests to filter
by multiple tags then we can reconsider that decision.

I also made it so the blog rss feed will filter based on tag.  This
allows readers to subscribe and read posts specific to a tag.

In a follow up commit we will make it so the `/read` endpoint can also
be filtered by tag, but again I felt like that was feature creep and
probably not something many people will end up using.

Implements: https://todo.sr.ht/~erock/pico.sh/31
Eric Bower  ·  02 Aug 22
fix: custom css should be last
Eric Bower  ·  02 Aug 22
fix: _styles.css error when root directory is provided for scp.
Eric Bower  ·  01 Aug 22
refactor: abstract api functions into shared

I also updated the custom domain logic to apply to all services.

Each service has its own special TXT string, e.g. `_prose`, `_lists`,
`_pastes` which is based on `cfg.Space`.
Antonio Mika  ·  01 Aug 22
Fixed custom domain routing logic
fix: add readme
207b6d9
Eric Bower  ·  01 Aug 22
fix: add readme

Also update references to our repos to point to the new pico repo
Antonio Mika  ·  01 Aug 22
Makefile name fix 2
Antonio Mika  ·  01 Aug 22
Makefile name fix 1
Antonio Mika  ·  01 Aug 22
Fixed multiarch build
Antonio Mika  ·  31 Jul 22
Updated caddy image
Eric Bower  ·  31 Jul 22
fix: log message when user deletes account
Eric Bower  ·  31 Jul 22
fix: adjusted slug migration

We need to ensure that the prod db has the correct filenames since we
are not including the extension in the record.

We also updated all the post urls to use the slug field.
Eric Bower  ·  31 Jul 22
refactor: use post column slug for url

By creating a new column for our url slugs, we can allow users to be
able to change the slug.

It also makes the logic around how to generate a post url easier since
it is explicit inside the post record.
Eric Bower  ·  30 Jul 22
fix: cleanup file validate logic
Eric Bower  ·  30 Jul 22
fix: add latest migration
Eric Bower  ·  30 Jul 22
refactor: abstract scp upload handler
Antonio Mika  ·  31 Jul 22
Simplified build system and speed up builds
Eric Bower  ·  29 Jul 22
refactor: move code from services to root

This is the first of a couple refactors to
abstract as much service code into a separate
package in order to reduce the amount of
code duplication.

This code was essentially copy pasted into
all of the services because we didn't have
a good way to abstract it until now.
Eric Bower  ·  29 Jul 22
chore: update make build pushes
Eric Bower  ·  29 Jul 22
chore: cleanup imports
Eric Bower  ·  29 Jul 22
chore: update static paths for template and public files
Eric Bower  ·  29 Jul 22
chore: added wish
Eric Bower  ·  29 Jul 22
fix: rm dockerfile in pastes
Eric Bower  ·  29 Jul 22
refactor: merge all services code
Eric Bower  ·  28 Jul 22
fix: more log statements
Eric Bower  ·  28 Jul 22
fix: prose public keys were not always being added
Eric Bower  ·  28 Jul 22
preserve view counts
Eric Bower  ·  28 Jul 22
fix: rm delete null users
use actual wish
5a1dbf9
Eric Bower  ·  28 Jul 22
use actual wish
Eric Bower  ·  28 Jul 22
move migrate script
actually commit
3ec0008
Eric Bower  ·  28 Jul 22
actually commit
add license
477ea73
Eric Bower  ·  27 Jul 22
add license
init
90d8d20
Eric Bower  ·  27 Jul 22
init