This is a personal portfolio and blog website built with Jekyll and the Minimal Mistakes theme.
- Ruby 3.2.0 (specified in
.ruby-version) - Bundler
- A GitHub personal access token (for local development)
This project uses the jekyll-github-metadata plugin (included in the github-pages gem), which requires GitHub API credentials to work properly. Without these credentials, you'll encounter errors like:
The GitHub API credentials you provided aren't valid.
-
Create a GitHub Personal Access Token:
- Go to GitHub Settings > Developer Settings > Personal Access Tokens > Tokens (classic)
- Click "Generate new token (classic)"
- Give it a descriptive name (e.g., "Jekyll Online CV Development")
- Select the
public_reposcope (orrepofor private repositories) - Click "Generate token"
- Important: Copy the token immediately - you won't be able to see it again!
-
Set the environment variable:
On Linux/macOS:
export JEKYLL_GITHUB_TOKEN=your_personal_access_token_hereOn Windows (PowerShell):
$env:JEKYLL_GITHUB_TOKEN="your_personal_access_token_here"
On Windows (CMD):
set JEKYLL_GITHUB_TOKEN=your_personal_access_token_here
For a permanent solution, add this to your shell profile (
.bashrc,.zshrc, etc.) or use a tool likedirenv. -
Optional: Use a
.envfile (recommended for convenience):Install the
dotenvgem:gem install dotenv # or add to Gemfile: gem 'dotenv'Create a
.envfile in the project root:echo "JEKYLL_GITHUB_TOKEN=your_personal_access_token_here" > .env
Important: Make sure
.envis in your.gitignoreto avoid committing your token!Then run Jekyll normally:
bundle exec jekyll serve
The GitHub Actions workflow is already configured to use the JEKYLL_GITHUB_TOKEN secret. To set it up:
- Go to your repository settings on GitHub
- Navigate to "Secrets and variables" > "Actions"
- Click "New repository secret"
- Name:
JEKYLL_GITHUB_TOKEN - Value: Your personal access token (created as described above)
- Click "Add secret"
-
Clone the repository:
git clone https://github.com/joofio/online-cv.git cd online-cv -
Install dependencies:
bundle install
Run the development server:
JEKYLL_GITHUB_TOKEN=your_token_here bundle exec jekyll serveOr if you've already exported the environment variable:
bundle exec jekyll serveThe site will be available at http://localhost:4000
JEKYLL_GITHUB_TOKEN=your_token_here bundle exec jekyll buildThe built site will be in the _site directory.
The site is automatically deployed to GitHub Pages when changes are pushed to the master branch. The deployment is handled by the GitHub Actions workflow in .github/workflows/jekyll.yml.
This means the JEKYLL_GITHUB_TOKEN environment variable is not set or is invalid. Follow the steps in the "GitHub API Credentials Setup" section above.
This happens when the GitHub API is called too many times without authentication. Set the JEKYLL_GITHUB_TOKEN environment variable to increase your rate limit from 60 to 5000 requests per hour.
Ruby 3.0+ removed webrick from the standard library. It's already included in the Gemfile, but if you encounter this error, run:
bundle add webrickSee the original theme licenses in Readme.txt.