Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
384 commits
Select commit Hold shift + click to select a range
822f94f
fix(SearchOverlay): remove is:inline attribute from script tag
leonism Aug 1, 2025
e924747
merge from dev branch
leonism Aug 1, 2025
a75b7d1
feat(search): implement new search overlay and share functionality
leonism Aug 1, 2025
1653d7d
fix(i18n): ensure consistent path formatting in localized URLs
leonism Aug 1, 2025
9fcd486
style(Header): adjust spacing and icon size in navigation header
leonism Aug 1, 2025
943feb7
feat(search): add click-outside handler to close search overlay
leonism Aug 1, 2025
193a00e
fix: update cta link and improve mobile menu type safety
leonism Aug 1, 2025
35eff8c
fix(SearchOverlay): add click-outside handler and debug logging
leonism Aug 1, 2025
50a59a9
Merge branch 'dev'
leonism Aug 1, 2025
f1ecb58
refactor(images): replace img with Picture component and add dimensions
leonism Aug 1, 2025
e1edc52
feat(i18n): restructure pages for better localization support
leonism Aug 2, 2025
12545a2
fix: correct blog post filtering by language in slug
leonism Aug 2, 2025
39f5d0b
Merge branch 'dev'
leonism Aug 2, 2025
1302724
feat(blog): improve tag display and filtering logic
leonism Aug 2, 2025
a6a870c
refactor(blog): remove tags filter section from blog index
leonism Aug 2, 2025
ffaa1da
Merge branch 'dev'
leonism Aug 2, 2025
1ca7e72
feat(blog): implement pagination via API and improve mobile menu
leonism Aug 2, 2025
1662262
style(Header): remove redundant md:hidden class from mobile menu elem…
leonism Aug 2, 2025
0d600cb
fix(navigation): improve mobile menu visibility handling
leonism Aug 2, 2025
90ece05
fix(Header): increase mobile menu width and fix event listeners
leonism Aug 2, 2025
ac67404
Merge branch 'dev'
leonism Aug 2, 2025
27fdfc7
fix(header): add is:inline to script and improve event target check
leonism Aug 2, 2025
c14e548
build: add @astrojs/image integration
leonism Aug 2, 2025
b12f0bc
Merge branch 'dev'
leonism Aug 2, 2025
d16da6f
refactor: remove unused @astrojs/image integration
leonism Aug 2, 2025
bc59704
Merge branch 'dev'
leonism Aug 2, 2025
bb17eb0
build: add @astrojs/image integration and remove vite-imagemin
leonism Aug 2, 2025
f48e13e
build: remove unused @astrojs/image integration
leonism Aug 2, 2025
7a4f1ee
refactor(config): remove unused image plugin from astro config
leonism Aug 2, 2025
de8be48
refactor: remove unused Picture imports and replace with img tag
leonism Aug 2, 2025
05195f8
refactor(search): remove enterprise search feature and simplify searc…
leonism Aug 2, 2025
09fed68
refactor: remove unused vite-plugin-imagemin import
leonism Aug 2, 2025
13160be
build: add htmlMinifier plugin to astro config
leonism Aug 2, 2025
e30bc8b
refactor: remove htmlMinifier plugin from astro config
leonism Aug 2, 2025
cfdaf44
feat(seo): refactor json-ld generation into separate utility module
leonism Aug 4, 2025
ce2d97f
feat(accessibility): improve semantic HTML and ARIA attributes
leonism Aug 4, 2025
2ef94a5
feat(search): implement search API and UI with multi-language support
leonism Aug 5, 2025
72cb408
feat(search): implement global search overlay functionality
leonism Aug 5, 2025
165ec80
fix(search): prevent SSR errors by checking window existence
leonism Aug 5, 2025
eb91cca
feat(search): add client-side search functionality to overlay
leonism Aug 5, 2025
250acb3
fix: remove duplicate imports in SearchOverlay.astro
leonism Aug 5, 2025
bf0a404
style: remove empty frontmatter from SearchOverlay component
leonism Aug 5, 2025
ff03a68
feat(search): implement enhanced search overlay with suggestions and …
leonism Aug 5, 2025
ebee97c
refactor(i18n): restructure blog posts with language prefixes
leonism Aug 5, 2025
581eb50
refactor: move client scripts to public/js directory
leonism Aug 5, 2025
8d367c7
refactor: adjust blog card height and remove about page
leonism Aug 5, 2025
dd560ce
refactor(search): change import syntax for EnterpriseSearchEngine
leonism Aug 5, 2025
da1ebed
fix(blog): correct slug and sort order in blog post layout
leonism Aug 5, 2025
ff39cac
refactor(BlogPost): remove debug logs and duplicate header content
leonism Aug 5, 2025
c018456
docs(blog): add titles to web development trends articles
leonism Aug 5, 2025
33023c3
chore: update author URLs and canonical URLs to new domain
leonism Aug 5, 2025
76a2d64
feat(blog): add related articles component and logic
leonism Aug 5, 2025
5e7ce7a
feat(compression): add wasm and webmanifest to compressed files
leonism Aug 5, 2025
9145c8f
docs: add minification info to build features in README
leonism Aug 5, 2025
0c879fc
refactor(build): optimize compression and minification processes
leonism Aug 6, 2025
9bd6362
fix(a11y): improve accessibility across multiple components
leonism Aug 6, 2025
50b495c
perf(compress): optimize compression performance with parallel proces…
leonism Aug 6, 2025
efed1f6
refactor: remove unused script import from search overlay
leonism Aug 7, 2025
ae37df3
docs: fix spanish question mark formatting in content files
leonism Aug 7, 2025
f8734b5
refactor(blog): remove type assertion from loadMoreBtn
leonism Aug 7, 2025
dfb8a74
fix(search): improve type safety and remove unused fields
leonism Aug 7, 2025
fe58e33
refactor: migrate files to typescript and update config
leonism Aug 7, 2025
7119a67
feat(blog): add table of contents component with show more/less
leonism Aug 7, 2025
6364682
feat(i18n): improve type safety and add blog translations
leonism Aug 7, 2025
6e88797
refactor(i18n): improve type imports and definitions
leonism Aug 7, 2025
3dddffd
refactor(i18n): simplify TranslationKey type definition
leonism Aug 7, 2025
ad95f99
feat(TableOfContents): redesign with collapsible navigation
leonism Aug 7, 2025
dc8bdc2
style(blog): improve table of contents styling and accessibility
leonism Aug 7, 2025
6d1d90e
fix(TableOfContents): improve toc toggle initialization and aria hand…
leonism Aug 7, 2025
31f5823
refactor(ui): improve responsive design and styling across components
leonism Aug 7, 2025
b2bee3c
style(FeaturedPostCard): improve PostMeta component styling and respo…
leonism Aug 7, 2025
bdd7760
feat(accessibility): improve accessibility across multiple components
leonism Aug 9, 2025
41144a9
style(global.css): update prose h1 styling for better readability
leonism Aug 9, 2025
61f22ba
fix(BlogCard): remove stretched-link class from blog card title
leonism Aug 9, 2025
d3c2634
refactor(search): extract search and mobile menu components from Header
leonism Aug 9, 2025
3d5471b
fix(search): handle various date formats in search engine
leonism Aug 13, 2025
bc84e3b
feat(search): enhance search functionality with accessibility and per…
leonism Aug 13, 2025
d79d368
feat(search): add enterprise search overlay with analytics
leonism Aug 13, 2025
89be5e1
Revert "feat(search): enhance search functionality with accessibility…
leonism Aug 13, 2025
bd31d3b
Revert "fix(search): handle various date formats in search engine"
leonism Aug 13, 2025
b9cbf4f
Reapply "fix(search): handle various date formats in search engine"
leonism Aug 13, 2025
85f68c9
Reapply "feat(search): enhance search functionality with accessibilit…
leonism Aug 13, 2025
654dd5b
Revert "feat(search): add enterprise search overlay with analytics"
leonism Aug 13, 2025
430e313
feat(search): enhance keyboard navigation and accessibility
leonism Aug 13, 2025
dde5319
feat(search): enhance search functionality with analytics and sorting
leonism Aug 14, 2025
847eb97
refactor(navigation): replace search toggle with link to search page
leonism Aug 14, 2025
f7905e9
refactor: update astro content config and type definitions
leonism Dec 30, 2025
0784f3a
refactor(search): remove unused getSearchInsights method
leonism Dec 30, 2025
c7a0292
feat(ui): add skeleton loader component for page transitions
leonism Dec 30, 2025
bf7c961
feat(seo): add google site verification meta tag
leonism Dec 30, 2025
4fca85f
docs: update google site verification meta tag and add html file
leonism Dec 30, 2025
baa9e95
refactor(layout): replace ViewTransitions with ViewTransition component
leonism Dec 30, 2025
796c603
docs(layout): add google site verification meta tag to head section
leonism Dec 30, 2025
ee1d9ab
style(layout): reformat meta tags for better readability
leonism Dec 30, 2025
5c15525
feat(sentry): enable source maps upload when auth token is present
leonism Dec 30, 2025
a8b1a89
chore: remove unused SENTRY_AUTH_TOKEN from astro config
leonism Dec 30, 2025
aad5fd9
refactor: remove unused SENTRY_AUTH_TOKEN env variable
leonism Dec 30, 2025
1769597
refactor: remove unused env load and simplify sentry config
leonism Dec 30, 2025
8b2c16c
docs: update site title from AstroBlog to Astro Batavia
leonism Dec 30, 2025
bdde422
docs: update site title in index page
leonism Dec 30, 2025
bb86ca4
fix(build): Correct ViewTransitions component name
leonism Dec 30, 2025
2a55f8e
fix: correct component name from ViewTransition to ViewTransitions
leonism Dec 30, 2025
79d0635
feat(build): enhance html-minifier integration with detailed reporting
leonism Dec 31, 2025
953bad3
feat(mobile-nav): prevent scroll when mobile nav is open
leonism Dec 31, 2025
d969575
fix(search, back-to-top): Resolve issues with production build and vi…
leonism Jan 1, 2026
1c98646
docs: update changelog for version 1.0.3
leonism Jan 1, 2026
db69bd0
feat(search): enhance search engine with new semantic clusters and tests
leonism Jan 1, 2026
6c4de05
docs: update changelog for version 1.0.4
leonism Jan 1, 2026
4e2ec49
fix: update gitignore and config
leonism Jan 1, 2026
6118c94
refactor: remove sentry config and suppress astro warning
leonism Jan 1, 2026
ef2b67f
chore: Update Astro version badge and configure HTML minifier to remo…
leonism Jan 3, 2026
6e9f872
chore: update dependencies
leonism Jan 3, 2026
b94cb34
feat: Implement `astro-seo` and JSON-LD structured data for enhanced …
leonism Jan 3, 2026
fdf7e72
chore: dedupe dependencies and remove conflicting esbuild versions
leonism Jan 3, 2026
335dc73
feat: Introduce new props for image alt text, author URL, and detaile…
leonism Jan 3, 2026
c9003b3
Merge pull request #8 from leonism/dev
leonism Jan 3, 2026
ad48134
fix: resolve type errors, standardize i18n routing, and harmonize blo…
leonism Jan 8, 2026
5382450
feat(ui, i18n): overhaul premium mobile nav and fix localized blog ro…
leonism Jan 8, 2026
eb2cc8a
Merge branch 'main' of https://github.com/leonism/astro-batavia
leonism Jan 8, 2026
7cea406
refactor(search, components): restructure search architecture and enh…
leonism Jan 10, 2026
a9a47e0
feat: Implement the og:logo for better SEO optimization
leonism Jan 10, 2026
a8f546d
feat: Enhance search functionality and refactor components (v1.0.6)
leonism Jan 10, 2026
de4b703
feat: enhance blog functionality with authors collection, static tags…
leonism Jan 10, 2026
4bef909
fix(blog): filter invalid empty tags to prevent build errors
leonism Jan 10, 2026
ba4f0fd
fix(blog): resolve 'Missing parameter: tag' deployment error
leonism Jan 10, 2026
af94674
fix(blog): ensure unique and valid slugs for tag pages
leonism Jan 10, 2026
30e6ff6
fix(blog): ensure valid and unique slugs for international tags
leonism Jan 10, 2026
b20ab6d
fix(blog): ensure unique and valid slugs for tag pages
leonism Jan 10, 2026
3617fd1
fix(blog): resolve 'Missing parameter: tag' build error and enhance i…
leonism Jan 10, 2026
8016755
fix(blog): resolve 'Missing parameter: tag' build error and enhance i…
leonism Jan 10, 2026
083646b
feat(blog): add 2026 SEO tech stack guide & fix canonical URLs
leonism Jan 11, 2026
a5f00ea
style(brand): implement premium favicon suite and manifest updates
leonism Jan 11, 2026
c06c160
Update survival-of-the-fittest-a-2026-tech-stack-guide-to-seo-ga4-gtm…
leonism Jan 11, 2026
c02e582
feat(seo): enhance RSS feed and sitemap for better validation and int…
leonism Jan 11, 2026
beb34f4
feat(seo): add premium XSL styling to XML sitemaps
leonism Jan 11, 2026
f83b0e9
refactor(build): convert compression script to typescript and fix errors
leonism Jan 11, 2026
ae11c28
refactor(build): convert compression script to typescript and fix errors
leonism Jan 11, 2026
d6cefa5
feat(rss): add xslt styling and fix non-ascii tag slugs
leonism Jan 11, 2026
58990e0
feat(rss): add xslt styling and fix non-ascii tag slugs
leonism Jan 11, 2026
ed8d9e2
feat(seo): enhance json-ld schema with image dimensions
leonism Jan 11, 2026
0d8e32d
feat(ci): implement robust github workflows
leonism Jan 11, 2026
63fb698
docs: draft release notes for version X.Y.Z
leonism Jan 11, 2026
14a1a98
fix(blog): resolve 404 error for non-ascii tag pages
leonism Jan 11, 2026
4e6822c
chore(changelog): update changelog for 1.0.15
leonism Jan 12, 2026
c97498b
Merge pull request #20 from leonism/dev
leonism Jan 12, 2026
92cc2a0
chore(changelog): update changelog for 1.0.15
leonism Jan 12, 2026
dcbbe4a
Merge branch 'main' of https://github.com/leonism/astro-batavia
leonism Jan 12, 2026
b90e33d
feat: update the README.md file with Netlify Status success deploy bu…
leonism Jan 12, 2026
dda302b
feat(ui): implement scroll progress ring for BackToTop button
leonism Jan 12, 2026
40d4605
fix(layout): move GoogleTagmanagerNoscript to top of body for GTM com…
leonism Jan 12, 2026
12f6f70
docs: add GEMINI.md project context
leonism Jan 12, 2026
27f5918
fix(seo): resolve GSC sitemap read errors via headers and robots.txt
leonism Jan 12, 2026
8fca374
feat(schema): add breadcrumbs, FAQ, review and image metadata support…
leonism Jan 13, 2026
2597c7d
feat(seo): integrate FAQ, Review, and enhanced Image Metadata into bl…
leonism Jan 13, 2026
d81abf7
chore: update changelog for version 1.0.17
leonism Jan 13, 2026
7a527f5
feat(seo): implement advanced JSON-LD support for Breadcrumbs, FAQ, a…
leonism Jan 13, 2026
0e1b25d
Untrack GEMINI.md
leonism Jan 13, 2026
6f3c02b
Remove GEMINI.md from .gitignore as it's no longer tracked
leonism Jan 13, 2026
c1733b7
Revert "Remove GEMINI.md from .gitignore as it's no longer tracked"
leonism Jan 13, 2026
e51c254
Add GEMINI.md to .gitignore to properly ignore it
leonism Jan 13, 2026
707dee2
refactor(config): centralize GTM ID and social links in src/consts.ts
leonism Jan 13, 2026
c5ce0b1
Add 308 redirect rules for trailing slashes
leonism Jan 13, 2026
bb0830b
Add 301 redirect for www to non-www canonicalization
leonism Jan 13, 2026
4c839fb
docs(changelog): Update CHANGELOG with redirect fixes for 308 and 301…
leonism Jan 13, 2026
45f7514
- fix(redirects): Implemented 308 permanent redirects for trailing sl…
leonism Jan 13, 2026
acd2fa4
chore(deps): bump astro from 5.16.6 to 5.16.9
dependabot[bot] Jan 13, 2026
b082570
chore(deps): bump @sentry/astro from 9.47.1 to 10.33.0
dependabot[bot] Jan 13, 2026
351bf49
Merge pull request #23 from leonism/dependabot/npm_and_yarn/sentry/as…
leonism Jan 13, 2026
c7c3b1e
Merge pull request #22 from leonism/dependabot/npm_and_yarn/astro-5.16.9
leonism Jan 13, 2026
beafa04
refactor: standardize components and modularize SEO
leonism Jan 14, 2026
8ff9b0e
Merge branch 'main' of https://github.com/leonism/astro-batavia
leonism Jan 14, 2026
4c0f5f7
refactor: relocate Schema.astro to seo directory
leonism Jan 14, 2026
4cbe9a2
refactor: integrate reading time and cleanup legacy components
leonism Jan 14, 2026
98d6a6d
style: polish newsletter UI and cleanup search api dead code
leonism Jan 14, 2026
759fd10
refactor: modularize BlogPost layout and extract data logic
leonism Jan 14, 2026
68e4358
refactor: modularize Layout.astro and extract BaseHead and GlobalWidgets
leonism Jan 14, 2026
7b674b7
chore(deps): bump astro-seo from 0.8.4 to 1.1.0
dependabot[bot] Jan 14, 2026
3d38a4f
Merge pull request #24 from leonism/dependabot/npm_and_yarn/astro-seo…
leonism Jan 14, 2026
ddc4637
feat(seo): add telegram and facebook social links and improve meta tags
leonism Jan 14, 2026
771e617
Merge branch 'main' of https://github.com/leonism/astro-batavia
leonism Jan 14, 2026
78f393b
feat(search): add modular search overlay components and improve type …
leonism Jan 14, 2026
30a5efe
feat: implement clean architecture for blog and search features
leonism Jan 15, 2026
918b302
fix(seo): correct json-ld script attribute from set:html to set:text
leonism Jan 15, 2026
fb7c3a6
refactor(config): use SITE_URL constant instead of hardcoded value
leonism Jan 15, 2026
d1c5060
refactor: centralize site title and search suggestions config
leonism Jan 15, 2026
530d941
refactor(i18n): replace hardcoded language strings with LOCALES const…
leonism Jan 15, 2026
2254e55
refactor: comprehensive TypeScript refactoring for clarity, onboardin…
leonism Jan 15, 2026
defbdec
feat: Consolidate blog page architecture
leonism Jan 15, 2026
9ff1761
fix(build): Attempt to fix 'title is not defined' error
leonism Jan 15, 2026
f58c982
refactor: centralize site title and search config in consts
leonism Jan 15, 2026
9a715ab
refactor(i18n): clean up ui.ts by removing redundant comments
leonism Jan 15, 2026
d3705f9
refactor(seo): improve meta tags and social links configuration
leonism Jan 15, 2026
f4e32e2
refactor: consolidate language handling and add search config
leonism Jan 15, 2026
6062873
fix: remove duplicate FeaturesSection component
leonism Jan 15, 2026
379b60e
Restore codebase to 530d941 state
leonism Jan 15, 2026
23a6d25
Revert "refactor: centralize site title and search config in consts"
leonism Jan 15, 2026
ea32846
refactor(i18n): restructure blog URLs and update canonical links
leonism Jan 15, 2026
08033fc
refactor(blog): consolidate language routes and update blog index ini…
leonism Jan 15, 2026
6a8ab63
refactor(client): move blog index client script to src/client directory
leonism Jan 15, 2026
d4f41ca
refactor(i18n): consolidate locale constants and improve imports
leonism Jan 16, 2026
3b45a57
refactor: move utility functions to dedicated modules
leonism Jan 17, 2026
dd0d914
refactor(blog): consolidate blog-related logic into BlogService
leonism Jan 17, 2026
affb372
refactor(services): move blog index client to services directory
leonism Jan 17, 2026
f27bc82
feat(footer): add rss and sitemap links to social media section
leonism Jan 17, 2026
a276def
style: standardize code formatting and fix ESLint configuration
leonism Jan 17, 2026
0c5b4dd
refactor: replace relative imports with @/ alias for consistency
leonism Jan 18, 2026
7e18a0b
feat(types): add type declarations for SEO service functions
leonism Jan 18, 2026
db1ae7d
feat(blog): implement optimized load more functionality with error ha…
leonism Jan 18, 2026
f7e764f
refactor(blog): simplify blog index loading and enhance post cards
leonism Jan 18, 2026
87ace5b
refactor(seo): rename SEO module to SEOService and update imports
leonism Jan 18, 2026
ce98cd4
fix(blog-index): prevent button reset when hidden and add debug logs
leonism Jan 18, 2026
f0b6547
feat(blog): add tag filtering and improve load more UX
leonism Jan 18, 2026
85b5653
feat(api): migrate posts API to static endpoints
leonism Jan 20, 2026
f08f049
feat(images): enhance blog navigation with hero images and optimize i…
leonism Jan 20, 2026
a034009
refactor(BlogPrevNextNavigation): move hero image after text content …
leonism Jan 20, 2026
8084f79
refactor(BlogService): improve slug generation logic to use post.slug…
leonism Jan 20, 2026
a40ccfd
chore: ignore docs directory in gitignore
leonism Jan 20, 2026
272cf2f
refactor(seo): improve schema org and social icons implementation
leonism Jan 20, 2026
8122ebe
refactor(blog): consolidate blog logic into BlogService and update de…
leonism Jan 20, 2026
f0dae74
feat(blog): implement astro pagination for blog index
leonism Jan 21, 2026
a3ab181
feat(blog): consolidate blog routes and add featured post support
leonism Jan 21, 2026
a14eb72
fix(search): prevent default action on search overlay click
leonism Jan 21, 2026
4c8802f
feat(seo): add prev/next links and collection type support
leonism Jan 21, 2026
6b2470d
perf(blog): optimize image loading for LCP by eagerly loading first 3…
leonism Jan 21, 2026
190542b
refactor(seo): remove json-ld generation from seo component
leonism Jan 22, 2026
099f372
refactor(blog): improve code readability and consistency
leonism Jan 22, 2026
23fbb4a
refactor(services): consolidate utility functions into service classes
leonism Jan 22, 2026
94347d4
refactor(blog): remove deprecated files and consolidate blog routes
leonism Jan 22, 2026
9ceb4d4
refactor(api): remove deprecated post pagination endpoints
leonism Jan 22, 2026
1b94848
Revert "fix(build): Attempt to fix 'title is not defined' error"
leonism Jan 22, 2026
9c40bfc
style: apply prettier formatting across the codebase
leonism Jan 22, 2026
b3f0aca
feat: add comprehensive documentation and type declarations
leonism Jan 22, 2026
80a70df
feat(seo): enhance structured data with JSON-LD sanitization and enti…
leonism Jan 22, 2026
104c5cc
feat: disable CSS code splitting and customize asset file naming to r…
leonism Jan 29, 2026
71944ee
Update `@astrojs/rss`, `@astrojs/sitemap`, and `astro` dependencies a…
leonism Jan 29, 2026
5619066
feat: Enable Astro prefetching by default and apply `data-astro-prefe…
leonism Jan 29, 2026
e184b6d
feat: Add Partytown integration and migrate Google Tag Manager to use…
leonism Jan 29, 2026
ff33b94
Refactor: Migrate TailwindCSS integration to use the Vite plugin, upd…
leonism Jan 29, 2026
fa63d2f
style(ui): refactor global color tokens and polish dark mode
leonism Jan 29, 2026
3612b02
Merge branch 'dev'
leonism Jan 29, 2026
2182a0f
refactor(docs): Rewrite SEO guide, streamline documentation, and add …
leonism Jan 30, 2026
9dbf435
feat: Implement Lighthouse CI workflow and configuration, group Depen…
leonism Jan 30, 2026
7d8a796
feat: add a dynamic breadcrumb navigation component and service to th…
leonism Jan 30, 2026
4a796e1
refactor: Use `SITE_URL` constant, adjust breadcrumb bottom margin, a…
leonism Jan 30, 2026
6f1f864
refactor: Adjust table of contents container margins, padding, and re…
leonism Jan 30, 2026
f51ec39
feat: Add VS Code workspace file and document advanced search feature…
leonism Feb 1, 2026
833e97f
feat: Add VS Code workspace configuration.
leonism Feb 1, 2026
df37bda
docs: remove detailed READMEs for SEO, HTML minifier, and search feat…
leonism Feb 1, 2026
7d2b709
Merge branch 'dev'
leonism Feb 1, 2026
bd45183
chore(deps): bump actions/deploy-pages from 4 to 5
dependabot[bot] Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .env.example
Empty file.
36 changes: 36 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: 'npm' # See documentation for possible values
directory: '/' # Location of package manifests
schedule:
interval: 'daily'
# Add reviewers
reviewers:
- 'gemini-generated'
# Add labels for npm pull requests
labels:
- 'npm'
- 'dependencies'
# Group updates to reduce noise
groups:
dependencies:
patterns:
- '*'
exclude-patterns:
- 'astro' # Keep astro separate for stability
devDependencies:
dependency-type: 'development'
patterns:
- '*'
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
labels:
- 'github-actions'
- 'dependencies'
31 changes: 31 additions & 0 deletions .github/workflows/lighthouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Lighthouse CI

on:
pull_request:
branches: [main]

jobs:
lighthouse:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build project
run: npm run build

- name: Run Lighthouse CI
run: |
npm install -g @lhci/cli@0.13.x
lhci autorun --config=./.lighthouserc.cjs
env:
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
21 changes: 21 additions & 0 deletions .github/workflows/link-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Link Checker

on:
push:
branches: [main]
schedule:
- cron: '0 0 * * 0' # Runs every Sunday at midnight
workflow_dispatch:

jobs:
check-links:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Lychee Link Checker
uses: lycheeverse/lychee-action@v1
with:
args: '**/*.md **/*.mdx **/*.astro'
# For more configuration options, see https://github.com/lycheeverse/lychee-action
38 changes: 38 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: PR Checks

on:
pull_request:
branches: [main]

jobs:
lint-and-format:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- name: Run Prettier Check
run: npm run format:check

build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build with Astro
run: npm run build
55 changes: 55 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Workflow for building and deploying an Astro static site to GitHub Pages
name: Build and Deploy to GitHub Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ['main']

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: 'pages'
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24' # Specify the Node.js version you are using
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build with Astro
run: npm run build
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: dist/

deploy:
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
59 changes: 59 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Node
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-debug.log

# Astro build output
dist/
.output/
.astro/

# frontmatter.json
.frontmatter.json

# Local env files
.env
.env.*.local

# VSCode settings
.vscode/

# MacOS metadata
.DS_Store

# Logs
logs/
*.log

# Optional: If using local Netlify or Cloudflare preview folders
.netlify/
.cloudflare/

# Optional: Ignore local analytics or debugging output
.analytics-debug/

# Optional: Next or Vercel preview artifacts if migrating
.next/
.vercel/

# Optional: Custom local cache (e.g., Astro integrations)
.cache/
astro-cache/

# Optional: Bun
bun.lockb

# IDE / Editor
.idea/
*.sublime-project
*.sublime-workspace
GEMINI.md

# System
Thumbs.db

# docs
docs/
20 changes: 20 additions & 0 deletions .lighthouserc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
module.exports = {
ci: {
collect: {
staticDistDir: './dist',
url: ['/', '/en/blog/', '/en/blog/web-development-trends-2024/', '/es/blog/', '/ja/blog/'],
numberOfRuns: 3,
},
upload: {
target: 'temporary-public-storage',
},
assert: {
assertions: {
'categories:performance': ['error', { minScore: 0.9 }],
'categories:accessibility': ['error', { minScore: 0.9 }],
'categories:best-practices': ['error', { minScore: 0.9 }],
'categories:seo': ['error', { minScore: 0.9 }],
},
},
},
};
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
29 changes: 29 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Build outputs
node_modules
dist
build
.next
.nuxt
.output

# Generated files
*.min.js
*.min.css

# OS files
.DS_Store
Thumbs.db

# Environment files
.env
.env.local
.env.*.local

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories
.vscode
.idea
66 changes: 66 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"useTabs": false,
"printWidth": 100,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "always",
"htmlWhitespaceSensitivity": "ignore",
"endOfLine": "lf",

// Formatting rules
"bracketSameLine": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"proseWrap": "preserve",

// Overrides for specific file types
"overrides": [
{
"files": "*.astro",
"options": {
"parser": "astro"
}
},
{
"files": ["*.json", "*.jsonc", "*.json5"],
"options": {
"trailingComma": "none",
"singleQuote": false
}
},
{
"files": "*.mdx",
"options": {
"proseWrap": "always"
}
},
{
"files": ["*.yaml", "*.yml"],
"options": {
"singleQuote": false,
"tabWidth": 2
}
},
{
"files": "package.json",
"options": {
"tabWidth": 2,
"useTabs": false,
"printWidth": 80
}
}
],

// Plugin configurations
"plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],

// Tailwind CSS plugin configuration (optional)
"tailwindConfig": "./tailwind.config.js",

// Editor integration hints
"editorconfig": true
}
Loading
Loading