Chandrasekar's personal website built with Eleventy.
- Journal: Long-form blog posts with titles
- Notes: Short-form content (tweet-like) with timestamps, image support, and links
- Bookshelf: Curated collection of favorite content
- IndieWeb: Microformats support (h-entry, h-card)
- RSS/JSON Feeds: Available for both posts and notes
- Sass: Compiled SCSS stylesheets
- Netlify CMS: Admin interface for content management
- Node.js (v18 or higher recommended - see
.nvmrc) - npm
- Clone the repository:
git clone https://github.com/chandra-sekar/chndr.git
cd chndr- Install dependencies:
npm installStart the development server with live reload:
npm run devThe site will be available at http://localhost:8080
Build the site for production:
npm run buildThe output will be in the _site directory.
npm start- Alias fornpm run devnpm run clean- Remove the_sitedirectory
.
├── _11ty/ # Eleventy utilities
│ └── getTagList.js # Tag collection helper
├── _data/ # Global data files
│ └── metadata.json # Site metadata
├── _includes/ # Templates and partials
│ ├── layouts/ # Layout templates
│ │ ├── base.njk # Base HTML layout
│ │ ├── home.njk # Homepage layout
│ │ ├── note.njk # Note layout
│ │ ├── page.njk # Page layout
│ │ └── post.njk # Blog post layout
│ ├── noteslist.njk # Notes listing component
│ └── postslist.njk # Posts listing component
├── admin/ # Netlify CMS configuration
│ └── config.yml # CMS config
├── css/ # Stylesheets (SCSS)
│ ├── _base.scss
│ ├── _reset.scss
│ ├── _theme.scss
│ ├── _utilities.scss
│ ├── _variables.scss
│ └── style.scss # Main stylesheet
├── feed/ # RSS/JSON feed templates
│ ├── feed.njk # XML RSS feed
│ └── feed-notes.njk # JSON feed for notes
├── img/ # Images
├── lib/ # Custom functions
│ ├── filters/ # Custom Eleventy filters
│ └── shortcodes/ # Custom Eleventy shortcodes
├── notes/ # Note entries (short-form)
│ ├── notes.json # Directory data file
│ └── *.md # Individual notes
├── posts/ # Blog posts (long-form)
│ ├── posts.json # Directory data file
│ └── *.md # Individual posts
├── about/ # About page
├── bookshelf/ # Bookshelf page
├── journal/ # Journal listing page
├── .eleventy.js # Eleventy configuration
└── package.json # Dependencies and scripts
Create a new markdown file in the posts/ directory:
---
title: "Your Post Title"
date: 2025-11-08
layout: layouts/post.njk
tags:
- posts
- your-tag
---
Your post content here...Create a new markdown file in the notes/ directory:
---
date: 2025-11-08T09:00:00.000+00:00
photo:
- url: /img/your-image.jpg
alt: "Image description"
---
Your short note content. Can include [links](https://example.com) and **formatting**.Access the admin interface at /admin/ when running locally or on your deployed site. You'll need to authenticate with Netlify Identity.
Edit _data/metadata.json to update site information:
{
"title": "Your Site Title",
"url": "https://yoursite.com",
"description": "Site description"
}The main configuration is in .eleventy.js. Key features:
- Filters: Custom date formatting, array helpers
- Collections: Auto-generated from tags
- Passthrough Copy: Images, fonts, static assets
- Markdown: markdown-it with anchor links
- SCSS: Automatic compilation to CSS
The site is configured for deployment on Netlify:
- Push changes to your GitHub repository
- Netlify will automatically build and deploy
- Build command:
npm run build - Publish directory:
_site
- RSS Feed (Posts):
/feed/feed.xml - JSON Feed (Notes):
/feed/feed-notes.json
This site supports IndieWeb standards:
- Microformats: h-entry, h-card, dt-published
- Micropub: Endpoint configured in base template
- IndieAuth: Authentication endpoints configured
- rel=me: Links for identity verification
@11ty/eleventy- Static site generatorluxon- Date/time handlingsass- CSS preprocessing
@11ty/eleventy-plugin-rss- RSS feed generation@11ty/eleventy-plugin-syntaxhighlight- Code syntax highlighting
markdown-it- Markdown parsermarkdown-it-anchor- Auto-generate heading anchors
Modern browsers (last 2 versions):
- Chrome
- Firefox
- Safari
- Edge
ISC
Chandrasekar - https://chndr.cc