This repository contains the source code for the LLM360 website, built with Jekyll and utilizing the al-folio
theme for its blog section.
New blog posts are created as Markdown files within the _posts
directory.
-
Create a New File: Navigate to the
_posts
directory in your project. Create a new Markdown file with the following naming convention:YYYY-MM-DD-your-post-title.md
-
YYYY-MM-DD
: The full date of the post. -
your-post-title
: A descriptive title using hyphens instead of spaces.
Example:
_posts/2025-07-15-my-new-research-update.md
-
-
Add YAML Front Matter: Every blog post must start with a YAML Front Matter block. This provides metadata for Jekyll and the
al-folio
theme.--- layout: post title: "Your Awesome New Post Title Here" date: 2025-07-15 10:30:00 -0700 description: "A short summary or excerpt for your post." categories: [category1, category2] # List categories relevant to your post tags: [tag1, tag2, tag3] # List specific keywords/tags # Optional: Add an image for social media previews. These images should be placed in the 'assets/img/posts/' folder (al-folio's asset directory). # image: /assets/img/posts/your-post-image.jpg --- Note that the blog post will be published after the time specified in the YAML. ## Your Post Content Starts Here This is where you write the main content of your blog post using Markdown. You can include: * Text with **bold** and *italics*. * [Links](https://example.com). * Code blocks: ```python def hello_world(): print("Hello, Blog!") ``` * Images: `` (ensure image path is correct relative to root, usually `assets/img/` for theme-managed images) * LaTeX for math (if enabled in `_config.yml`): `$$E=mc^2$$` --- # End of your post content
-
Submit via Pull Request (PR): Once you've created and saved your new blog post file:
-
Commit your changes:
git add _posts/YYYY-MM-DD-your-post-title.md git commit -m "feat: Add new blog post: Your Post Title"
-
Push your changes to your branch:
git push origin your-feature-branch-name
-
Open a Pull Request (PR) on GitHub from your branch to the
main
(ormaster
) branch of the repository. Describe your changes clearly.
After the PR is merged, GitHub Pages will automatically rebuild the site, and your new blog post will appear on the live website.
-
This website is designed with a hybrid approach, where Jekyll generates specific URL paths for different content sections:
-
Homepage (
/
): This is the site's main landing page, maintaining its original static HTML design. It includes sections for Datasets, Models, Projects, and Papers. Its specific assets (CSS, JS, images) are located in thestatic-assets/
folder to avoid conflicts with the Jekyll theme. -
Blog (
/blog/
): This section leverages theal-folio
Jekyll theme for a clean, academic-style blog. The content for the blog is sourced from the_posts
directory. Jekyll processes these files to generate the/blog/
URL path. Users will see and access the blog primarily through the "Blog" link in the website's main navigation bar, which directs them tohttp://your-site.com/blog/
. It features:-
A main blog listing page (
/blog/
) displaying recent posts with pagination. -
Individual blog post pages (e.g.,
/blog/2025/hello-distill-setup/
). -
Category and Tag archive pages (e.g.,
/blog/category/test/
,/blog/tag/setup/
) for easy navigation of related content.
-
-
Other Static Pages: Additional static pages like
about.html
andevaluation.html
are present, maintaining their original structure.
To run this website on your local machine, you'll need Ruby, Bundler, and Jekyll installed.
Jekyll is built with Ruby. It's highly recommended to use a Ruby version manager (like rbenv
or rvm
) to install Ruby and manage gem dependencies, especially on macOS. For Windows, using Windows Subsystem for Linux (WSL) is often the smoothest path.
1. Install Ruby:
-
macOS (Recommended via
rbenv
orrvm
):-
Using
rbenv
:brew install rbenv ruby-build rbenv install 3.2.2 # Or your preferred Ruby version, matching Gemfile if possible rbenv global 3.2.2 echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc # Or ~/.bashrc for Bash source ~/.zshrc # Or ~/.bashrc
-
Using
rvm
: Follow instructions at https://rvm.io/rvm/install to installrvm
, thenrvm install 3.2.2
andrvm use 3.2.2 --default
.
-
-
Windows (Recommended via WSL):
-
Install Windows Subsystem for Linux (WSL).
-
Once WSL is set up (e.g., with Ubuntu), follow the Linux instructions for installing Ruby (e.g., using
rbenv
orrvm
within your WSL terminal).
-
-
Linux:
- Use
rbenv
orrvm
as on macOS, or your distribution's package manager (e.g.,sudo apt install ruby-full
).
- Use
2. Install Bundler: Bundler is a Ruby gem that manages your project's Ruby dependencies.
gem install bundler
3. Install Jekyll: Jekyll itself is a Ruby gem.
gem install jekyll
-
Clone the Repository:
git clone [https://github.com/LLM360/llm360-website.git](https://github.com/LLM360/llm360-website.git) # Replace with your actual repo URL if different cd llm360-website
-
Install Project Dependencies: This command reads your
Gemfile
and installs all the specific Jekyll plugins and gems required for this project.bundle install
-
Serve the Website: This command builds the site and serves it locally.
bundle exec jekyll serve
Your site will typically be available at
http://127.0.0.1:4000/
orhttp://localhost:4000/
.How to Access Sections:
- Homepage: Navigate to
http://127.0.0.1:4000/
- Blog: Navigate to
http://127.0.0.1:4000/blog/
- About Page: Navigate to
http://127.0.0.1:4000/about.html
- Evaluation Page: Navigate to
http://127.0.0.1:4000/evaluation.html
- Individual Blog Post: For a post like
2025-07-15-my-new-research-update.md
, the URL will behttp://127.0.0.1:4000/blog/2025/my-new-research-update/
- Category/Tag Archives: For a category like 'test', the URL will be
http://127.0.0.1:4000/blog/category/test/
Troubleshooting: If you encounter
Expected expression
errors related to SCSS, ensure your_config.yml
has themax_width
and otheral-folio
specific settings correctly defined as per the theme's documentation. - Homepage: Navigate to
Jekyll uses specific folders, typically prefixed with an underscore (_
), for different types of content and configuration. These folders are processed by Jekyll during the build and are not directly copied to the _site
output in the same way as regular folders:
-
_posts/
: Contains your blog posts. Each Markdown file here represents a blog post. -
_pages/
: Contains standalone Markdown or HTML pages that Jekyll processes (like yourblog.md
file that generates the/blog/
index page). -
_sass/
: Holds Sass/SCSS files that Jekyll compiles into CSS. This is whereal-folio
's core styles reside, and where you'd place_custom.scss
for theme overrides.