Skip to content

Commit 3763b55

Browse files
authored
Merge pull request #33 from thedevdavid/release/0.5.0
Release/0.5.0
2 parents 47025db + 8888569 commit 3763b55

29 files changed

+579
-403
lines changed

CHANGELOG.md

+15
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.5.0] - 2023-07-06
11+
12+
### Added
13+
14+
- `aria-label` to `Skip to content` link
15+
- not found page
16+
- post series type
17+
18+
### Changed
19+
20+
- Added contributors to docs
21+
- Redesigned work availability badge
22+
- Fixed table of contents crash
23+
- Updated documentation with new features
24+
1025
## [0.4.1] - 2023-07-03
1126

1227
### Changed

CODE_OF_CONDUCT.md

-131
This file was deleted.

CONTRIBUTING.md

-22
This file was deleted.

README.md

+66-23
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77

88
An open source blogging (digital gardening) template for developers using [Next.js](https://nextjs.org/) app router, MDX, [Contentlayer](https://contentlayer.dev/), [Tailwind CSS](https://tailwindcss.com/), [@shadcn/ui](https://ui.shadcn.com/) , [Lucide Icons](https://lucide.dev/icons), and more.
99

10-
This project is from developers for developers. Please feel free to report a bug, discuss the current state, submit ideas for improvements, submit a fix, propose new features, or whatever you want. All contributions are welcome! Read more at the [contributing guidelines](./CONTRIBUTING.md).
11-
1210
If you love this template and/or use it, please give it a star on GitHub. This will help more people discover it, thus help improving the template.
1311

1412
![GitHub Repo stars](https://img.shields.io/github/stars/thedevdavid/digital-garden?style=social)
@@ -32,6 +30,9 @@ If you love this template and/or use it, please give it a star on GitHub. This w
3230
- [Image optimization](#image-optimization)
3331
- [Examples](#examples)
3432
- [Features & Roadmap](#features--roadmap)
33+
- [Contributing](#contributing)
34+
- [Contributors](#contributors)
35+
- [How?](#how)
3536
- [Inspiration & Mentions](#inspiration--mentions)
3637
- [Support](#support)
3738

@@ -47,12 +48,13 @@ If you want to see how I set up this template for my own digital garden, you can
4748

4849
1. Use the repo as a template
4950
2. Install dependencies with `pnpm install`
50-
3. Edit `utils/metadata.ts` with your information
51-
4. Edit `utils/usesData.ts` with your information
52-
5. Edit `utils/projectsData.ts` with your information
53-
6. Edit `content/pages/now` with your information
54-
7. Edit `content/pages/about` with your information
55-
8. Run the development server with `pnpm dev`
51+
3. Edit `utils/metadata.ts` with your information and general settings
52+
4. Edit `utils/uses-data.ts` with software & hardware you use
53+
5. Edit `utils/projects-data.ts` with your projects
54+
6. Edit `utils/navigation-links.ts` with the links you want in the navigation
55+
7. Edit `content/pages/now` with your availability
56+
8. Edit `content/pages/about` with your bio
57+
9. Run the development server with `pnpm dev`
5658

5759
Open [http://localhost:3000](http://localhost:3000) in your browser to see the result.
5860

@@ -71,8 +73,11 @@ Editing list pages is done in the `lib` folder.
7173
You can deploy the project with [Vercel](https://vercel.com/) or any other hosting provider. If you want to use Vercel, you can use the button at the top of this README.
7274

7375
1. Update `package.json` author information
74-
2. Set up the `NEXT_PUBLIC_BASE_URL` environment variable on Vercel to point to your website's root URL
75-
3. Build and deploy
76+
2. Publish your repo to GitHub
77+
3. Create a new project on Vercel and import your repo
78+
4. Set up the `NEXT_PUBLIC_BASE_URL` environment variable on Vercel to point to your website's root URL
79+
5. If you plan to use [analytics](#analytics) and/or [newsletter](#newsletter-subscription) providers, set up the respective environment variables on Vercel
80+
6. Build and deploy 🎉
7681

7782
## Customization
7883

@@ -84,9 +89,17 @@ This project uses [Inter](https://rsms.me/inter/) as the default font. You can c
8489

8590
The project uses Tailwind colors and @shadcn/ui config. Customize the colors on `globals.css`.
8691

92+
### Signature
93+
94+
There's a signature component to use in the footer. You can edit the signature on `components/signature.tsx`. I used Figma to write the signature with `Caveat` font and exported it as SVG. You can do the same and update the SVG in the component.
95+
96+
### Images
97+
98+
Images and other media files are located in `public/` directory. You can use them in your content by using the `/<filename>.<ext>` path.
99+
87100
### Metadata
88101

89-
You can change the metadata in `utils/metadata.ts`. This will be used around the site for titles, social links, social handles, SEO, etc.
102+
You can change the metadata and author details in `utils/metadata.ts`. This will be used around the site for titles, social links, social handles, SEO, etc.
90103

91104
You can edit navigation links in `lib/navigation-links.ts`.
92105

@@ -98,14 +111,14 @@ To configure, you need to enable it on [Vercel project dashboard](https://vercel
98111

99112
#### Umami
100113

101-
Umami is a simple, easy to use, web analytics solution with self-hosting option! You can read more about it on [Umami website](https://umami.is/). (Hint: On [Railway](https://railway.app), you can self-host it low cost or even free)
114+
Umami is a simple, easy to use, web analytics solution with self-hosting option! You can read more about it on [Umami website](https://umami.is/). _(Hint: On [Railway](https://railway.app), you can self-host it low cost or even free)_.
102115

103116
Configure:
104117
Set `NEXT_PUBLIC_UMAMI_SCRIPT_URL` & `NEXT_PUBLIC_UMAMI_WEBSITE_ID` environment variables on your `.env.local` file and on Vercel dashboard.
105118

106119
#### Others
107120

108-
Supporting other analytics providers are planned. Feel free to open an issue if you have any suggestions or a PR if you want to implement it yourself.
121+
Supporting other analytics providers are in progress. Feel free to open an issue if you have any suggestions or a PR if you want to implement it yourself.
109122

110123
### Newsletter subscription
111124

@@ -115,9 +128,10 @@ _WIP_ as I'm still deciding which email tools to support. Feel free to open an i
115128

116129
You can choose between 3 different hero variants to use in `app/(site)/page.tsx` by changing the imported hero component.
117130

118-
1. `HeroSimple` - A simple centered hero section with image, title, socials, and subtitle.
131+
1. `HeroSimple` - A simple centered hero section with image, title, and subtitle.
119132
2. `HeroVideo` - 2 column hero section with Videoask embed on one side and title and subtitle on the other.
120-
3. `HeroImage` - 2 column hero section with image on one side and title, socials, and subtitle on the other.
133+
3. `HeroImage` - 2 column hero section with image on one side and title, and subtitle on the other.
134+
4. `HeroMinimal` - small hero section name & job title
121135

122136
### Other tips & tricks
123137

@@ -131,7 +145,7 @@ Note: DO NOT overdo it. You can easily make images look bad with lossy compressi
131145

132146
- [https://davidlevai.com/](https://davidlevai.com/)
133147

134-
Create a PR and add your blog to this list if you're using the template!
148+
**Create a PR and add your blog to this list if you're using the template!**
135149

136150
## Features & Roadmap
137151

@@ -153,14 +167,22 @@ Create a PR and add your blog to this list if you're using the template!
153167
- [x] about section on homepage
154168
- [x] search & command bar
155169
- [x] Analytics: Vercel, Umami
170+
- [x] Post series
171+
- [x] Not found page
172+
- [x] contributing docs
173+
- [x] Docs refresh
174+
- [ ] Social sharing buttons
175+
- [ ] newsletter integration (form, api route, keys, welcome page, previous issues)
156176
- [ ] Other analytics providers (fathom, simplelytics, plausible, etc)
177+
- [ ] Tags, categories
178+
- [ ] Post series page
179+
- [ ] Layouts/templates system
180+
- [ ] hero title and subtitle text HTML support(?)
157181
- [ ] Design improvements (whitespace, layout, etc.)
158-
- [ ] 404, error, and loading pages
182+
- [ ] error, and loading pages
159183
- [ ] Code preview component
160184
- [ ] Code highlight improvements (copy code, theme)
161185
- [ ] `manifest.json`
162-
- [ ] newsletter integration (form, api route, keys, welcome page, previous issues)
163-
- [ ] Post series
164186
- [ ] Hidden content (behind email subscription)
165187
- [ ] 100 lighthouse score
166188
- [ ] Command bar fuzzy search in content
@@ -174,17 +196,38 @@ Create a PR and add your blog to this list if you're using the template!
174196
- [ ] general cleanup
175197
- [ ] implement content security policies
176198
- [ ] implement a videoask-like solution for the hero section
199+
- [ ] RSS feed improvements (image, description, etc.)
177200
- [ ] multi-author support (?)
178201
- [ ] Post like counter (?)
179202
- [ ] Visitor counter (?)
180203
- [ ] code playground instead of code highlighting (?)
181-
- [ ] Categories and/or tags (?)
182204
- [ ] Commenting system (?)
183-
- [ ] Social sharing buttons (?)
184205
- [ ] keyboard-based navigation with hotkeys (?)
185-
- [ ] multiple layouts (sidebar, full-width, etc.) (?)
186206
- [ ] multilang support (?)
187-
- [ ] contributing docs
207+
208+
## Contributing
209+
210+
### Contributors
211+
212+
- @thedevdavid
213+
- @br4adam
214+
215+
This project is from developers for developers. All contributions are welcome! Please feel free to:
216+
217+
- Report a bug
218+
- Discuss the current state and ideas for improvements
219+
- Submit a fix
220+
- Propose new features
221+
222+
### How?
223+
224+
1. Fork the repo and create your branch from `develop`.
225+
2. Add your code.
226+
3. Update the documentation.
227+
4. Make sure your code lints and the app builds.
228+
5. Open pull request to `develop` branch.
229+
230+
Any contributions you make will be under the MIT Software License. In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Code of Conduct can be found [here](https://gist.github.com/thedevdavid/08e306cee9dc1b6b7f3c209827277a82).
188231

189232
## Inspiration & Mentions
190233

app/(site)/layout.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export default function RootLayout({ children }: RootLayoutProps) {
1111
<a
1212
className="absolute left-0 top-0 z-[9999] m-3 block -translate-y-96 overflow-hidden bg-white p-3 text-2xl text-black transition focus:translate-y-0"
1313
href="#main-content"
14+
aria-label="Skip to Content"
1415
>
1516
Skip to Content
1617
</a>

app/(site)/not-found.tsx

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
"use client"
2+
3+
import { Button } from "@/components/ui/button"
4+
import { useRouter } from "next/navigation"
5+
6+
export default function NotFound() {
7+
const router = useRouter()
8+
9+
return (
10+
<div className="text-center justify-center items-center mb-16">
11+
<span className="font-extrabold leading-none text-transparent text-[10rem] bg-clip-text bg-gradient-to-b from-foreground to-transparent">404</span>
12+
<h2 className="font-heading text-2xl my-2 font-bold">Something&apos;s missing</h2>
13+
<p>Sorry, the page you are looking for doesn&apos;t exist or has been moved.</p>
14+
<div className="flex gap-2 justify-center mt-8">
15+
<Button onClick={() => router.back()} variant="default" size="lg">Go back</Button>
16+
<Button onClick={() => router.push("/")} variant="ghost" size="lg">Back to Home</Button>
17+
</div>
18+
</div>
19+
)
20+
}

app/(site)/page.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ export default async function Home() {
2828
const aboutPage = await getAboutPage();
2929
const posts = allPosts
3030
.filter((post) => post.status === "published")
31-
.sort((a, b) => compareDesc(new Date(a.publishedDate), new Date(b.publishedDate)));
31+
.sort((a, b) =>
32+
compareDesc(new Date(a.lastUpdatedDate || a.publishedDate), new Date(b.lastUpdatedDate || b.publishedDate))
33+
);
3234

3335
return (
3436
<div className="pb-10">

0 commit comments

Comments
 (0)