Skip to content

feat: add static Jekyll site for MIP landing#15

Open
QEDK wants to merge 16 commits intomainfrom
feat/site
Open

feat: add static Jekyll site for MIP landing#15
QEDK wants to merge 16 commits intomainfrom
feat/site

Conversation

@QEDK
Copy link
Collaborator

@QEDK QEDK commented Mar 4, 2026

  • makes a local static site available with Jekyll for viewing MIPs
  • adds instructions to README.md on how to serve the site
  • adjust existing MIPs to conform to MIP-1 Working Document (and to render correctly)
  • adds a workflow to support deployment via GitHub Pages in the future (currently disabled)

@QEDK QEDK requested review from keone and mijovic March 4, 2026 16:45
@QEDK QEDK self-assigned this Mar 4, 2026
@QEDK QEDK added the documentation Improvements or additions to documentation label Mar 4, 2026
Copilot AI review requested due to automatic review settings March 4, 2026 16:45
@QEDK QEDK added the enhancement New feature or request label Mar 4, 2026
@socket-security
Copy link

socket-security bot commented Mar 4, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedjekyll@​4.4.184100100100100
Addedminima@​2.5.210010090100100
Addedwebrick@​1.9.293100100100100

View full report

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a Jekyll-based static site to render and browse MIPs locally (and lays groundwork for future GitHub Pages deployment), while updating several existing MIPs’ front matter for consistent rendering.

Changes:

  • Introduces Jekyll site scaffolding (config, layouts, landing page, favicon) for browsing MIPs.
  • Adds local build/run instructions and Ruby/Bundler dependencies (Gemfile + lockfile).
  • Updates MIP front matter fields (e.g., status, type) to improve consistency and site rendering.

Reviewed changes

Copilot reviewed 12 out of 15 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
index.md Adds landing page that lists MIPs in a table.
favicon.svg Adds site favicon.
_layouts/mip.html Adds per-MIP page layout with metadata table and citation block.
_layouts/default.html Adds base HTML layout, styling, syntax highlighting, and link/author processing JS.
_config.yml Configures Jekyll, permalinks, and assigns mip layout to MIPS/ files by default.
README.md Documents local build/run steps for the site.
MIPS/MIP-7.md Adds status and type front matter.
MIPS/MIP-6.md Adds status and type front matter (and removes category).
MIPS/MIP-5.md Adds status and type front matter.
MIPS/MIP-4.md Adds status and type front matter.
MIPS/MIP-3.md Normalizes front matter formatting; adds status/type; fixes copyright section indentation.
Gemfile.lock Locks Ruby gem dependencies for reproducible local builds.
Gemfile Adds Jekyll/minima/webrick dependencies.
.gitignore Ignores Jekyll build/cache output.
.github/workflows/deploy-pages.yml Adds (currently disabled) GitHub Pages workflow scaffold.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,32 @@
# Monad Improvement Proposals (MIPs)

This repository builds a static MIP website with Jekyll and deploys it with GitHub Pages.
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README states the site “deploys … with GitHub Pages”, but the added Pages workflow has both jobs disabled (if: false). This is misleading for contributors trying to understand the current deployment setup; consider rewording to indicate Pages deployment is planned/optional or currently disabled.

Suggested change
This repository builds a static MIP website with Jekyll and deploys it with GitHub Pages.
This repository builds a static MIP website with Jekyll and is intended to be deployed with GitHub Pages (deployment may currently be disabled in CI).

Copilot uses AI. Check for mistakes.
Comment on lines +128 to +159
if (window.Prism && typeof Prism.highlightElement === "function") {
var codeBlocks = document.querySelectorAll("pre > code, .highlighter-rouge pre > code");

codeBlocks.forEach(function (code) {
var pre = code.parentElement;
if (!pre) {
return;
}

var languageClass = Array.from(code.classList).find(function (cls) {
return cls.indexOf("language-") === 0;
});

if (!languageClass) {
var wrapper = code.closest("[class*='language-']");
if (wrapper) {
languageClass = Array.from(wrapper.classList).find(function (cls) {
return cls.indexOf("language-") === 0;
});
}
}

if (!languageClass || languageClass === "language-plaintext") {
return;
}

code.classList.add(languageClass);
pre.classList.add(languageClass);
Prism.highlightElement(code);
});
}

Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_config.yml enables Rouge (highlighter: rouge and kramdown.syntax_highlighter: rouge), but this layout also loads Prism and calls Prism.highlightElement over all code blocks. That extra client-side highlighting work can cause flashing/reflow and makes styling harder to reason about (Prism theme vs Rouge CSS). Consider choosing one highlighter: either rely on Rouge output and remove Prism processing, or disable Rouge highlighting and use Prism consistently.

Suggested change
if (window.Prism && typeof Prism.highlightElement === "function") {
var codeBlocks = document.querySelectorAll("pre > code, .highlighter-rouge pre > code");
codeBlocks.forEach(function (code) {
var pre = code.parentElement;
if (!pre) {
return;
}
var languageClass = Array.from(code.classList).find(function (cls) {
return cls.indexOf("language-") === 0;
});
if (!languageClass) {
var wrapper = code.closest("[class*='language-']");
if (wrapper) {
languageClass = Array.from(wrapper.classList).find(function (cls) {
return cls.indexOf("language-") === 0;
});
}
}
if (!languageClass || languageClass === "language-plaintext") {
return;
}
code.classList.add(languageClass);
pre.classList.add(languageClass);
Prism.highlightElement(code);
});
}

Copilot uses AI. Check for mistakes.
QEDK and others added 4 commits March 4, 2026 20:55
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants