Sponsored by: The FreeBSD Foundation
Diff Detail
- Repository
- R9 FreeBSD doc repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 69722 Build 66605: arc lint + arc unit
Event Timeline
I think we have made a lot of progress on this, and the greatest points of controversy are resolved. To me, if this is acceptable to the major stake holders, I can merge this and we can continue iterating in the tree.
Turning over to the major stakeholders: releng, security, translation, and webmaster.
Hello group!
Is the community Wiki part of this new theme revision
I noticed this contrast between the community Wikipedia page and this new theme revision https://wiki.freebsd.org/
At the bottom of the page
{F141925374}
It's the same as it was - the exact lang files have been copied over, and @vladlen has been brilliant at keeping up with the changes. There are more improvements to come, which will be implemented post go-live (and they're improvements on what we had before).
You can see a staging version at https://freebsd.fortasse.cloud - please do take a look.
We would like to get this live before the end of the month, then once it is, continuously improve on things as more and more users experience it. The intention is this is *not* a 'done' site like the original, we intend to keep it alive and improving :)
Many thanks for your time folks!
Thank you for your great work! I always wanted to investigate but it's good to hear that there has been ongoing effort on this.
Just based on the look (not looking at the source code) so I can be in POV of newcomers to our website, there are a few things I would like to point out.
- In dark mode, the background is... too dark. Can we have the colour for the dark mode background of the documentation website?
- The header is thick. It's because in the freebsd logo on top-left, the beastie logo is too huge compared to "FreeBSD". I don't know if this is a image protected by the foundation, but we can always ask if we're allowed to modify it.
- On the front page, the FreeBSD logo is too huge. I would make it similar size to the font of "A Powerful, Open Source Operating System". Again, the beastie logo is too huge compared to "FreeBSD"
- The latest news to press column boxes are too crowded (font is too huge) on my laptop (responsive css issue). It would be better if they were 2 rows where the first row has 3 columns and the second row has 2 columns.
- Same for six sections under "Why FreeBSD?". Laptops need more space (padding, margin, etc).
- On /releases, the image on top stands out too much on non-light mode. I think removing it would be better.
- I'm not sure if this is a bug in hugo or in website code, but when I load /where, /release, and /releng, it loads the following look below then properly loads the theme (this happens in split second, but it's quite annoying).
Other than that, there are a few padding/margin/gap issues, but I don't know how to explain this. After this patch is merged, I can tweak css to find the best layout.
Thanks for the detailed feedback @minsoochoo0122_proton.me ! Yes, once we've pushed this live it'll be great to have community interaction to 'tune' the layout. This was, is, never intended to be a finished site. It's intended to be a _working_ site we can iterate on.
Many thanks @carlavilla. If you want to catch up with all the work Mr McBride and I did in the last six months, the working branch is here: https://github.com/phips/freebsd-doc/tree/new-website-paint. There is a live preview at https://freebsd.fortasse.cloud
Just out of curiosity – is this scheduled to go live before or after the release of FreeBSD 14.4 (10 March 2026)?
Mark, what happened with the old design? The main page is totally different.
And another question. Do you know the license of the images? I mean the logos. Can we use them without problems?
Hey @carlavilla — this is the design Mark McBride did, that over email you said we'd roll with. It's the same layout as was on your GH branch. Lots of things have been fixed though — like removing Netflix logo etc. And on that, logos: the only one in use that we sought permission for is the Bastille logo, which Chris Edwards has OK'd (I have an email with permission). bhyve and openzfs appear to have suitable licenses, although please do check for your own comfort. The 'networking' logo is a Font Awesome graphic. The documentation one we'd need to check with Mr McBride where it came from — if you'd like to replace it with something that you're happier with though, please do 😄
As @carlavilla said @wosch — also, dead easy to catch up. Before we push this live it will be rebased anyway (because it's mostly 'paint' it's relatively easy to do that).
As @carlavilla said @wosch — also, dead easy to catch up. Before we push this live it will be rebased anyway (because it's mostly 'paint' it's relatively easy to do that).
Brilliant! Thanks @carlavilla!
I’ve not noticed any PRs on the GitHub working branch @carlavilla - did you pull it where it was and you’re working with that? If there’s anything I can do to help, please just say. Appreciate you being on the task now too 😀
(Thanks for keeping your eye on progress too @ziaee 👍)
Hello @carlavilla — is your working branch somewhere I can pull/rebase please? I'd love to get this all in place, and live, sometime soon — my original goal was last Christmas 😆
The repository: https://github.com/sergio-carlavilla/freebsd-new-design
I need to improve the dark theme and also finish the other pages aside from home.html
Busy weeks at my work, I'll try to finish at least the main page today
Hi Sergio!
I did pull request with fixed home page, that can work with all translation now https://github.com/sergio-carlavilla/freebsd-new-design/pull/9
Shortly:
6 features moved to adoc files in content/lang/home.
Downloads sections moved to _partials
Longer description:
The current home.html page already made significant progress toward better i18n support by adding variables for translating text on the home page.
My patch proposes to make i18n even easier and more consistent with other pages on the site, where all content is stored in .adoc files, while formatting and styles remain in the theme.
Changes made:
- Feature sections moved to AsciiDoc files
I created the directories:
content/en/home
content/ru/home
content/zh-tw/home
Inside each, I created feature1.adoc through feature6.adoc for the six features on the home page. The full textual content has been moved into these .adoc files. The home.html template now only contains links to these files.
The content in these files is formatted naturally, the same way as the rest of the AsciiDoc content on the site.
The featureN.adoc files are explicitly listed in home.html to clearly define which files should be displayed on the home page. Additionally, each file includes a weight variable in its front matter to allow reordering of features.
- "Downloads" and "Upcoming releases" sections moved to _partials/
- Upcoming releases: I implemented i18n for this section. The correct link to schedule.adoc is now generated based on the language of the release documentation. The schedule URL is now available in English and Russian. The correct URL is automatically activated for non‑English languages based on variables defined in releases.adoc.
- Downloads: This section requires more work to achieve correct i18n. I plan to address it in a follow‑up step, provided this patch is accepted.
- Legacy versions
The current site excludes "Legacy versions" from the design. However, the name "Legacy" sounds misleading — these are actually currently supported versions. In my opinion, they should also be listed on the downloads section. This could be addressed in a future patch.
P.S. Important: This patch moves the page content into .adoc files, but the visual appearance of the page remains exactly the same as it is now.
Hello @vladlen!
I'd love to get this new home page more i18n friendly, and have that as an important 'todo' once we get it live. I was trying to minimise changes outside of the beastie theme directory with this large drop, to make it easier to rebase and to focus on.
Could we get the new site live, then brings this change in please? It would help with keeping things contained to the beastie theme for the initial drop.
As I've mentioned in other comments too, my _hope_ with these changes are that more people can get involved in making changes and keeping it up to date. It's very evident that Sergio has so much work on he struggles to keep up with the volunteer project — his input as things are is amazing, and I for one can't imagine how he juggles it all 😂
I did a rebase for my branch yesterday, and got this review up to date. Hopefully we'll drop this, live, soon and we can crack on with the next phases of improvement.
--Mark
Hello @vladlen!
I'd love to get this new home page more i18n friendly, and have that as an important 'todo' once we get it live. I was trying to minimise changes outside of the beastie theme directory with this large drop, to make it easier to rebase and to focus on.
Could we get the new site live, then brings this change in please? It would help with keeping things contained to the beastie theme for the initial drop.
As I've mentioned in other comments too, my _hope_ with these changes are that more people can get involved in making changes and keeping it up to date. It's very evident that Sergio has so much work on he struggles to keep up with the volunteer project — his input as things are is amazing, and I for one can't imagine how he juggles it all 😂
--Mark
Hi Mark,
I proposed changes to the code, that Sergio is modifying in his branch, He started i18n for home page (it would be good to make this step before launch new theme), and I proposed more simple solution, that works in general case for all languages and text formats - text is stored in adoc files, not in toml strings. It is simple,consistent and looks reliable. My patch has many files only because we have 6 features on the home page, but it is not complex.
I saw the PR to my repo. I'll take a look this weekend.
The main page is finished.
We need to finish the others: events, news, 404, etc
And for sure, we cannot make the commit without core@ and doceng@ approval
We're good to go Sergio. This has been going on a long time with many discussions 😊 @dch just signed off on it.
We cannot go with the code as is now. At least, not with the code we have in this review. I made a lot of changes in the code I have in my repo.
Today I am updating the bsdinstall chapter, later I'll continue with this.
And I saw that @dch give the approval, but please, wait a bit. Take a look to the home.html, do you think we can commit this?
And there's a lot of copy&pasted functions from the documentation portal.
Right now, we cannot commit the code as is. When is ready in my repo I'll create a new diff or I'll put here. But wait a bit.
Please do update this review Sergio, that would be most helpful. We have the whole history here then 👍
@carlavilla Can you try to get your changes merged so this can get committed soon? The 15.1 release cycle is about to get underway and I'm worried about this landing at a time when I'm doing a bunch of commits, especially since I stage them ahead of time and then push out when announcements are ready to go -- I don't want to have rebase problems show up at the wrong moment.
In my repo, I have the "main" page finished.
I'll try to have the rest today and send an email to core@ and doceng@
Looking peachy @carlavilla ! 👌 Could I push this version to the 'staging' server at https://freebsd.fortasse.cloud? It would be good for folks to view it there.
{F152245894}
Yes, I just uploaded all the chages I have to my repo.
Tell to us when you put the last changes in this website.
I want to ask some people here to take a look
I just looked at the staging site. My initial comment was: that's the next level of losing links to what is available on www.freebsd.org in information and this time we are avoiding the fact that monitors are WIDE and not 4:3 anymore for 1.5 decades. 70% of the landing page is white space and if you look at the generated page we are serving blank lines of HTML and little content in vertical scrolling. Please bring SGML back. *cry*
You need to update https://freebsd.fortasse.cloud/internal/about/ to which I have no idea to get to anymore if I wouldn't know /internal/ existed. Probably a fault of the previous (current) version already.
The sidebar on /security/ is unreadable with some items spanning 2-3 lines.
The footer uses more vertical space than content on some of the menu-accessible pages.
The 5 columns under the marketing which have information have become tiny unreadable here.
Firefox on a FreeBSD Laptop.
And about this "70% of the landing page is white space and if you look at the generated page we are serving blank lines of HTML", if I get it correctly, this is coz the generated code is not published minimized, @mark_freebsdfoundation.org, when you publish the code, can you publish the minimized version?
@carlavilla latest version is now up on https://freebsd.fortasse.cloud — please take a look at that @bz 👍 You may have to hard refresh the page to get all the components. It should look like the screen shot posted yesterday, i.e. with the yellow download buttons.
Regarding whitespace and screen widths. There has been lots of research into this, and long story short, it's all led by the way we humans read. For a more skilled and lengthy overview, this is worth a watch… https://youtu.be/Jf0cjocP8Wk
Lastly, @carlavilla there is the Hugo deprecation notice in your latest work. I fixed it in this Phab the other day, I'll do it against your repo and issue a PR later today 👍 The notice looks like this on build:
WARN deprecated: .Site.Data was deprecated in Hugo v0.156.0 and will be removed in a future release. Use hugo.Data instead. WARN deprecated: .Site.Sites and .Page.Sites was deprecated in Hugo v0.156.0 and will be removed in a future release. Use hugo.Sites instead.
I'm really happy to see this moving again! Let's get it deployed soon, so the world stops thinking we're a dying project. We're anything but 👏
Yes, about the warning I know, fernape@ fixed it but for some reason he reverted the change.
I just took a look and for some reason, some strings are not translated, don't know why, and the same for some icons.
Also, can you deploy the minified version?
It was failing to build in the CI for some reason. I could not reproduce it locally, where it worked.
I just took a look and for some reason, some strings are not translated, don't know why, and the same for some icons.
Also, can you deploy the minified version?
What's not minified @carlavilla? I did a make clean && make build && rsync public which AFAIK means Hugo builds minified CSS etc.
fetch -o- https://freebsd.fortasse.cloud/styles/main.min.css looks pretty minified to me. What am I missing? 🤔
@fernape do you know what version of Hugo is on the CI server?
According to https://ci.freebsd.org/job/FreeBSD-doc-main/4513/consoleFull it was gohugo: 0.154.5_3,1
view-source:https://freebsd.fortasse.cloud/
And for some reason some images are not there, and the same for some texts. Take a look to the footer
@carlavilla I've just noticed that website/data/releases.toml contains full URLs, which really, it shouldn't. Because it breaks testing on a different domain — the links will go back to the live site, not the test site. So things like all these data points should be relative URLs, without the server portion:
u-rel150-notes="https://www.FreeBSD.org/releases/15.0R/relnotes/" u-rel150-announce="https://www.FreeBSD.org/releases/15.0R/announce/" u-rel150-errata="https://www.FreeBSD.org/releases/15.0R/errata/" u-rel150-hardware="https://www.FreeBSD.org/releases/15.0R/hardware/" u-rel150-installation="https://www.FreeBSD.org/releases/15.0R/installation/" u-rel150-readme="https://www.FreeBSD.org/releases/15.0R/readme/" u-rel150-signatures="https://www.FreeBSD.org/releases/15.0R/signatures/"
I just put a PR on GH for the homepage hugo.Data fix.
A ha, that might be the problem. Can we update it to the latest version, or at least 0.156?
Oh yes, I see what you mean! Gruesome. That, I am thinking, is down to the way variables and Hugo code are used in templates. {{- -}} cuts spurious whitespace, {{ }} does not. If we're iterating over things in loops, there's a good chance Hugo is putting lots of whitespace in. Let me take a look at the template… 👀
EDIT OK, I'm sure this is the looping in the partials like _partials/news.html. All the variables are in {{ }} versus {{- -}} syntax. I'll need to take a good look at these …
Thanks for merging the PRs @carlavilla . The reason the staging server is "missing" some images is because the code is using full URLs, which we shouldn't be doing…
{F152372940}
I'll take a look and issue a PR 👍
This is the problem; everywhere this is used for images absLangURL ($.Site.BaseURL) we should use {{ "link/to/file" | relURL }}.
I fixed all this in this Phab a long time ago. It's a pity we're going over the same work again now, really. There are a lot of 'old' Hugo'isms that need modernising, which was a lot of what I had been doing on top of Mark McB's 'paint'.
Let me sort them out and issue PRs @carlavilla 😄
No apology necessary my good man! It's a complicated site and it's easy to miss 😊
Here you go, this should sort these few images… https://github.com/sergio-carlavilla/freebsd-new-design/pull/12
Hola @carlavilla — @grahamperrin pinged me some helpful proofreading bits late last night, which I've put into a PR to the repo this morning 👍
It would be fantastic to drop this (well, your repo on GH) sooner rather than later to help @cperciva out too. I am fine with 'good enough' that can be iterated on _once live_. "Perfect is the enemy of good", and when it comes to a website versus code, that mantra is ok to live with (it's not OK to live with in OS code, but let's not conflate the two things 😄 ). @vladlen has good ideas about improving i18n too, although I think the GH repo has a lot of that implemented now, which is great.
What I'd love to do is get the site live with the new version @carlavilla, get more people [from the community] interested in working on it (because it's modern!) and keep improving on things, versus letting it get stale.
I have a sub for Screaming Frog, so we can check freebsd.fortasse.org for stale/dead links and other 'code smells'. We should run it through the w3 validator, although tbf, both of these checks can happen after go live.
@fernape what are your thoughts on getting the newer (>= 0.156) hugo on CI servers, and checking the live server too?
Done. Thanks to both.
For me, one of the things we need to improve is the where page (downloads).
I think we can take the design from the design made by Mark
This night. I want to "send" the message to developers@ this Sunday.
Then wait for feedback, fix the problems and send it to announce@.
This is what I made the last time I was involved in a new design and it was so productive
