Commit Graph

27 Commits

Author SHA1 Message Date
Rui Saraiva
60d571fe11
chore: update Rui's avatar
Resized from a 512x512 source to 112x112, the size the other two use and
twice the 56px it renders at.

The circle is baked into the file, not applied by CSS — the component sets
no border-radius at all, and the existing avatars are pre-masked with fully
transparent corners. A plain square resize rendered as a square next to two
circles, so the mask is composited in with dest-in.

PNG with palette quantisation: 8.3 KB against 28.6 KB for straight RGBA,
with no difference visible at 3x magnification on either the face or the
masked edge. That also puts it under the 13.1 KB the other two weigh.
2026-07-26 14:49:20 +01:00
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
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
a2d70d783f
fix: remove initial background flash 2022-07-07 11:29:08 +01:00
Rui Saraiva
04a34e04c2
chore(deps): upgrade dependencies 2022-07-07 08:26:00 +01:00
Rui Saraiva
f01116e55c
feat: use Next.js Image component 2021-12-04 23:43:26 +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
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
06812d2048 feat: add robots.txt file 2020-10-06 01:08:07 +01:00
Rui Saraiva
758ec0565a chore: update contributors list 2020-10-06 00:52:21 +01:00
Rui Saraiva
dd39d57a5d feat(about): add miguel teixeira as contributor 2020-09-10 19:34:14 +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
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
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
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
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
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
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