Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Investigate migrating site to Laika? #545

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

Closed
valencik opened this issue Feb 19, 2025 · 2 comments
Closed

Investigate migrating site to Laika? #545

valencik opened this issue Feb 19, 2025 · 2 comments

Comments

@valencik
Copy link
Member

Our current site was built with the help of 47 Degrees (now Xebia) and has served us well for the last couple of years.
However there remains some issues that I believe would be best solved by migrating to Laika.

Unfamiliar Tech Stack

The current site uses jekyll which, while popular overall, is not particularly familiar to the Scala ecosystem.
The majority of Typelevel projects now use sbt-typelevel and Laika to manage their builds and construct a documentation site.

Typelevel developers are used to the build tooling required to update a project's documentation, it's just sbt!
The current site requires a ruby installation, and while there is a nix flake to aid with that, I have still seen several people avoid building the website locally because of unfamiliarity with the setup.

Page Discoverability

The current site's main navigation feature is the top level nav bar.

Image

And then within one of those top level pages we can further split into sub sections on that same page:

Image

I believe this navigation structure is too limiting.
There hasn't always been an obvious place for new content to live.

Consider the Platforms page https://typelevel.org/platforms/ which largely repeats the content found in the Projects page.
This perhaps instead could have been a sub-section of "Projects". Or each platform could have been a sub-section of Projects.

Additionally there's the GSoC page https://typelevel.org/gsoc/. This currently isn't discoverable through the main navigation.

I think the left navigation panel, that Laika offers is a much easier way to display and discover the pages available to the user.

Image

What Next?

I am not asking for someone to go off and rebuild our site in sbt-typelevel and Laika just yet.
I think we need to discuss and think through the pro/cons.
What features does the current site have that might be hard to offer in a Laika site?
What other benefits would we get from migrating to a Laika site?

@valencik
Copy link
Member Author

Some possible challenges

Project page

The Projects page, https://typelevel.org/projects/, has the job of quickly listing over a hundred different projects.
We have to figure out the best way to translate this into Laika, we have some options.

This could be a giant markdown file, which would then make it very easy to add structure, as has been proposed before: #272
Or it could be something wild like an HTML page that Laika includes verbatim and is actually built via some scala + scalatags

RSS

The current site's blog section has an RSS feed: https://typelevel.org/blog/feed.rss
This isn't an out of the box feature of Laika.

@jducoeur
Copy link
Member

jducoeur commented Feb 19, 2025

I have a weird negative knee-jerk that Laika doesn't look like a community page, it looks like a documentation page. I think that's irrational pattern-matching in my head, so I don't think it's a serious argument -- just noting that reaction.

I certainly like the idea in practical terms -- I'm one of the people who has tried to get things working locally and failed a couple of times, washing up on the rocky shoals of Ruby. And I love it in principle: we should be using our own tools when appropriate. But I need to better familiarize myself with how Laika works.

Editing here to add more thoughts as I read into this (possibly naive, since I don't yet entirely understand the topic):

  • Maybe we should use HOCON for structure instead of Markdown for the Projects page? That feels more correct to me, if Laika provides the ability to interate a template over an input array. (Basically "mailmerge" it.)
  • At least in airy theory, RSS should just be another Renderer, right? So step one might be to add that feature to Laika, with our news feed as a motivating use case, and see how that works. That, in turn, would probably help us understand how well Laika fits with our requirements. (Since that's another "mailmerge" sort of use case.)
  • We would probably want to come up with a custom theme that matches our "branding".

@typelevel typelevel locked and limited conversation to collaborators Feb 19, 2025
@samspills samspills converted this issue into discussion #546 Feb 19, 2025

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants