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/justfilecollects the commands to handle the resume generation. Let's trycd docs && justto 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-pdfnpm package. (Usingjustcommand)
- 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.mdfiles. - Update the styles in
docs/css/*.cssfiles if needed. - Push the changes to the
mainbranch.
- Update the resume in
- Generate and Publish
- Trigger the GitHub action
build pdfmanually- Select the branch, mostly
mainbranch should be right. - Set the
Tag nameto the version you want to publish. (if tag:v1.0.0thenRelease 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-pdfcommand to generate the PDF files. - The generated PDF files will be saved in the
pdfdirectory.pdf/*.pdfis ignored by git, so you can safely delete them.
(TBD)