Commit Graph

41 Commits

Author SHA1 Message Date
Rui Saraiva
135c260189
feat(seo): add a canonical link and a sitemap
favycon.app has no DNS records at all, so favycon.vercel.app is the only
hostname this site answers on and the canonical is unambiguous. It uses the
SITE_URL constant, so it cannot disagree with og:url.

The sitemap is a single static URL. Its loc is written without a trailing
slash to match the canonical string exactly — the two forms are the same
URL per RFC 3986, but nothing here forces them to differ, so they don't.
No lastmod: a hand-maintained file would claim a freshness it can't know.

robots.txt gains the Sitemap line and a note that /api/favycon is POST-only
and answers a GET with 405. It stays out of the disallow list deliberately:
a 405 tells a crawler more than a rule it has to fetch robots.txt to find.
2026-07-26 14:39:13 +01:00
Rui Saraiva
74275a31a7
chore: use the alias address and the current role
The package author email was a Gmail address. The site already contacts
through hello@ruisaraiva.dev, an alias forwarded to that inbox, and the
point of the alias is that a published field can be rotated without
touching the real mailbox — so the package field uses it too.

The credits still described Rui as a Full-Stack Developer, which was true
when the tool was built in 2020. Augusto's and Miguel's roles are left as
they are.
2026-07-26 14:38:40 +01:00
Rui Saraiva
78c9508195
feat(seo): declare the author and add llms.txt
The about modal is lazily mounted, so the credits and contact address are
not in the server-rendered HTML and no crawler ever sees them. Authorship
therefore goes in the head, where it is always present: a meta author, a
rel=author link to ruisaraiva.dev, and SoftwareApplication JSON-LD.

The structured data names Rui as author and Augusto and Miguel as
contributors, because the modal credits three people and the markup should
not tell a machine a tidier story than the page tells a reader.

Also adds public/llms.txt: accepted input formats, the 310px and 512px
minimums, and exactly what the zip contains, including that favicon.svg
only appears for SVG input and manifest.json only with the PWA option. It
is written from utils/favicon.ts and the route handler rather than from
memory. Note it is a static file, so it is the one thing here that can
drift from the sizes it documents.

Two hardcoded favycon.vercel.app strings become the SITE_URL constant the
rest of the file now uses.
2026-07-26 14:31:52 +01:00
Rui Saraiva
3588ab0506
feat: link the author credit to a website and update the contact address
Two changes to the about modal, in the same file:

Rui's credit pointed at a Twitter handle and now points at ruisaraiva.dev,
with a globe icon. Augusto keeps Twitter and Miguel keeps GitHub, so the
link type is now one of three rather than a binary — hence a small lookup
instead of a second ternary in the JSX. The icon is drawn from circle,
line and ellipse primitives rather than path data, so the geometry is
exact.

Because the globe is stroked where the GitHub mark is filled, the
dark-mode rule for it has to set stroke rather than fill. Both were
checked in both themes.

The subtitle said "follow these guys on Twitter", which only one of the
three links now is, so it drops the platform.

