Giter VIP home page Giter VIP logo

elysium's Introduction

Elysium ๐ŸŒณ

Typescript GitHub Conventional Commits Commitizen friendly

Elysium is an opinionated, minimal, responsive, accessible and SEO-friendly Astro personal website and digital garden theme. This theme is inspired by and based on Astro Paper.

This theme follows best practices and provides accessibility out of the box. Light and dark mode are supported by default. Moreover, additional color schemes can also be configured.

๐Ÿ”ฅ Features

  • type-safe markdown
  • super fast performance
  • accessible (Keyboard/VoiceOver)
  • responsive (mobile ~ desktops)
  • SEO-friendly
  • light & dark mode
  • fuzzy search
  • draft posts & pagination
  • sitemap & rss feed
  • followed best practices
  • highly customizable
  • dynamic OG image generation for posts
  • write content using Obsidian
  • [[WikiLinks]] support
  • Incoming links support
  • Outgoing links support (coming soon)

๐Ÿš€ Project Structure

Inside of Elysium, you'll see the following folders and files:

/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”‚   โ””โ”€โ”€ logo.svg
โ”‚   โ”‚   โ””โ”€โ”€ logo.png
โ”‚   โ””โ”€โ”€ favicon.svg
โ”‚   โ””โ”€โ”€ robots.txt
โ”‚   โ””โ”€โ”€ toggle-theme.js
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”‚   โ””โ”€โ”€ socialIcons.ts
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ content/
โ”‚   โ”‚   |  _templates/
โ”‚   โ”‚   |  .obsidian/
โ”‚   โ”‚   |  blog/
โ”‚   โ”‚   |    โ””โ”€โ”€ some-blog-posts.md
โ”‚   โ”‚   |  projects/
โ”‚   โ”‚   โ””โ”€โ”€ config.ts
โ”‚   โ”œโ”€โ”€ layouts/
โ”‚   โ””โ”€โ”€ pages/
โ”‚   โ””โ”€โ”€ plugins/
โ”‚   โ””โ”€โ”€ styles/
โ”‚   โ””โ”€โ”€ utils/
โ”‚   โ””โ”€โ”€ config.ts
โ”‚   โ””โ”€โ”€ middleware.ts
โ”‚   โ””โ”€โ”€ types.ts
โ””โ”€โ”€ package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

Any static assets, like images, can be placed in the public/ directory.

All Obsidian Templates are stored in src/content/blog directory.

All blog posts are stored in src/content/blog directory.

All project posts are stored in src/content/projects directory.

๐Ÿ“– Documentation

Documentation can be read in two formats_ markdown & blog post.

๐Ÿ’ป Tech Stack

Main Framework - Astro
Type Checking - TypeScript
Component Framework - ReactJS
Styling - TailwindCSS
Fuzzy Search - FuseJS
Icons - Boxicons | Tablers
Code Formatting - Prettier
Deployment - Cloudflare Pages Linting - ESLint

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Running Locally

The easiest way to run this project locally is to run the following command in your desired directory.

# npm 6.x
npm create astro@latest --template vandermerwed/elysium

# npm 7+, extra double-dash is needed:
npm create astro@latest -- --template vandermerwed/elysium

# yarn
yarn create astro --template vandermerwed/elysium

Google Site Verification (optional)

You can easily add your Google Site Verification HTML tag in Elysium using environment variable. This step is optional. If you don't add the following env variable, the google-site-verification tag won't appear in the html <head> section.

# in your environment variable file (.env)
PUBLIC_GOOGLE_SITE_VERIFICATION=your-google-site-verification-value

๐Ÿงž Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run format:check Check code format with Prettier
npm run format Format codes with Prettier
npm run sync Generates TypeScript types for all Astro modules. Learn more.
npm run cz Commit code changes with commitizen
npm run lint Lint with ESLint

โœจ Feedback & Suggestions

If you have any suggestions/feedback, you can contact me via twitter. Alternatively, feel free to open an issue if you find bugs or want to request new features.

๐Ÿ“œ License

Licensed under the MIT License, Copyright ยฉ 2023


Made with ๐Ÿค by Daniel van der Merwe

Big thanks to Sat Naing for creating Astro Paper which this theme is based on.

elysium's People

Contributors

vandermerwed avatar

Watchers

 avatar

elysium's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.