There are two main sections in this repository:
- Blog: This is a blog section where I write about various topics, including programming, technology, and personal experiences. The blog is built using Next.js and Markdown files. And hosted on Vercel.
- Resume: This is a resume section where I showcase my professional experience, skills, and education. The resume is built using md-to-pdf npm package, which converts Markdown files to PDF format with custom styles.
(TODO: move the code from root to blog directory)
/blog/*
contains the blog service implementation./blog/_posts/*
contains the blog posts in Markdown format.
The blog posts are stored in /_posts
as Markdown files with front matter support. Adding a new Markdown file in there will create a new blog post.
To create the blog posts we use remark
and remark-html
to convert the Markdown files into an HTML string, and then send it down as a prop to the page. The metadata of every post is handled by gray-matter
and also sent in props to the page.
/docs/md/*
contains the resume in Markdown format./docs/out/*
contains the artifacts such as the generated PDF files. but those files are ignored by git./docs/justfile
collects the commands to handle the resume generation. Let's trycd docs && just
to see the available commands.
- Automatically generates a PDF version of the resume from Markdown files and publishes it to GitHub releases.
- Customeizable styles for the PDF using CSS.
- Local generation of the PDF using
md-to-pdf
npm package. (Usingjust
command)
- It does not generate a website for the resume. The resume is only available in PDF format.
- It does not provide a way to host the resume online. The resume is only available as a downloadable PDF file as a GitHub release asset.
- Update
- Update the resume in
docs/md/en|jp/RESUME.md
files. - Update the styles in
docs/css/*.css
files if needed. - Push the changes to the
main
branch.
- Update the resume in
- Generate and Publish
- Trigger the GitHub action
build pdf
manually- Select the branch, mostly
main
branch should be right. - Set the
Tag name
to the version you want to publish. (if tag:v1.0.0
thenRelease v1.0.0
)
- Select the branch, mostly
- This will generate the PDF files, create a new release, and upload the PDF files as assets to the release.
- Trigger the GitHub action
- Install the dependencies using
npm install
. - Run the
just resume-pdf
command to generate the PDF files. - The generated PDF files will be saved in the
pdf
directory.pdf/*.pdf
is ignored by git, so you can safely delete them.
(TBD)