Compare commits
5 commits
22901cf551
...
f99a9ae2ac
| Author | SHA1 | Date | |
|---|---|---|---|
| f99a9ae2ac | |||
| 9c20f5ed2e | |||
| 5cafe2b673 | |||
|
|
afffc35146 | ||
| a760eab135 |
8
.cz.toml
|
|
@ -1,8 +0,0 @@
|
||||||
[tool.commitizen]
|
|
||||||
name = "cz_conventional_commits"
|
|
||||||
tag_format = "$version"
|
|
||||||
version_scheme = "semver"
|
|
||||||
version_provider = "npm"
|
|
||||||
update_changelog_on_bump = true
|
|
||||||
major_version_zero = true
|
|
||||||
changelog_incremental = true
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
env: {
|
|
||||||
browser: true,
|
|
||||||
es2021: true,
|
|
||||||
},
|
|
||||||
extends: [
|
|
||||||
'standard-with-typescript',
|
|
||||||
'plugin:react/recommended',
|
|
||||||
'plugin:cypress/recommended',
|
|
||||||
'prettier',
|
|
||||||
],
|
|
||||||
overrides: [
|
|
||||||
{
|
|
||||||
env: {
|
|
||||||
node: true,
|
|
||||||
},
|
|
||||||
files: ['.eslintrc.{js,cjs}'],
|
|
||||||
parserOptions: {
|
|
||||||
sourceType: 'script',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
parserOptions: {
|
|
||||||
ecmaVersion: 'latest',
|
|
||||||
sourceType: 'module',
|
|
||||||
project: ['./tsconfig.json'],
|
|
||||||
},
|
|
||||||
plugins: ['react', 'cypress'],
|
|
||||||
rules: {},
|
|
||||||
};
|
|
||||||
5
.justfile
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
lint:
|
||||||
|
zola check --drafts
|
||||||
|
|
||||||
|
dev:
|
||||||
|
@zola serve --port 3000 --fast
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
tabWidth: 2,
|
|
||||||
singleQuote: true,
|
|
||||||
endOfLine: 'auto',
|
|
||||||
'eol-last': 2,
|
|
||||||
trailingComma: 'all',
|
|
||||||
plugins: [require.resolve("prettier-plugin-astro")],
|
|
||||||
overrides: [
|
|
||||||
{
|
|
||||||
files: "*.astro",
|
|
||||||
options: {
|
|
||||||
parser: "astro",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
[tools]
|
|
||||||
node = "20"
|
|
||||||
4
.vscode/extensions.json
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"recommendations": ["astro-build.astro-vscode"],
|
|
||||||
"unwantedRecommendations": []
|
|
||||||
}
|
|
||||||
11
.vscode/launch.json
vendored
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"command": "./node_modules/.bin/astro dev",
|
|
||||||
"name": "Development server",
|
|
||||||
"request": "launch",
|
|
||||||
"type": "node-terminal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
when:
|
|
||||||
- branch: main
|
|
||||||
|
|
||||||
steps:
|
|
||||||
build-and-publish:
|
|
||||||
when:
|
|
||||||
branch: main
|
|
||||||
image: node:20-alpine
|
|
||||||
secrets:
|
|
||||||
- codeberg_ssh_key
|
|
||||||
commands:
|
|
||||||
- apk add git openssh-client
|
|
||||||
- git config --global user.email "woodpecker@bot.net"
|
|
||||||
- git config --global user.name "woodpecker-bot"
|
|
||||||
- git remote add codeberg-ssh git@codeberg.org:aleidk/personal-page.git
|
|
||||||
- mkdir -p $HOME/.ssh
|
|
||||||
- ssh-keyscan -t rsa codeberg.org >> $HOME/.ssh/known_hosts
|
|
||||||
- echo "$CODEBERG_SSH_KEY" > $HOME/.ssh/id_rsa
|
|
||||||
- chmod 0600 $HOME/.ssh/id_rsa
|
|
||||||
- corepack enable
|
|
||||||
- corepack prepare pnpm@latest --activate
|
|
||||||
- pnpm install
|
|
||||||
- pnpm build
|
|
||||||
- |
|
|
||||||
cat >dist/.domains <<EOL
|
|
||||||
blog.panconpalta.win
|
|
||||||
personal-page.aleidk.codeberg.page
|
|
||||||
pages.personal-page.aleidk.codeberg.page
|
|
||||||
EOL
|
|
||||||
- pnpm exec gh-pages --dist dist --branch pages --dotfiles --remote codeberg-ssh
|
|
||||||
|
|
@ -35,3 +35,5 @@ Cool websites for inspiration:
|
||||||
- [Cory Hughart](https://coryhughart.com/)
|
- [Cory Hughart](https://coryhughart.com/)
|
||||||
- [Brad Frost](https://bradfrost.com/)
|
- [Brad Frost](https://bradfrost.com/)
|
||||||
- [dvlpr](https://dvlpr.pro/#home)
|
- [dvlpr](https://dvlpr.pro/#home)
|
||||||
|
- [Gwern Branwen](https://gwern.net/)
|
||||||
|
- [Maggie Appleton](https://maggieappleton.com/)
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 823 B After Width: | Height: | Size: 823 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 373 KiB After Width: | Height: | Size: 373 KiB |
0
src/env.d.ts → _src/env.d.ts
vendored
|
|
@ -1,5 +0,0 @@
|
||||||
/** @type {import('astro-i18next').AstroI18nextConfig} */
|
|
||||||
export default {
|
|
||||||
defaultLocale: 'en',
|
|
||||||
locales: ['en', 'es'],
|
|
||||||
};
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
import { defineConfig } from 'astro/config';
|
|
||||||
|
|
||||||
import react from '@astrojs/react';
|
|
||||||
import astroI18next from 'astro-i18next';
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
prefetch: true,
|
|
||||||
integrations: [react(), astroI18next()],
|
|
||||||
experimental: {},
|
|
||||||
redirects: {
|
|
||||||
'/projects': '/projects/1',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
24
cog.toml
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
from_latest_tag = true
|
||||||
|
ignore_merge_commits = false
|
||||||
|
disable_changelog = false
|
||||||
|
disable_bump_commit = false
|
||||||
|
generate_mono_repository_global_tag = true
|
||||||
|
branch_whitelist = []
|
||||||
|
skip_ci = "[skip ci]"
|
||||||
|
skip_untracked = false
|
||||||
|
pre_bump_hooks = []
|
||||||
|
post_bump_hooks = []
|
||||||
|
pre_package_bump_hooks = []
|
||||||
|
post_package_bump_hooks = []
|
||||||
|
|
||||||
|
[git_hooks]
|
||||||
|
|
||||||
|
[commit_types]
|
||||||
|
|
||||||
|
[changelog]
|
||||||
|
path = "CHANGELOG.md"
|
||||||
|
authors = []
|
||||||
|
|
||||||
|
[bump_profiles]
|
||||||
|
|
||||||
|
[packages]
|
||||||
16
config.toml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# The URL the site will be built for
|
||||||
|
base_url = "https://alecodes.page"
|
||||||
|
|
||||||
|
# Whether to automatically compile all Sass files in the sass directory
|
||||||
|
compile_sass = true
|
||||||
|
|
||||||
|
# Whether to build a search index to be used later on by a JavaScript library
|
||||||
|
build_search_index = true
|
||||||
|
|
||||||
|
[markdown]
|
||||||
|
# Whether to do syntax highlighting
|
||||||
|
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||||
|
highlight_code = true
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
# Put all your custom variables here
|
||||||
5
content/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
+++
|
||||||
|
|
||||||
|
+++
|
||||||
|
|
||||||
|
# This is a awesome page :D
|
||||||
5
content/garden/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
+++
|
||||||
|
title = "Garden"
|
||||||
|
+++
|
||||||
|
|
||||||
|
foo
|
||||||
5
content/garden/test.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
+++
|
||||||
|
title = "test"
|
||||||
|
+++
|
||||||
|
|
||||||
|
# This is a test :D
|
||||||
5
content/portafolio/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
+++
|
||||||
|
title="Portafolio"
|
||||||
|
+++
|
||||||
|
|
||||||
|
This is the Portafolio
|
||||||
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 258 KiB After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 268 KiB |
2
content/post/_index.md
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
import { defineConfig } from 'cypress';
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
e2e: {
|
|
||||||
baseUrl: 'http://localhost:3000',
|
|
||||||
setupNodeEvents(on, config) {
|
|
||||||
// implement node event listeners here
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
describe('The Home Page', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Successfully load', () => {
|
|
||||||
cy.get('h1')
|
|
||||||
.should('have.length', 1)
|
|
||||||
.should('have.text', 'Alexander Navarro');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Card components have content', () => {
|
|
||||||
cy.get('.card')
|
|
||||||
.should('have.length', 3)
|
|
||||||
.each(($card) => {
|
|
||||||
cy.wrap($card)
|
|
||||||
.find('li')
|
|
||||||
.should(($li) => expect($li).to.have.lengthOf.at.most(3))
|
|
||||||
.find('a')
|
|
||||||
.should('have.attr', 'href');
|
|
||||||
|
|
||||||
cy.wrap($card).contains('See more...');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Using fixtures to represent data",
|
|
||||||
"email": "hello@cypress.io",
|
|
||||||
"body": "Fixtures are a great way to mock data for responses to routes"
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
/// <reference types="cypress" />
|
|
||||||
// ***********************************************
|
|
||||||
// This example commands.ts shows you how to
|
|
||||||
// create various custom commands and overwrite
|
|
||||||
// existing commands.
|
|
||||||
//
|
|
||||||
// For more comprehensive examples of custom
|
|
||||||
// commands please read more here:
|
|
||||||
// https://on.cypress.io/custom-commands
|
|
||||||
// ***********************************************
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a parent command --
|
|
||||||
// Cypress.Commands.add('login', (email, password) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a child command --
|
|
||||||
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a dual command --
|
|
||||||
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This will overwrite an existing command --
|
|
||||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
|
||||||
//
|
|
||||||
// declare global {
|
|
||||||
// namespace Cypress {
|
|
||||||
// interface Chainable {
|
|
||||||
// login(email: string, password: string): Chainable<void>
|
|
||||||
// drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
|
||||||
// dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
|
||||||
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
// ***********************************************************
|
|
||||||
// This example support/e2e.ts is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands'
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
12
deploy.sh
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/env bash
|
|
||||||
|
|
||||||
pnpm run build
|
|
||||||
|
|
||||||
## Add domain to codeberg pages
|
|
||||||
cat >dist/.domains <<EOL
|
|
||||||
blog.panconpalta.win
|
|
||||||
personal-page.aleidk.codeberg.page
|
|
||||||
pages.personal-page.aleidk.codeberg.page
|
|
||||||
EOL
|
|
||||||
|
|
||||||
pnpm exec gh-pages --dist dist --branch pages --dotfiles
|
|
||||||
34
package.json
|
|
@ -2,42 +2,10 @@
|
||||||
"name": "personal-page",
|
"name": "personal-page",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"scripts": {
|
"scripts": { },
|
||||||
"dev": "astro dev --port 3000",
|
|
||||||
"start": "astro dev",
|
|
||||||
"build": "astro build",
|
|
||||||
"preview": "astro preview",
|
|
||||||
"astro": "astro",
|
|
||||||
"localize": "astro-i18next generate"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/react": "^3.0.7",
|
|
||||||
"@astrojs/ts-plugin": "^1.3.1",
|
|
||||||
"@types/react": "^18.0.21",
|
|
||||||
"@types/react-dom": "^18.0.6",
|
|
||||||
"astro": "^4.0.6",
|
|
||||||
"astro-i18next": "1.0.0-beta.21",
|
|
||||||
"i18next": "^22.5.1",
|
|
||||||
"i18next-fs-backend": "^2.3.1",
|
|
||||||
"react": "^18.0.0",
|
|
||||||
"react-dom": "^18.0.0",
|
|
||||||
"sass": "^1.71.1",
|
|
||||||
"sharp": "^0.32.6"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
||||||
"cypress": "^13.6.1",
|
|
||||||
"eslint": "^8.53.0",
|
|
||||||
"eslint-config-prettier": "^8.10.0",
|
|
||||||
"eslint-config-standard-with-typescript": "^35.0.0",
|
|
||||||
"eslint-plugin-cypress": "^2.15.1",
|
|
||||||
"eslint-plugin-import": "^2.29.0",
|
|
||||||
"eslint-plugin-n": "^15.7.0",
|
|
||||||
"eslint-plugin-promise": "^6.1.1",
|
|
||||||
"eslint-plugin-react": "^7.33.2",
|
|
||||||
"gh-pages": "^5.0.0",
|
|
||||||
"prettier": "^2.8.8",
|
|
||||||
"prettier-plugin-astro": "^0.10.0",
|
|
||||||
"typescript": "^5.2.2"
|
"typescript": "^5.2.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
6406
pnpm-lock.yaml
generated
10
public/elasticlunr.min.js
vendored
Normal file
|
|
@ -1,9 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
|
||||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
|
||||||
<style>
|
|
||||||
path { fill: #000; }
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path { fill: #FFF; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 749 B |
1
public/foundation.min.css
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#eee;color:#000}.hljs-addition,.hljs-attribute,.hljs-emphasis,.hljs-link{color:#070}.hljs-emphasis{font-style:italic}.hljs-deletion,.hljs-string,.hljs-strong{color:#d14}.hljs-strong{font-weight:700}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-section,.hljs-title{color:#900}.hljs-class .hljs-title,.hljs-title.class_,.hljs-type{color:#458}.hljs-template-variable,.hljs-variable{color:#369}.hljs-bullet{color:#970}.hljs-meta{color:#34b}.hljs-code,.hljs-keyword,.hljs-literal,.hljs-number,.hljs-selector-tag{color:#099}.hljs-regexp{background-color:#fff0ff;color:#808}.hljs-symbol{color:#990073}.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:#070}
|
||||||