{"id":29885201,"url":"https://github.com/webnami-dev/webnami","last_synced_at":"2025-07-31T16:03:33.841Z","repository":{"id":306196331,"uuid":"1024734511","full_name":"webnami-dev/webnami","owner":"webnami-dev","description":"WebNami is an opinionated blogging website generator optimized for SEO, speed, and performance 🚀","archived":false,"fork":false,"pushed_at":"2025-07-31T10:37:27.000Z","size":1273,"stargazers_count":20,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-31T14:12:58.877Z","etag":null,"topics":["11ty","blog","blogging","blogging-platform","boilerplate","eleventy","jamstack","markdown","open-source","self-hosted","starter-template","static-site-generator"],"latest_commit_sha":null,"homepage":"https://webnami.in","language":"Nunjucks","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webnami-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-07-23T07:02:14.000Z","updated_at":"2025-07-31T06:00:55.000Z","dependencies_parsed_at":"2025-07-31T12:20:40.225Z","dependency_job_id":null,"html_url":"https://github.com/webnami-dev/webnami","commit_stats":null,"previous_names":["webnami-dev/webnami"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/webnami-dev/webnami","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnami-dev%2Fwebnami","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnami-dev%2Fwebnami/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnami-dev%2Fwebnami/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnami-dev%2Fwebnami/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webnami-dev","download_url":"https://codeload.github.com/webnami-dev/webnami/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnami-dev%2Fwebnami/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268067070,"owners_count":24190277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["11ty","blog","blogging","blogging-platform","boilerplate","eleventy","jamstack","markdown","open-source","self-hosted","starter-template","static-site-generator"],"created_at":"2025-07-31T16:01:24.699Z","updated_at":"2025-07-31T16:03:33.817Z","avatar_url":"https://github.com/webnami-dev.png","language":"Nunjucks","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp\u003e\u003cimg src=\"images/logo.svg\" width=\"200\" height=\"200\" alt=\"webnami Logo\"\u003e\u003c/p\u003e\n\n# WebNami\n\n[![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](https://github.com/webnami/webnami/actions)\n[![Version](https://img.shields.io/badge/version-1.0.0-blue)](https://github.com/webnami/webnami/releases)\n[![License: MIT](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)\n\n![Hero Section](docs/screenshots/hero-section.png)\n\n\u003cp\u003e\n  \u003cb\u003eLive Demo:\u003c/b\u003e \u003ca href=\"https://webnami-blog.pages.dev/\" target=\"_blank\"\u003ehttps://webnami-blog.pages.dev/\u003c/a\u003e\n\u003c/p\u003e\n\n## 📑 Table of Contents\n\n- [Project Overview](#project-overview)\n- [Screenshots](#screenshots)\n- [Features](#features)\n- [Project Structure](#project-structure)\n- [How to Use](#how-to-use)\n- [Frontmatter Reference](#frontmatter-reference)\n- [Configuration (config.js)](#configuration-configjs)\n- [Getting Started](#getting-started)\n- [Commands](#commands)\n- [Customization](#customization)\n- [Troubleshooting](#troubleshooting)\n- [Performance](#performance)\n- [Contact \u0026 Support](#contact--support)\n\n---\n\n## 📝 Project Overview\n\n**WebNami** is an open source, SEO-focused blogging website generator built with [11ty (Eleventy)](https://www.11ty.dev/). It is designed for anyone who wants to create a fast, modern, and highly customizable blog with minimal setup. WebNami is ideal for developers, writers, and teams who value performance, accessibility, and clean design.\n\n---\n\n## 📸 Screenshots\n\n- **SEO Audit in Terminal:**\n\n  ![SEO Audit Build Output](docs/screenshots/seo-audit-build.png)\n  \u003cbr/\u003e\u003csub\u003eSEO issues and warnings are displayed in the terminal during build.\u003c/sub\u003e\n\n- **Core Web Vitals (Lighthouse):**\n\n  ![Core Web Vitals](docs/screenshots/core-web-vitals.png)\n  \u003cbr/\u003e\u003csub\u003eWebNami achieves perfect scores on Core Web Vitals.\u003c/sub\u003e\n\n---\n\n## ✨ Features\n\n- ⚡ **Lightning Fast:** Built with 11ty for optimal performance and instant page loads.\n- 🔍 **SEO Focused:** On-page SEO errors are displayed in the console during build, so you can fix issues before deploying.\n- 📊 **Perfect Performance:** Achieves 100/100 on Core Web Vitals for speed, accessibility, and best practices.\n- 📡 **RSS Feed:** Automatic RSS feed generation for easy syndication.\n- 🗺️ **Sitemap:** Auto-generated XML sitemap for better search engine indexing.\n- 🤖 **Robots.txt:** SEO-friendly robots.txt included by default.\n- 🚫 **Custom 404 Page:** Beautiful error page for a better user experience.\n- 🔗 **Canonical Links:** Proper canonical URL management to avoid duplicate content.\n- 📱 **Meta Tags:** Complete title, description, and Open Graph tags for social sharing.\n- 🎨 **Minimal Design:** Clean, beautiful, and fully responsive design out of the box.\n\n---\n\n## 🗂️ Project Structure\n\n```\nwebnami/\n├── config.js                # Main configuration file\n├── package.json             # Project metadata and dependencies\n├── custom.css               # Main CSS file for custom styles\n├── images/                  # Image assets\n├── pages/                   # Static pages (about, contact, etc.) [Markdown only]\n├── posts/                   # Blog posts [Markdown only]\n├── src/                     # Source code (templates, assets, system pages, etc.)\n├── _site/                   # Generated output (do not edit directly)\n└── README.md                # Project documentation\n```\n\n- **pages/**: Only Markdown files for static pages (e.g., about, contact)\n- **posts/**: Only Markdown files for blog posts\n- **images/**: Store your image assets here\n- **custom.css**: Use this file for all your custom styles\n- **\\_site/**: This is the build output folder (generated automatically)\n\n---\n\n## 🛠️ How to Use\n\n### Pages Folder\n\n- Add static pages (like About, Contact) in `pages/` as Markdown (`.md`) files only.\n- Example: `pages/about.md`\n\n### Posts Folder\n\n- Create blog posts in `posts/` using Markdown (`.md`) files only.\n- Each post must start with frontmatter. See [Frontmatter Reference](#frontmatter-reference) for details.\n\n### custom.css\n\n- Customize your site's look by editing `custom.css` in the project root.\n- Override colors (as of now only primary color can be overridden)\n\n---\n\n## 🏷️ Frontmatter Reference\n\nBoth pages and posts require frontmatter at the top of each Markdown file. Here are the required fields and their explanations:\n\n### For Pages (e.g., About, Contact)\n\n```markdown\n---\nmetadata:\n  title: \"Sample Page Title\"\n  description: \"This is a sample description for the page.\"\n  img: \"https://example.com/sample-image.png\"\npermalink: \"/sample-page/\"\n---\n```\n\n- **metadata.title**: The page title (required)\n- **metadata.description**: Short description for SEO and meta tags (recommended)\n- **metadata.img**: Image for and meta tags (recommended)\n- **permalink**: The URL path for the page (required)\n\n### For Posts\n\n```markdown\n---\nmetadata:\n  title: \"Sample Blog Post Title\"\n  description: \"This is a sample summary for the blog post.\"\nheading: \"Sample Heading for the Blog Post\"\nimg: \"https://example.com/sample-image.png\"\nimgAlt: \"Sample image alt text\"\ntags: [\"SampleTag1\", \"SampleTag2\"]\ncategory: \"SampleCategory\"\nauthor: \"Sample Author\"\ndate: 2024-07-25\n---\n```\n\n- **metadata.title**: The post title (required)\n- **metadata.description**: Short summary for SEO and meta tags (recommended)\n- **heading**: Main heading for the post (displayed on the post page)\n- **img**: Main image URL for the post (used in previews and social sharing)\n- **imgAlt**: Alt text for the main image (accessibility and SEO)\n- **tags**: List of tags for the post (optional, used for tag pages)\n- **category**: Category name (optional, used for category pages)\n- **author**: Author name (optional)\n- **date**: Publish date in YYYY-MM-DD format (required)\n\n---\n\n## ⚙️ Configuration (config.js)\n\nThe `config.js` file controls your site's settings. Here is an explanation of the main fields:\n\n- **site**: Core site information\n  - `name`: The name of your site\n  - `url`: The base URL for your site\n  - `language`: The language code for your site (e.g., \"en\")\n  - `csp`: Content Security Policy (CSP) settings\n    - `enabled`: Set to `true` to enable CSP headers for your site, or `false` to disable them.\n    - `policy`: The CSP policy string. This defines the allowed sources for content on your site.\n- **branding**: Visual identity settings\n  - `favicon`: Path to your favicon\n  - `logo`: Object with `src` (image path) and `alt` (alt text)\n- **listings**: Settings for listing/archive pages\n  - `pagination.postsPerPage`: Number of posts per page\n  - `postPreview.showAuthorInListing`: Show author in post previews\n  - `postPreview.showDateInListing`: Show date in post previews\n  - `postPreview.showCategoryInListing`: Show category in post previews\n  - `postPreview.showExcerptInListing`: Show excerpt in post previews\n- **pages**: Page-specific settings\n  - `homepage`: Settings for the homepage\n    - `showHeading`: Show the main heading\n    - `centerHeading`: Center the heading text\n    - `heading`: Homepage heading text\n    - `subheading`: Homepage subtitle\n    - `showCategoryNavigation`: Show category navigation\n    - `metadata.title`: Title for SEO/meta tags\n    - `metadata.description`: Description for SEO/meta tags\n    - `metadata.image`: Social sharing image URL\n- **navbar**: Navigation bar links\n  - `links`: Array of navigation links (each with `name`, `href`, and optional `cta` for call-to-action)\n- **footer**: Footer configuration\n  - `socialLinks`: Array of social media links (each with `name` and `href`)\n  - `linkGroups`: Array of grouped footer links (each with `title`, `displayGroupTitle`, and `links`)\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- **Node.js** v20 or higher\n- **npm** v10 or higher (or use `yarn`/`pnpm`)\n\n### Installation\n\n#### Make a directory and navigate to it\n\n```bash\nmkdir my-blog-name\ncd my-blog-name\n```\n\n#### Clone this Repository\n\n```bash\ngit clone https://github.com/webnami-dev/webnami.git .\n```\n\n#### Install dependencies\n\n```bash\nnpm install\n```\n\n### Initial Configuration\n\n- Edit `config.js` to set your site name, URL, and other settings.\n- Add your logo and favicon to the `images/` directory.\n\n### First Run\n\n```bash\nnpm run dev\n```\n\nVisit [http://localhost:8080](http://localhost:8080) to see your site.\n\n---\n\n## ⌨️ Commands\n\n- **Build for production:**\n\n  ```bash\n  npm run build\n  ```\n\n  Generates the static site in the `_site/` directory.\n\n- **Start development server:**\n\n  ```bash\n  npm run dev\n  ```\n\n  Runs a local server with hot reload.\n\n- **Other utility commands:**\n  - Add your own scripts in `package.json` as needed.\n\n---\n\n## 🐞 Troubleshooting\n\n- **Build fails:** Make sure you have the correct Node.js and npm version.\n- **SEO warnings:** Review console output during build for SEO issues.\n- **Images not showing:** Confirm image paths in `config.js`, posts, and pages.\n\nIf you run into issues, check the [GitHub Issues](https://github.com/webnami/webnami/issues) page.\n\n---\n\n## ⚡ Performance\n\n- WebNami is optimized for speed and SEO.\n- Achieves 100/100 on Core Web Vitals in Lighthouse.\n- Minimal JavaScript and CSS for fast load times.\n\n---\n\n## 📬 Contact \u0026 Support\n\n- **Email:** hello.webnami@gmail.com\n- **Report Issues:** [GitHub Issues](https://github.com/webnami-dev/webnami/issues)\n\n---\n\n**WebNami** — The modern, fast, and SEO-friendly way to blog.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebnami-dev%2Fwebnami","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebnami-dev%2Fwebnami","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebnami-dev%2Fwebnami/lists"}