{"id":38650548,"url":"https://github.com/jyablonski/jyablonski.github.io","last_synced_at":"2026-01-17T09:19:47.954Z","repository":{"id":40255630,"uuid":"445379475","full_name":"jyablonski/jyablonski.github.io","owner":"jyablonski","description":"Personal Website","archived":false,"fork":false,"pushed_at":"2025-12-20T19:05:37.000Z","size":1683,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-22T19:28:50.956Z","etag":null,"topics":["flask","python"],"latest_commit_sha":null,"homepage":"https://jyablonski.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jyablonski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-07T02:55:44.000Z","updated_at":"2025-12-20T19:05:41.000Z","dependencies_parsed_at":"2024-05-31T02:10:01.119Z","dependency_job_id":"206ed15d-9db8-4b38-a968-38b1454f2807","html_url":"https://github.com/jyablonski/jyablonski.github.io","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/jyablonski/jyablonski.github.io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fjyablonski.github.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fjyablonski.github.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fjyablonski.github.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fjyablonski.github.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jyablonski","download_url":"https://codeload.github.com/jyablonski/jyablonski.github.io/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fjyablonski.github.io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28505218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","python"],"created_at":"2026-01-17T09:19:47.376Z","updated_at":"2026-01-17T09:19:47.785Z","avatar_url":"https://github.com/jyablonski.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Website\n\nPersonal website built with Flask and Frozen-Flask.\n\n**Live site:** https://jyablonski.dev\n\nVersion: 0.4.14\n\n## Quick Start\n\n```bash\n# Install dependencies\nmake install\n\n# Run development server (http://localhost:8000)\nmake up\n\n# Build static site to docs/\nmake build\n```\n\n## Development\n\n### Prerequisites\n\n- Python 3.13+\n- [uv](https://docs.astral.sh/uv/) package manager\n\n### Commands\n\n| Command         | Description                             |\n| --------------- | --------------------------------------- |\n| `make install`  | Install dependencies                    |\n| `make up`       | Run dev server at http://localhost:8000 |\n| `make build`    | Build static site to `docs/`            |\n| `make test`     | Run test suite                          |\n| `make test-cov` | Run tests with HTML coverage report     |\n| `make lint`     | Run ruff linter                         |\n| `make lint-fix` | Auto-fix linting issues                 |\n\n## Project Structure\n\n```\n.\n├── .github/workflows/    # CI/CD pipelines\n├── data/\n│   └── projects.json     # Project data for /projects page\n├── docs/                 # Built static site (generated)\n├── pages/                # Markdown content pages\n├── static/\n│   ├── css/              # Stylesheets\n│   ├── js/               # JavaScript files\n│   └── pictures/         # Images and assets\n├── templates/            # Jinja2 HTML templates\n├── tests/                # Test suite\n├── server.py             # Flask application\n├── pyproject.toml        # Project configuration\n└── uv.lock               # Dependency lock file\n```\n\n## How It Works\n\n1. **Flask** serves dynamic pages during development\n2. **Flask-FlatPages** renders Markdown files from `pages/` as HTML\n3. **Frozen-Flask** generates a static site to `docs/` for deployment\n4. **GitHub Actions** builds and deploys to S3 on merge to `main`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjyablonski%2Fjyablonski.github.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjyablonski%2Fjyablonski.github.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjyablonski%2Fjyablonski.github.io/lists"}