Skip to content

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.

You can see the issue when the window is ~800px wide — the row of nav items takes up so much space that the Pulsar logo gets tiny. This commit allows items to flow to a second row earlier in order to avoid this.
@savetheclocktower
Copy link
Contributor

I needed to make a few adjustments that went beyond the scope of what I could suggest in a PR review, so I opened #310 against this PR.

savetheclocktower and others added 2 commits August 25, 2025 16:04
(no need to have them live at the root these days)
@confused-Techie
Copy link
Member Author

Now with #310 merged, we may truly be ready to go! Fingers crossed

Copy link
Contributor

@savetheclocktower savetheclocktower left a comment

Choose a reason for hiding this comment

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

Let's do it!

@confused-Techie
Copy link
Member Author

@savetheclocktower Lets do it! Super excited to finally migrate the site, lets see if it works just the way we plan it to!

Lets merge!

@confused-Techie confused-Techie merged commit ec6dc1e into main Aug 31, 2025
@confused-Techie confused-Techie deleted the 11ty-migration branch September 1, 2025 01:02
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.

4 participants