The contact address moves from hello@favycon.app, which is no longer in
use, to hello@ruisaraiva.dev.
2026-07-26 14:31:52 +01:00
Rui Saraiva
04a34e04c2
chore(deps): upgrade dependencies 2022-07-07 08:26:00 +01:00
Rui Saraiva
02a0834df4
feat: add custom Splitbee events 2021-12-05 00:34:47 +00:00
Rui Saraiva
138fe96a49
feat: upgrade react-use-gesture to @use-gesture/react 2021-12-04 23:45:43 +00:00
Rui Saraiva
f01116e55c
feat: use Next.js Image component 2021-12-04 23:43:26 +00:00
Rui Saraiva
f19f9ef112
chore: update seo meta tags 2021-12-04 18:40:16 +00:00
Rui Saraiva
785563a71c
feat: upgrade dependencies (#480)
* feat: upgrade dependencies

* chore: update linter and CI workflows

* chore: upgrade browserslist
2021-12-04 18:32:53 +00:00
Rui Saraiva
b72b8fe267
fix(deps): upgrade dependencies (#433)
* fix(deps): upgrade dependencies

* chore(deps): upgrade dependencies

* feat(images): add blur hash placeholders

* ci(engines): remove engines property
2021-02-07 12:38:22 +00:00
renovate[bot]
76d010fafa
fix(deps): update react monorepo to v16.14.0 (#309)
* fix(deps): update react monorepo to v16.14.0

* refactor: use the new JSX transform

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rui Saraiva <ruisaraiva19@gmail.com>
2020-10-18 09:23:20 +01:00
Rui Saraiva
0ef4ea545c chore(deps): upgrade dependencies 2020-10-07 22:31:18 +01:00
Rui Saraiva
1781014f5b perf: inline placeholder images and compress the rest 2020-10-06 01:26:51 +01:00
Rui Saraiva
8fb1812ce8 fix: update share image cache id 2020-10-06 00:55:16 +01:00
Rui Saraiva
758ec0565a chore: update contributors list 2020-10-06 00:52:21 +01:00
Rui Saraiva
ee26d42553 fix(dropzone): allow only single file drag and drop 2020-09-12 08:25:07 +01:00
Rui Saraiva
018072cb36 feat(modals): close modal on swipe down 2020-09-11 01:35:45 +01:00
Rui Saraiva
dd39d57a5d feat(about): add miguel teixeira as contributor 2020-09-10 19:34:14 +01:00
Rui Saraiva
e251d361f6 fix(postcss): fix postcss config for storybook 2020-09-10 18:56:18 +01:00
Rui Saraiva
20f009e848
feat: responsive version (#113)
* feat: wip - responsive version

* chore(config): update eslint config

* fix: align drop zone footer

* fix: add prop for immutable colors

* fix: container width issue on tablet

* chore: change class name convention

* chore: add missing error styles on mobile

* style(viewport): add 100vh fix for safari

* style: update bottom info padding on mobile

* perf: remove getInitialProps function and dependencies

* chore(deps): update sharp to v0.25.0

* chore: delete unused hook

* docs: add @miguellteixeira as a contributor

* test(cypress): update page load wait

* feat(responsive): update code modal for mobile

* feat(responsive): update background images and light/dark toggle color

* feat(responsive): add about us modal on mobile

* feat(responsive): update sharable image

Co-authored-by: Miguel Teixeira <teixeira.silva.miguel@gmail.com>
2020-09-10 17:57:57 +01:00
Rui Saraiva
95c4d9e147
test(drag-and-drop): add tests to all preview title messages (#158)
* test(drag-and-drop): add tests to all preview title messages

* ci(cypress): install aditional dependencies

* test(drag-and-drop): wait 100ms on each page load for rehydration
2020-07-06 10:21:44 +01:00
Rui Saraiva
90bd7436e8
feat: update favicons and twitter image size (#149)
* chore(vercel): rename now.json to vercel.json

* feat(favicon): update favicons and twitter image size

* chore(title): change ios title
2020-06-27 21:47:17 +01:00
Rui Saraiva
d00cd0e2d7 refactor(types): update types for new dependencies versions 2020-06-04 22:36:04 +01:00
Rui Saraiva
da9402a56e
fix: update colors, text, and hovers (#93)
* style(drag-and-drop): fix divivers color

fix #85

* fix(pwa): fix pwa checkbox logic

fix #82

* style(button): update hover and active states

fix #81

* style(checkbox): fix checkbox dark mode

fix #80

* style(text): make text semi bold

fix #90

* style(app): update APP text to gray color

fix #91

* style(font): add extra bold font weight

fix #92

* style(icon): fix light/dark mode colors

fix #88
2020-05-14 09:09:10 +01:00
Rui Saraiva
26161289c8 chore: update share image 2020-05-11 19:01:43 +01:00
Rui Saraiva
3ad6bcd128
feat(styles): update hovers and backgrounds (#60)
* improvement(styles): update hovers and backgrounds

* feat(about-us): add project link and contact email

* chore(colors): update colors

* chore(storybook): add Chromatic

* chore: update repo info

* chore(deps): upgrade dependencies

* refactor: update colors and repo info

* chore: remove chromatic

* refactor(deps): upgrade react-dropzone to v11

* feat: update app icon

* chore: update background image

* chore: dark mode favicon
2020-05-11 18:41:59 +01:00
Rui Saraiva
c794c169e3 fix: update animations and developer roles 2020-04-25 10:14:16 +01:00
Rui Saraiva
265c65168a
feat(favycon): add about us modal (#49)
* feat(about-us): add about us modal

* fix(dark-mode): fix dark mode white flash

* improvement(seo): improved seo meta tags

* improvement(copy-code): add code copied label

* improvement(dark-mode): improve dark mode white flash
2020-04-23 09:16:33 +01:00
Rui Saraiva
efa6b4cc1e
feat: add drag and drop wizard (#39)
* feat(drag-and-drop): add drag and drop wizard

* chore(seo): update seo share image url

* improvement(upload): add download step 3

* improvement(loading): improve loading and add transitions

* improvement: add pwa support, clipboard and animations

* improvement(seo): add html lang and update title

* fix(button): fix button font family
2020-04-19 19:11:20 +01:00
Rui Saraiva
b03d746ed1
fix(favycon): fix background image, colors, and alignments (#34) 2020-04-12 23:36:41 +01:00
Rui Saraiva
6bdffeb309
feat(seo): add seo meta tags (#32) 2020-04-12 21:52:56 +01:00
Rui Saraiva
3adb9bf9fa
feat(page): add favycon home page (#29) 2020-04-12 21:25:55 +01:00
Rui Saraiva
a22002beb7
feat(favycon): add drap and drop component (#25)
Add drap and drop component with dark mode support

fix #13
2020-04-12 16:07:50 +01:00
Rui Saraiva
d3f0cfcb74
feat(layout): add base page layout (#24)
* feat(layout): add base page layout

Add base layout component with dark mode support

fix #15

* feat(storybook): add dark mode support to all components
2020-04-12 09:43:27 +01:00
Rui Saraiva
a611bcd4fe
feat: add dark mode toggle component (#21)
* feat: add dark mode toggle component

Add dark mode toggle component with custom hook

fix #14

* feat(dark-mode): add svgs, fix flash and css modules support

* docs: update get start guide and fix typos
2020-04-11 23:13:21 +01:00
Eduardo Pinto
cc926db1a5
feat: add button component (#22)
* feat(button): implement basic button structure

* refactor(style): add transparent variant and font-weight prop
2020-04-11 23:07:14 +01:00
Rui Saraiva
1a248622da
chore(storybook): add css modules support (#20) 2020-04-11 12:54:26 +01:00
Rui Saraiva
db594fac6b chore: add storybook (#17) 2020-04-11 11:12:41 +01:00
Rui Saraiva
babe9079bf
feat(styles): add base styles, font, and favicon (#12)
* feat(styles): add base styles, font, and favicon

* style(favicon): update current favicon
2020-04-11 09:17:59 +01:00
Rui Saraiva
b183cc9fef
feat: setup next, eslint, stylelint, and typescript (#5)
* feat: setup next, eslint, stylelint, and typescript

* ci: add Semantic Pull Requests config

* ci: add renovate config

* ci: add commit lint workflow

* ci: add code lint workflow

* ci: add release workflow

* docs(ci): add status badges for release, lint, and commitlint

* ci: add now config

* chore: update repo name

* ci(release): remove assets from release
2020-04-10 22:34:32 +01:00