Migrate site from Beautiful Jekyll to Docusaurus#2
Merged
Conversation
Scaffold Docusaurus, convert all 12 published posts (preserving URLs and /assets/... media paths), enable Giscus comments via a minimal blog-footer override, configure GA4, RSS/Atom, sitemap, tags, Mermaid, and PowerShell syntax highlighting. Use the default Docusaurus theme without visual overrides. Add CI and Pages deploy workflows (deploy still scoped to master). Remove legacy Jekyll sources (_posts, _drafts, _includes, _layouts, _config.yml, Gemfile, assets, root HTML pages, staticman.yml, feed.xml). The static/assets mirror retains all 44 image artifacts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Docusaurus only processes blog/, src/pages/, and static/, so the legacy _drafts/ directory is preserved as-is for archival without affecting the build output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Jekyll _posts directory contained an accidental duplicate file named '... part-1 copy.md' (the standard Windows/macOS duplicate suffix). Drop the migrated copy so only the canonical part-1 post is published. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Migrates day3bits.com from Beautiful Jekyll to a Docusaurus (classic preset) site within the same repository, aiming to preserve existing post URLs and assets while switching the build/deploy pipeline to Node/Docusaurus.
Changes:
- Added Docusaurus configuration and Node build tooling (including feed copy step and Giscus integration).
- Migrated published posts into
blog/with explicit slugs and added author metadata. - Replaced Jekyll CI/deploy with GitHub Actions workflows for Docusaurus build and GitHub Pages deployment.
Reviewed changes
Copilot reviewed 67 out of 118 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tags.html | Removes legacy Jekyll tags index page. |
| staticman.yml | Removes legacy Staticman configuration. |
| static/assets/img/profile-placeholder-blank.gif | Adds migrated static image asset. |
| static/assets/img/bgimage.png | Adds migrated static image asset. |
| static/assets/css/staticman.css | Adds legacy Staticman CSS (now under static/). |
| static/assets/css/pygment_highlights.css | Adds legacy code highlighting CSS asset. |
| static/assets/css/bootstrap-social.css | Adds legacy social button CSS asset. |
| static/assets/css/beautifuljekyll.css | Adds legacy Beautiful Jekyll CSS (contains Liquid/front matter). |
| static/assets/css/beautifuljekyll-minimal.css | Adds legacy minimal layout CSS. |
| static/CNAME | Adds GitHub Pages custom domain configuration for Docusaurus output. |
| static/.nojekyll | Adds .nojekyll to disable Jekyll processing on GitHub Pages. |
| src/theme/BlogPostItem/Footer/index.js | Theme override to inject Giscus comments on blog post pages. |
| src/pages/aboutme.md | Migrates About page content into Docusaurus pages. |
| src/components/GiscusComments.js | Adds client-side Giscus embed component. |
| scripts/copy-feed.js | Copies Docusaurus rss.xml to feed.xml to preserve feed URL. |
| package.json | Adds Node dependencies and build scripts for Docusaurus. |
| package-lock.json | Locks Node dependency versions for reproducible installs. |
| index.html | Removes legacy Jekyll home page file. |
| feed.xml | Removes legacy Jekyll feed template (now generated by Docusaurus + copy step). |
| docusaurus.config.js | Adds Docusaurus site config (blog at /, feeds, sitemap, GA4, navbar/footer, mermaid, prism langs). |
| blog/authors.yml | Defines the blog author metadata for Docusaurus. |
| blog/2026-03-18-new-microsoft-graph-soverign-cloud-partner-environments.md | Migrated post content with preserved slug. |
| blog/2025-10-16-windows-update-kb5066835-authentication-problems.md | Migrated post content with preserved slug and updated image paths/code fences. |
| blog/2025-07-09-installing-powershell-with-the-dotnet-tool.md | Migrated post content and converted callouts to Docusaurus admonitions. |
| blog/2025-06-20-using-mar-as-a-secure-repository.md | Migrated post content and converted callouts/images for Docusaurus. |
| blog/2025-02-17-using-obsolete-parameters-in-powershell.md | Migrated post content and added social/cover metadata fields. |
| blog/2024-12-30-creating-an-it-systems-management-user-group-for-charlotte.md | Migrated post content and converted callouts/images for Docusaurus. |
| blog/2024-12-09-Revisiting-Join-Path-in-PowerShell.md | Migrated post content and updated image URLs. |
| blog/2024-11-20-how-to-get-active-directory-trust-details-in-powershell.md | Migrated post content with preserved slug. |
| blog/2024-09-05-benefits-of-removing-the-az-and-microsoft-graph-powershell-modules.md | Migrated post content and converted callouts to Docusaurus admonitions. |
| blog/2024-03-21-services-included-in-microsoft-365-e5-developer-plan.md | Migrated post content and added social/cover metadata fields. |
| blog/2023-12-08-return-multiple-objects-from-a-powershell-function.md | Migrated post content; replaced Kramdown attrs with HTML; converted callouts. |
| beautiful-jekyll-theme.gemspec | Removes legacy Ruby gemspec for Beautiful Jekyll theme. |
| assets/js/staticman.js | Removes legacy Staticman submission JS. |
| assets/js/beautifuljekyll.js | Removes legacy Beautiful Jekyll theme JS. |
| _posts/2026-01-26-setting-up-your-powershell-development-environment-part-1 copy.md | Removes legacy Jekyll post source file. |
| _layouts/post.html | Removes legacy Jekyll layout. |
| _layouts/page.html | Removes legacy Jekyll layout. |
| _layouts/minimal.html | Removes legacy Jekyll layout. |
| _layouts/home.html | Removes legacy Jekyll layout. |
| _layouts/default.html | Removes legacy Jekyll layout. |
| _layouts/base.html | Removes legacy Jekyll base layout. |
| _includes/utterances-comment.html | Removes legacy comments include. |
| _includes/staticman-comments.html | Removes legacy comments include. |
| _includes/staticman-comment.html | Removes legacy comments include. |
| _includes/social-share.html | Removes legacy social share include. |
| _includes/social-networks-links.html | Removes legacy footer links include. |
| _includes/search.html | Removes legacy search include. |
| _includes/readtime.html | Removes legacy read-time include. |
| _includes/nav.html | Removes legacy navbar include. |
| _includes/matomo.html | Removes legacy analytics include. |
| _includes/header.html | Removes legacy header include. |
| _includes/head.html | Removes legacy head include. |
| _includes/gtm_head.html | Removes legacy GTM include. |
| _includes/gtm_body.html | Removes legacy GTM include. |
| _includes/gtag.html | Removes legacy GA include. |
| _includes/google_analytics.html | Removes legacy Universal Analytics include. |
| _includes/giscus-comment.html | Removes legacy Jekyll giscus include (replaced by React component). |
| _includes/footer.html | Removes legacy footer include. |
| _includes/footer-scripts.html | Removes legacy footer scripts include. |
| _includes/footer-minimal.html | Removes legacy minimal footer include. |
| _includes/fb-comment.html | Removes legacy FB comments include. |
| _includes/ext-js.html | Removes legacy external JS include helper. |
| _includes/ext-css.html | Removes legacy external CSS include helper. |
| _includes/disqus.html | Removes legacy Disqus include. |
| _includes/comments.html | Removes legacy comments dispatcher include. |
| _includes/commentbox.html | Removes legacy CommentBox include. |
| _includes/cloudflare_analytics.html | Removes legacy Cloudflare analytics include. |
| _config.yml | Removes legacy Jekyll site configuration. |
| Gemfile | Removes legacy Ruby dependencies. |
| CNAME | Moves CNAME from repo root into static/ for Docusaurus output. |
| Appraisals | Removes legacy Ruby appraisal config. |
| 404.html | Removes legacy Jekyll 404 page (Docusaurus will generate its own). |
| .gitignore | Adds Node/Docusaurus build artifacts to ignore list. |
| .github/workflows/deploy-pages.yml | Adds Pages deployment workflow for Docusaurus build output. |
| .github/workflows/ci.yml | Updates CI workflow from Jekyll to Docusaurus build + npm audit + artifact upload. |
Comments suppressed due to low confidence (3)
blog/2024-09-05-benefits-of-removing-the-az-and-microsoft-graph-powershell-modules.md:74
- The PowerShell example has a typo in the module name:
Az.Tools,Predictor(comma) won’t resolve as a module. It should match the earlier bullet (Az.Tools.Predictor) so copy/paste works for readers.
blog/2026-03-18-new-microsoft-graph-soverign-cloud-partner-environments.md:6 - This post’s
dateis set in the future (2026-03-18). Depending on Docusaurus blog settings, future-dated posts can be omitted from listings/feeds or behave unexpectedly. If this is intentional, consider confirming the desired visibility behavior; otherwise adjust the date to the intended publish date.
src/pages/aboutme.md:7 - Docusaurus pages already render an H1 from the front matter
titleby default. Adding# About mein the content will typically produce a duplicate top-level heading. Consider removing the in-body H1 or addinghide_title: truein the front matter if you want to keep the explicit heading.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates
https://day3bits.comfrom Beautiful Jekyll to Docusaurus (classic preset) in this same repository, preserving every published post URL and all media artifacts. The default Docusaurus theme is used with no visual overrides.The sibling project sites at
/TheCleaners,/PSPreworkout, and/DLLPicklecontinue to work because this build keepsbaseUrl: '/', does not emit conflicting subdirectories, and links to those sites with absolute URLs.What changed
docusaurus.config.js,package.json,package-lock.json,scripts/copy-feed.js(preserves/feed.xml).blog/, with explicitslugfront matter that matches the existing Jekyll permalinks.blog/authors.ymldefines the single author.assets/img/**mirrored 1:1 intostatic/assets/img/**(44 files). Local image references usepathname:///assets/...; front matterimageuses absolutehttps://day3bits.com/...URLs.static/CNAME(day3bits.com) andstatic/.nojekyllso GitHub Pages keeps the custom domain and skips Jekyll processing.G-WSWT0E3F1K), RSS + Atom feeds, sitemap, tags, Mermaid (@docusaurus/theme-mermaid), PowerShell + bash Prism highlighting._config.ymlviacustomFields.giscus+src/components/GiscusComments.js(BrowserOnly), wired in by a minimalsrc/theme/BlogPostItem/Footer/index.jsoverride that only renders on blog post pages.src/pages/aboutme.md(about page)..github/workflows/ci.yml(PR + branch builds withnpm audit) and.github/workflows/deploy-pages.yml(deploys only on push tomaster)._posts/,_drafts/,_includes/,_layouts/,_config.yml,Gemfile,Appraisals,beautiful-jekyll-theme.gemspec,staticman.yml,feed.xml,index.html,tags.html,404.html,aboutme.md, rootassets/, rootCNAME).upstreamremote was removed locally (onlyoriginremains).Validation performed
npm run buildsucceeds withonBrokenLinks: 'throw'. Required outputs present:index.html,tags/index.html,aboutme/index.html,404.html,feed.xml,sitemap.xml. NoTheCleaners/PSPreworkout/DLLPickledirectories emitted.npm audit --audit-level=moderatereports 0 vulnerabilities.layout,comments,cover-img,thumbnail-img,share-img) remain inblog/.{:target=...},{:.class}), no Liquid tags, nosamerde.github.ioabsolute URLs in posts.target="_blank"links carryrel="noopener noreferrer".vscode-languageserver-typesalong the Mermaid path; does not affect output.Notes for the reviewer
2026-01-26-...part-1 copy.mdwith a literal space andcopyin the name) was migrated as...part-1-copy.md. It looks like an accidental duplicate in the Jekyll source — please decide whether to keep it or drop both before merge.date:values (2026-01-26, 2026-03-18). Docusaurus shows them but typically excludes them from the listing/feed depending on settings; please confirm the desired behavior.masterso this PR cannot deploy until merged.Follow-ups deferred to separate work
themeConfig.algolia(appId, publicapiKey,indexName).master→main: coordinate as a repo maintenance task. After rename, update workflow triggers andeditUrl(currently/edit/master/) tomain./,/aboutme/,/tags/,/feed.xml,/sitemap.xml,/404.html, and the three sibling project sites.codacy_cli_analyzewas not run on edits.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com