Skip to content
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

Use Static Site Generation #171

Open
eXpl0it3r opened this issue Nov 2, 2023 · 0 comments
Open

Use Static Site Generation #171

eXpl0it3r opened this issue Nov 2, 2023 · 0 comments

Comments

@eXpl0it3r
Copy link
Member

eXpl0it3r commented Nov 2, 2023

The SFML tutorials (and other parts of the website) have been keep unchanged for a long time now. I see three factors that affected the contributions:

  • SFML has been relatively stable, so there's no need for a lot of changes
  • The website is built with some HTML and PHP intermixed, as such not easy to contribute to (especially if you want to preview it)
  • Having to provide both English and French versions might turn away people rather quickly

Using some form of Static Site Generation (SSG) which creates HTML from Markdown files, would lower the barrier to writing more content and also allow for prompting editing more directly, among a large selection of "modern" web features. However there are a few points that I see as important and wouldn't want to sacrifice for the sake of simplicity or "being modern".

Requirements

  1. Generate a static site from Markdown files
    • Markdown is the defacto standard for writing plain text content these days
    • Needs to support including/storing of images
    • Needs to support code rendering with syntax highlighting
  2. SFML 2 tutorials need to support English and French
    • There shouldn't be many changes and we already have them in both languages, would be a shame to waste that
  3. SFML 3 tutorials will be English-only
    • We don't have the French language expertise in the (active) SFML Team and it slows down every contribution
  4. "Corporate" Identity is important, there's room to change certain aspects, but I don't want a complete redesign
    • Just because the web/society/Silicon Valley/FAANG has decided on how "modern" should look like doesn't mean we have to give up our established identity. The web wasn't created to have every single website look equal.
  5. The static site should be self-hostable, if possibile not exclusively hostable via Node.js
    • Static Site hosts come and go, we want to build sites that last, to not be surprised by sudden pricing changes, rely on thrid-party availabilities, or send traffic to services we have no control over
    • See also my post on "Build With Boring Technologies"
  6. The site should remain navigable without JavaScript
    • JavaScript can be used to create amazing things, yet our static website doesn't do anything complex and as such, shouldn't require a JavaScript-based navigation

Optionals

  1. Preview PRs on something like GitHub Pages / Cloudflare Pages / Vercel / etc.
  2. Supporting content tabs, so we could potentially display C++ and C# code in the tutorials side by side
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant