Skip to content

Migrate site to new format #303

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open

Migrate site to new format #303

wants to merge 25 commits into from

Conversation

confused-Techie
Copy link
Member

@confused-Techie confused-Techie commented May 13, 2025

This PR migrates our existing homepage to 11ty just like we are doing on the documentation side and blog side.

This is just about the last thing we need to do before we are ready to launch our new web presence all at once.

This PR has a few big hurdles to get over that we haven't had to touch yet elsewhere:

  • [X]: Redirects to preserve links
  • [X]: Home Page Design
  • [X]: Automatic updates of download links

If you have any ideas (especially on the home page) I'm more than happy to hear them and see where we might want to go with things.


With the amount of change happening, it might be a good idea to flesh out exactly what will stay here for those slightly more unfamiliar.

Below is a layout of the web resources we currently have (that are related to this project) and where they will end up:

  • pulsar-edit.dev/ => pulsar-edit.dev | Homepage: Covered in this PR.
  • pulsar-edit.dev/download.html => pulsar-edit.dev/download/ | Download Page: Covered in this PR.
  • pulsar-edit.dev/about.html => pulsar-edit.dev/about/ | About Page: Covered in this PR.
  • pulsar-edit.dev/community.html => pulsar-edit.dev/community/ | Community Spaces: Covered in this PR.
  • pulsar-edit.dev/donate.html => pulsar-edit.dev/donate/ | Donate Page: Covered in this PR.
  • pulsar-edit.dev/blog => blog.pulsar-edit.dev | Blog: Migrated to repository pulsar-edit/blog
  • pulsar-edit.dev/docs => docs.pulsar-edit.dev | Documentation: Migrated to repository pulsar-edit/documentation

So in short, that only leaves this repository with the following resources:

  • Homepage
  • Download Page
  • About Page
  • Community Spaces
  • Donate Page

With the only one of these that would see regular updates is the download page. Otherwise it's very possible these resources may be relatively static.

My biggest concern is we in the past had a contributor come along and redesign the homepage to something that while really cool, has significant performance issues on lower end PCs. Obviously it'd be best to find a new homepage design that works well everywhere, fits our current new theming, and possibly more importantly is something everyone on the team is happy with being representative of a users first experience of Pulsar.

savetheclocktower and others added 7 commits July 1, 2025 17:35
* Add icons for each of the navigation items
* Link to the package repo
* Include a GitHub repo link

Also tweaked page footer breakpoint behavior.
…otherwise other headings get misclassified.
@confused-Techie confused-Techie marked this pull request as ready for review August 18, 2025 01:18
@confused-Techie
Copy link
Member Author

@savetheclocktower I believe this is now ready for a proper review if we are ready to merge it in.

@savetheclocktower
Copy link
Contributor

@savetheclocktower I believe this is now ready for a proper review if we are ready to merge it in.

It needs some merge conflicts fixed, but otherwise I'm happy to take a look.

This is a scary PR, though. I want to make sure I understand what happens when we click the green button on this one.

  • Are all of the redirects present? Like the ones on individual blog posts? If not, I'm happy to do the grunt work on that if it means that we don't break existing links. But I might need you to show me where to make a change like that.
  • Now that we have three separate repos, how do we coordinate this migration? Seems like blog.pulsar-edit.dev should be published first so that we can ensure it's working, right?
  • Did we ever figure out automatic (or even manual) generation of new API docs when we do a release? If you can point me in the right direction on that, I can maybe make a runbook in case I forget how that stuff works (or in case someone new comes aboard and nobody remembers how it's done).

@confused-Techie
Copy link
Member Author

@savetheclocktower
Fantastic questions, you're right that I still have some redirects to do, I only did a couple as a proof of concept, so I'll check those out first.

Luckily, the redirects are super easy, just make a file with the following content:

---
permalink: <old_url>
to: <new_url>
layout: redirect
---

And I've been placing them in the logical directory structure inside ./docs/redirects.

And you're absolutely right that we should publish blog first, then merge this PR which will trigger it here. Then everything will have officially gone live.

As for updates, each repo handles it in essentially the same way. Which is the exact same way updates are handled in pulsar-chocolatey. Just make a PR with the title being the new version, and assign the appropriate label to it. Which the label does depend on the repo I believe. That will then kick off automation that creates a PR with the changes needed. I tried to make it as seamless as possible for each repo.
And even better, the automation I was working on somewhere for our releases is able to make issues, so we can just tell that to make PRs for these other repos and we are golden.

One other thing we do need to do is generate docs for all the previous versions of the pulsar API. Which if you'd like to handle that'd be awesome, otherwise I'll try to get to that as well, but that's much lower priority and can always been done later, even after the official launch.

@confused-Techie
Copy link
Member Author

@savetheclocktower
So I've gone ahead and added all the last redirects.

With these some notes:

Some pages no longer exist in any form. For those I've opted to redirect to the next best thing or the website homepage.
In those cases I've added two new fields to the yaml frontmatter of the redirect. These being comment explaining the status of the document, and source_link which links to this repo at the current permalink, ensuring the content will forever be accessible somehow, and is something we can always revisit easily.

As for the blog, I automated those redirects being created, and for posterity:

I used the following API call to get the entire directory of content for our current blog posts https://api.github.com/repositories/513329249/contents/docs/blog.
Then used the following script to create the redirect files, after reading the saved output of the API call to ./posts.json.

const fs = require("node:fs");

const posts = require("./posts.json");

for (const post of posts) {
  const name = post.name.replace(".md", ""); // Just the post name, no extension or path

  const file =
`---
permalink: /blog/${name}.html
to: https://blog.pulsar-edit.dev/posts/${name}/
layout: redirect
---`;

  fs.writeFileSync(`./docs/redirects/blog/${name}.md`, file, { encoding: "utf-8" });
}

But from here this end should be good to go, besides the conflicts.

One more thing to consider, we now have some missing blog post entries on the new blog which we will want to add in.

@savetheclocktower
Copy link
Contributor

savetheclocktower commented Aug 19, 2025

@confused-Techie, thanks so much for these changes. This still needs conflict resolution before it can be merged, though. (Maybe it's an easy merge and I can't tell because I don't have merge rights on this repo.)

Meanwhile, I'll see about creating the missing blog posts.

@savetheclocktower
Copy link
Contributor

OK, blog#4 has the new blog posts.

@confused-Techie
Copy link
Member Author

confused-Techie commented Aug 19, 2025

@savetheclocktower Merged your PR over in the blog repo, and resolved the conflicts on my end.
If I get the chance tonight I may take a look at launching the blog, but more than likely it'll have to happen another day, I'll edit here otherwise though.

Otherwise hopefully this PR is looking a bit better


EDIT:

pulsar-edit/blog#5 Addresses the site deploying itself, otherwise I've already made the necessary DNS changes.
So once that PR is merged the blog site should become live.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants