-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
21a36af
commit a179794
Showing
105 changed files
with
32,133 additions
and
0 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# build output | ||
dist/ | ||
|
||
# dependencies | ||
node_modules/ | ||
|
||
# logs | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
pnpm-debug.log* | ||
|
||
|
||
# environment variables | ||
.env | ||
.env.production | ||
|
||
# macOS-specific files | ||
.DS_Store | ||
|
||
# yarn | ||
.pnp.* | ||
.yarn/* | ||
!.yarn/patches | ||
!.yarn/plugins | ||
!.yarn/releases | ||
!.yarn/sdks | ||
!.yarn/versions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Blogster | ||
|
||
Theme: **bubblegum** | ||
|
||
Blogster is a collection of beautiful, accessible and performant blog templates built with [Astro](https://astro.build) and [Markdoc](https://markdoc.dev). | ||
|
||
Check out the demo here - [Blogster bubblegum template](https://blogster-bubblegum.netlify.app). | ||
|
||
## Bubblegum Template | ||
|
||
A beautiful, performant and accessible theme built with [Tailwind](https://tailwindcss.com). | ||
|
||
- **Fast**. Fast by default. Astro websites are engineered to be fast and load before you could blink, even when not cached. | ||
- **Dark mode**. All themes have light/dark mode built-in. | ||
- **Mobile first**. Responsive and loads fast in all devices. | ||
- **Accessible**. A well thought out semantic and accessible content. | ||
- **Perfect lighthouse score.** 100 across the board. | ||
- **Easy content authoring**. Author content using markdown (`.md`) from your code editor or directly in GitHub. | ||
- **Extended markdown with [Markdoc](https://markdoc.dev).** Type-safe custom components like YouTube embed, Twitter embed (or anything you want really) in your markdown (`.md`) files. | ||
- **RSS feed**. Your blog has an RSS feed setup that can be accessed at `/rss.xml`. | ||
- **SEO**. All pages are setup with all the SEO you might need. | ||
|
||
## How do I add content? | ||
|
||
All the content is written in markdown (.md) and grouped as `blog` or `projects` in the `content` directory. All the default markdown syntax will work. You also have a few example custom markdown elements like _YouTube embed_, _Twitter embed_, etc. You can create your own custom components too in two easy steps. | ||
|
||
1. Add a markdoc config. Check out the markdoc config in [src/lib/markdoc/config.ts](src/lib/markdoc/config.ts) to learn how to add custom components. | ||
2. Add a component to render your custom component. Check out the Renderer in [src/components/Renderer.astro](src/components/Renderer.astro). | ||
|
||
## How do I make it my blog? | ||
|
||
Easy. | ||
|
||
- All content is static and everything is straight forward. Change whatever you need to change. | ||
- Delete or update the content in `content/{content-group}`. `content-group` could be `blog`, `projects` or `anything`. | ||
- (Optional) If you need more content types like _Notes_, just create a new dir in `content` and add a new frontmatter validator like [src/lib/markdoc/blog/frontmatter](src/lib/markdoc/blog/frontmatter). | ||
|
||
## How do I deploy? | ||
|
||
`yarn build` will generate a static website in `dist` dir. You can host it with any static hosting. If you need a recommendation, check out [Netlify](netlify.com). | ||
|
||
## Credit | ||
|
||
Thanks to other templates that inspired this theme. | ||
|
||
- [Official Astro Blog template](https://github.com/withastro/astro/tree/main/examples/blog) | ||
|
||
## License | ||
|
||
MIT © [Dinesh Pandiyan](https://github.com/flexdinesh) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* eslint-disable turbo/no-undeclared-env-vars */ | ||
import { defineConfig } from "astro/config"; | ||
import sitemap from "@astrojs/sitemap"; | ||
import tailwind from "@astrojs/tailwind"; | ||
|
||
/* | ||
We are doing some URL mumbo jumbo here to tell Astro what the URL of your website will be. | ||
In local development, your SEO meta tags will have localhost URL. | ||
In built production websites, your SEO meta tags should have your website URL. | ||
So we give our website URL here and the template will know what URL to use | ||
for meta tags during build. | ||
If you don't know your website URL yet, don't worry about this | ||
and leave it empty or use localhost URL. It won't break anything. | ||
*/ | ||
|
||
const SERVER_PORT = 3000; | ||
// the url to access your blog during local development | ||
const LOCALHOST_URL = `http://localhost:${SERVER_PORT}`; | ||
// the url to access your blog after deploying it somewhere (Eg. Netlify) | ||
const LIVE_URL = "https://yourwebsiteurl.com"; | ||
// this is the astro command your npm script runs | ||
const SCRIPT = process.env.npm_lifecycle_script || ""; | ||
const isBuild = SCRIPT.includes("astro build"); | ||
let BASE_URL = LOCALHOST_URL; | ||
// When you're building your site in local or in CI, you could just set your URL manually | ||
if (isBuild) { | ||
BASE_URL = LIVE_URL; | ||
} | ||
|
||
export default defineConfig({ | ||
server: { port: SERVER_PORT }, | ||
site: BASE_URL, | ||
integrations: [ | ||
sitemap(), | ||
tailwind({ | ||
config: { applyBaseStyles: false }, | ||
}), | ||
], | ||
}); |
Oops, something went wrong.