41 lines
886 B
Markdown
41 lines
886 B
Markdown
# Personal Blog
|
|
|
|
A small static personal blog. No build step, no backend — plain HTML, CSS, and
|
|
vanilla JavaScript.
|
|
|
|
## Pages
|
|
|
|
- `index.html` — home page
|
|
- `contact.html` — contact page (opens the visitor's mail client with the form
|
|
fields pre-filled via a `mailto:` link)
|
|
|
|
## Development
|
|
|
|
Serve the directory with any static file server, e.g.:
|
|
|
|
```sh
|
|
python3 -m http.server 8000
|
|
```
|
|
|
|
Then open <http://localhost:8000>.
|
|
|
|
## Tests
|
|
|
|
Tests use Node's built-in test runner (no dependencies to install):
|
|
|
|
```sh
|
|
npm test
|
|
```
|
|
|
|
## Project layout
|
|
|
|
```text
|
|
index.html Home page
|
|
contact.html Contact page
|
|
css/style.css Global + responsive styles
|
|
js/mailto.js Pure mailto: URL builder (unit tested)
|
|
js/contact.js Contact form wiring (browser + tests)
|
|
tests/ Node built-in test suite
|
|
.gitea/workflows/ ci.yml runs `npm test` on PRs and pushes to main
|
|
```
|