Allowing the annoying LinkedIN bot to scan the site.
Some checks are pending
lint / runner / vale (push) Waiting to run
Lint / MegaLinter (push) Waiting to run

This commit is contained in:
g_it 2026-04-01 23:47:53 +02:00
commit b6976c28d2
Signed by untrusted user who does not match committer: g_it
GPG key ID: A2B0A7C06A054627
6 changed files with 101 additions and 7 deletions

View file

@ -1,6 +1,6 @@
StylesPath = .vale
MinAlertLevel = suggestion
Packages = https://git.gugulet.hu/g_it/vale/raw/branch/main/gugulet-hu.zip
Packages = https://gugulet.hu/technical/git/g_it/vale/raw/branch/main/gugulet-hu.zip
[content/**/*.md]
gugulet-hu = YES

61
CLAUDE.md Normal file
View file

@ -0,0 +1,61 @@
# Site
Personal portfolio website at gugulet.hu. Three sections: Words, Visuals, Technical.
## Architecture
```
content/ Source content (Markdown, assets, templates)
assets/css/ Per-page stylesheets
assets/js/ JavaScript (GSAP animations, loader, protection)
assets/fonts/ Custom fonts (ttf)
assets/media/ Images, favicons
overrides/ Jinja2 templates (extends Zensical theme)
index.md Homepage
resume.md Resume page
deploy/ Generated static site (build output)
zensical.toml Build config (site metadata, extensions, theme)
minify.py Post-build CSS/JS/HTML minification
Dockerfile Multi-stage build (Zensical builder + Caddy server)
```
## Build and serve
```bash
# Development
source .venv/bin/activate
zensical serve --watch
# Production build
zensical build
rm ./deploy/sitemap.xml
python minify.py
# Docker
docker build -t site:latest .
docker run -p 80:80 site:latest
```
## Key conventions
- **Zensical** (MkDocs-based) static site generator with `zensical.toml` as single config source.
- **Markdown + YAML frontmatter** for all content. Each page declares its template, extra_css, and extra_js.
- **Jinja2 templates** in `content/overrides/` extend the Zensical base theme.
- **GSAP + ScrollTrigger** for homepage scroll animations. No other JS frameworks.
- **Per-section typography:** serif (Words), monospace (Technical), display (Visuals).
- **CSS custom properties** for theming. Responsive sizing via `clamp()` and viewport units.
- **Post-build minification** via `minify.py` (terser for JS, clean-css for CSS, inline for HTML). Preserves `<pre>`/`<code>` blocks.
- **No database.** Fully static output served by Caddy.
- **Content protection:** `protect.js` prevents right-click and copying.
- **Anti-AI crawling:** meta robots tag with `noai, noimageai`.
## CI/CD
GitHub Actions runs Vale prose linting and MegaLinter on push/PR to main. Fail on errors.
## Dependencies
```bash
pip install -r requirements.txt # Python (Zensical, Jinja2, pymdown-extensions)
npm install -g terser clean-css-cli # Node (minification)
```

View file

@ -1,4 +1,7 @@
User-agent: *
Disallow: /
User-agent: LinkedInBot
Allow: /
Host: https://gugulet.hu

View file

@ -1,3 +1,5 @@
<!-- markdownlint-disable MD013 -->
# Site
![GSAP](https://img.shields.io/badge/GSAP-0AE448?style=flat&logo=GSAP&logoColor=white) ![Markdown](https://img.shields.io/badge/Markdown-000000?style=flat&logo=Markdown&logoColor=white) ![CSS](https://img.shields.io/badge/CSS-663399?style=flat&logo=CSS&logoColor=white) ![Jinja](https://img.shields.io/badge/Jinja-7E0C1B?style=flat&logo=Jinja&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat&logo=Docker&logoColor=white) ![Shell](https://img.shields.io/badge/zsh-F15A24?style=flat&logo=zsh&logoColor=white)

View file

@ -2,9 +2,9 @@ click==8.3.1
colorama==0.4.6
deepmerge==2.0
ghp-import==2.1.0
griffe==2.0.0
griffecli==2.0.0
griffelib==2.0.0
griffe==2.0.2
griffecli==2.0.2
griffelib==2.0.2
Jinja2==3.1.6
Markdown==3.10.2
MarkupSafe==3.0.3
@ -17,11 +17,11 @@ mkdocstrings-python==2.0.3
packaging==26.0
pathspec==1.0.4
platformdirs==4.9.4
Pygments==2.19.2
pymdown-extensions==10.21
Pygments==2.20.0
pymdown-extensions==10.21.2
python-dateutil==2.9.0.post0
PyYAML==6.0.3
pyyaml_env_tag==1.1
six==1.17.0
watchdog==6.0.0
zensical==0.0.27
zensical==0.0.31

28
skills.md Normal file
View file

@ -0,0 +1,28 @@
# Site
Personal portfolio website for gugulet.hu. Showcases three domains: Words, Visuals, and Technical.
## Stack
- Python 3.13 / Zensical (static site generator)
- Jinja2 templates
- GSAP / ScrollTrigger (animations)
- Markdown content with YAML frontmatter
- CSS with custom properties and clamp() sizing
- Docker / Caddy (production)
- Vale (prose linting)
- terser / clean-css-cli (minification)
## Skills
- Static site generation with Zensical/MkDocs
- Jinja2 templating and template inheritance
- GSAP scroll-driven animations with pinned timelines
- Responsive typography with viewport units and clamp()
- Per-section font strategies (serif, mono, display)
- Post-build asset minification (CSS, JS, HTML)
- Multi-stage Docker builds
- Caddy web server configuration
- GitHub Actions CI/CD (linting pipelines)
- SEO and robots/sitemap management
- Content protection (right-click/copy prevention)