mirror of
https://github.com/AzzyAz-net/AzzyBlog.git
synced 2026-08-25 19:24:58 +00:00
Delete README.md
This commit is contained in:
parent
c799a82f9b
commit
29f81fd3b7
1 changed files with 0 additions and 196 deletions
196
README.md
196
README.md
|
|
@ -1,196 +0,0 @@
|
|||
# UINUX Blog
|
||||
|
||||
A calm, writing-first blogging system built with Astro.
|
||||
|
||||
## What it is
|
||||
|
||||
UINUX Blog is a static blog system designed for long-form writing. It prioritizes typography, whitespace, and readability over visual complexity. It uses Markdown for content, file-based routing, and ships minimal client-side JavaScript (search only).
|
||||
|
||||
## Quick start (template users)
|
||||
|
||||
If you clicked "Use this template" on GitHub:
|
||||
|
||||
1. Clone your new repository
|
||||
2. Run `npm install`
|
||||
3. Delete the example posts in `src/content/posts/`
|
||||
4. Update `astro.config.mjs` with your own `site` URL
|
||||
5. Update the blog name and tagline in `src/pages/index.astro` and `src/components/Nav.astro`
|
||||
6. Update `src/pages/about.astro` with your own info
|
||||
7. Run `npm run dev` and start writing
|
||||
|
||||
## What it is not
|
||||
|
||||
- Not a theme. There are no color presets, dark mode toggles, or visual variants.
|
||||
- Not a CMS. There is no admin panel, no database, no integrations.
|
||||
- Not a marketing tool. There are no newsletter signups, analytics, or growth hacks.
|
||||
- Not a portfolio. There are no image galleries, project showcases, or landing pages.
|
||||
|
||||
## Who it is for
|
||||
|
||||
Writers who want a quiet place to publish. People who value clarity over features. Anyone who prefers to write in Markdown and deploy a static site.
|
||||
|
||||
## Getting started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js 18 or later
|
||||
|
||||
### Install
|
||||
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
### Start writing
|
||||
|
||||
1. Create a new `.md` or `.mdx` file in `src/content/posts/`
|
||||
2. Add frontmatter:
|
||||
|
||||
```md
|
||||
---
|
||||
title: "Your Post Title"
|
||||
description: "A short description of the post."
|
||||
date: 2026-02-07
|
||||
tags: ["topic-a", "topic-b"]
|
||||
---
|
||||
|
||||
Your content here.
|
||||
```
|
||||
|
||||
3. Run the dev server:
|
||||
|
||||
```
|
||||
npm run dev
|
||||
```
|
||||
|
||||
4. Open `http://localhost:4321`
|
||||
|
||||
That is it. You are writing.
|
||||
|
||||
### Google Search Console
|
||||
|
||||
To enable Google Search Console verification, create a `.env` file:
|
||||
|
||||
```
|
||||
PUBLIC_GOOGLE_SITE_VERIFICATION=your-verification-code
|
||||
```
|
||||
|
||||
Get the code from Google Search Console > Settings > Ownership verification > HTML tag.
|
||||
|
||||
See `.env.example` for reference.
|
||||
|
||||
### Build for production
|
||||
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
Output is in the `dist/` directory. Deploy it anywhere that serves static files.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
src/
|
||||
components/
|
||||
Layout.astro Page shell, meta, fonts
|
||||
Nav.astro Site navigation
|
||||
Footer.astro Site footer
|
||||
Heading.astro Typographic heading
|
||||
Article.astro Post wrapper with metadata and tags
|
||||
Prose.astro Markdown content styling
|
||||
content/
|
||||
config.ts Content collection schema
|
||||
posts/ Markdown files go here
|
||||
pages/
|
||||
index.astro Home (paginated post list)
|
||||
page/[page].astro Paginated post listing (page 2+)
|
||||
search.astro Search page (client-side)
|
||||
search-index.json.ts Static search index (built at build time)
|
||||
about.astro About page
|
||||
rss.xml.ts RSS feed
|
||||
tags/index.astro All tags
|
||||
tags/[tag].astro Posts filtered by tag
|
||||
posts/[...slug].astro Individual post pages
|
||||
styles/
|
||||
global.css Design tokens and base styles
|
||||
```
|
||||
|
||||
## Content model
|
||||
|
||||
Posts use these frontmatter fields:
|
||||
|
||||
| Field | Type | Required | Default |
|
||||
|---------------|----------|----------|---------|
|
||||
| `title` | string | yes | — |
|
||||
| `description` | string | yes | — |
|
||||
| `date` | date | yes | — |
|
||||
| `tags` | string[] | no | `[]` |
|
||||
|
||||
## Features
|
||||
|
||||
### Tags
|
||||
|
||||
Posts can have zero or more tags. Tags appear on post pages and the home listing. Browse all tags at `/tags` or filter by tag at `/tags/[tag-name]`.
|
||||
|
||||
### Pagination
|
||||
|
||||
The home page shows 10 posts per page. When there are more than 10 posts, pagination links appear at the bottom. Pages 2+ are at `/page/2`, `/page/3`, etc.
|
||||
|
||||
### Search
|
||||
|
||||
Client-side search powered by a static JSON index built at build time.
|
||||
|
||||
- No external services or APIs
|
||||
- No dependencies
|
||||
- Index includes title, description, tags, and full post body
|
||||
- Debounced input with instant results
|
||||
- Supports `?q=` query parameter for direct linking
|
||||
- Available at `/search`
|
||||
|
||||
## Design decisions
|
||||
|
||||
- **Serif body text** (Newsreader): optimized for sustained reading
|
||||
- **Sans-serif headings** (Inter): clear hierarchy without competing with body text
|
||||
- **640px content width**: prevents eye fatigue on long lines
|
||||
- **Minimal client-side JS**: only used for search; all other pages are static HTML and CSS
|
||||
- **No dark mode**: one mode, one experience, no maintenance surface
|
||||
- **No component library**: six components, no more
|
||||
|
||||
## SEO
|
||||
|
||||
Built-in, zero-dependency SEO on every page:
|
||||
|
||||
- **Canonical URLs** on all pages
|
||||
- **Open Graph meta** (og:title, og:description, og:url, og:type, og:site_name, og:image)
|
||||
- **Twitter Card meta** (summary or summary_large_image)
|
||||
- **JSON-LD structured data**:
|
||||
- `WebSite` on the home page
|
||||
- `BlogPosting` on each post (headline, datePublished, author, publisher, keywords)
|
||||
- `AboutPage` on the about page
|
||||
- **Google Search Console** verification via environment variable
|
||||
- **RSS feed** at `/rss.xml`
|
||||
|
||||
No third-party SEO libraries. No sitemap generator. No tracking.
|
||||
|
||||
## Environment variables
|
||||
|
||||
| Variable | Required | Description |
|
||||
|---|---|---|
|
||||
| `PUBLIC_GOOGLE_SITE_VERIFICATION` | no | Google Search Console verification code |
|
||||
|
||||
## Customization checklist
|
||||
|
||||
When using this as a template, update these files:
|
||||
|
||||
- [ ] `astro.config.mjs` — set your `site` URL
|
||||
- [ ] `src/pages/index.astro` — update blog name and tagline
|
||||
- [ ] `src/components/Nav.astro` — update brand name
|
||||
- [ ] `src/pages/about.astro` — write your own about page
|
||||
- [ ] `src/pages/rss.xml.ts` — update feed title and description
|
||||
- [ ] `src/components/Layout.astro` — update default description and OG site_name
|
||||
- [ ] `src/content/posts/` — delete example posts, add your own
|
||||
- [ ] `.env` — add your Google Search Console code (optional)
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Loading…
Add table
Reference in a new issue