a blog most sleepy.
A web app for personal utility, both career and professional.
SleepyBlog serves as a convenient place to host my resume, document my land development journey with my partner Jean, a gallery for projects, and any other personal whimsies.
Currently, you can search for posts by title or date (case insensitive). In the future, there will also be tags for better organization.
This app is hosted on vercel, with namecheap as it's dns provider.
Later, its design will be overhauled, dockerized, and migrated to the cloud.
As it stands, this app is simple:
npm i
pip install -r requirements.txt
npm run dev
npm build
Git hooks are maintained via husky, which is further explained in the usage section, and can be installed with:
npx husky init
Vercel's ci/cd via GitHub app connection automatically rebuilds pushes to the main
branch into production. Only the repository owner can force push.
The core anatomy is as such:
Path Glob | Description |
---|---|
_posts/* |
blog posts |
_tools/* |
tools to support workflow & maintenance |
app/_components/* |
react components |
app/_lib/* |
typescript & css utilities, themes and other global objects |
app/about/* |
resume & connect page |
app/furniture/* |
furniture gallery |
app/software/* |
software gallery |
app/tutoring/* |
tutoring interface |
app/posts/* |
blog post view |
public/assets/general/* |
images and other files for the rest of sleepyblog |
As for git hooks, file .husky/pre-commit
will be run before a commit, and is both for formatting and setting the last updated date displayed in the side-nav footer.
- namecheap
- gray-matter
- Next.js 14
- nodemailer
- remark
- zod
- Tailwind
- shadcn
- Vercel
- imgur-python
- husky
- prettier
- black
Though I'm not much for conventional social media, feel free to connect with me where ever I've resigned to exist!
A lifetime of thanks to my partner Jean, who never stops loving and supporting me.
Another to my parents, Victor Yep & Jeannie Bench.
See License for the full license text.
This project was authored by Isaac Yep.