On Thu, Sep 28, 2023, at 18:26, Matt Sicker wrote:
> AsciiDoc offers syntax for most of the things that Markdown requires 
> you to use raw HTML for. Also, the default output format for AsciiDoc 
> looks a lot nicer than Markdown, but that’s always customizable.

The output highly depends on the processor. 

AsciiDoc is feature-rich, but also not as widely adopted as Markdown. It is 
also more complex, due to the high number of features. 

I am using Markdown for everything that is lightweight, such as blogs, READMEs, 
or notes because of it's simplicity.
I am using AsciiDoc for technical documentation, books, and anything else that 
requires complex structuring.
(this is not rhetorical, I am actually writing my current book in AsciiDoc)

I don't think Markdown should be dismissed so easily. I would underestimate how 
quick people are to help contribute with Markdown formats compared to AsciiDoc.

For the landing page, I don't think we actually require AsciiDoc, but if this 
is the only blocker, we use the Jekyll plugin for AsciiDoc (provided by the 
AsciiDoc team)

Kind regards,
Christian

>
>> On Sep 28, 2023, at 10:35 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>> 
>> I don’t mind AsciiDoc but I have had a few things I couldn’t format with 
>> AsciiDoc. I am not really sure why AsciiDoc is preferred over Markdown. The 
>> only problem I have had with Markdown is that some tools don’t support some 
>> of the latest features.
>> 
>> Ralph
>> 
>>> On Sep 26, 2023, at 2:23 PM, Matt Sicker <m...@musigma.org> wrote:
>>> 
>>> Infra supports publishing any sort of site output as long as it’s published 
>>> via committing to either subversion or git. For git, this is via the normal 
>>> asf-site and asf-staging branches similar to ghpages branches on GitHub. 
>>> Since we can set up GitHub Actions to commit to those branches, we can 
>>> support any static site generator that can be invoked from an Action.
>>> 
>>> Given Volkan’s argument around JBake, I agree that it would be the easiest 
>>> thing to use. Site generators based on Python or Ruby tend to ossify around 
>>> a bunch of random dependencies thanks to the clusterfuck that is Python and 
>>> Ruby package management which is somehow only slightly less bad than the C 
>>> and C++ ecosystem.
>>> 
>>> Also agreed on AsciiDoc; Volkan’s reasoning here is exactly why I migrated 
>>> various documentation to AsciiDoc here in the past. When we first used 
>>> XDoc, this was an annoying mix of XML and XHTML where our files typically 
>>> didn’t even validate under the referenced XSDs. I had initially migrated 
>>> those files to Markdown, but I had to use HTML occasionally. AsciiDoc was 
>>> the first markup format that didn’t require these escape valves, and they 
>>> theoretically support template variables, too, so there’s no need to run 
>>> them through a preprocessor.
>>> —
>>> Matt Sicker
>>> 
>>>> On Sep 25, 2023, at 04:20, Volkan Yazıcı <vol...@yazi.ci> wrote:
>>>> 
>>>> Great initiative to revamp the Logging Services landing page! Go for it!
>>>> But don't change JBake and stick to AsciiDoc, please.
>>>> 
>>>> *Summary:*
>>>> 
>>>> 1. JBake is great, reproducible, and familiar
>>>> 2. "INFRA support" is not a valid argument
>>>> 3. Markdown is a dead end
>>>> 4. The future should ideally not be individual websites
>>>> 
>>>> *JBake is feature-wise on par with alternatives*
>>>> 
>>>> There are a plethora of static site generators; Jekyll, Pelican, Hugo,
>>>> JBake, etc. Almost every language ecosystem has its own take on it. But
>>>> they all boil down to a couple of basic conveniences:
>>>> 
>>>> - pick a typesetting format of your preference (AsciiDoc, Markdown, etc.)
>>>> - generate pages with a templating engine of your preference (Velocity,
>>>> FreeMarker, Handlebars, etc.)
>>>> - compile it to a bunch of static HTML files
>>>> 
>>>> Some even include batteries:
>>>> 
>>>> - built-in plugins (sitemap, tagging/labeling, search, etc.)
>>>> - preview (so you don't even need an HTTP server of yours)
>>>> - hot reload (so you don't need to compile it manually every time)
>>>> 
>>>> JBake excels in all these areas.
>>>> 
>>>>> docker run --rm -p 4000:4000 --mount type=bind,src=$PWD,dst=/root/build
>>>> --mount type=volume,dst=/root/build/node_modules -it
>>>> apache/privacy_apache_org serve --watch --incremental
>>>> 
>>>> Uh... That hurts. This is how you can achieve the same in JBake: `./mvnw
>>>> jbake:watch`.
>>>> 
>>>> *The unspoken killer feature: reproducibility*
>>>> 
>>>> I have been tinkering with static site generators for more than a decade –
>>>> I love them. I don't know of your experience, but anything beyond Java
>>>> sucks a big time when it comes to reproducibility. You cannot run a Ruby
>>>> application written 10 years ago on a modern operating system. Many Ruby
>>>> libraries depend on system libraries that either are not shipped with the
>>>> distro anymore or broke the ABI in the past. I need to use this
>>>> hand-crafted `Dockerfile`
>>>> <https://github.com/vy/vy.github.io/blob/source/Dockerfile> running on
>>>> Ubuntu `14.04` with a particular constellation of Ruby dependencies so that
>>>> I can install a version of `nanoc` that compiles my website. It is an
>>>> operational nightmare.
>>>> 
>>>> But let's talk about Java and JBake: `./mvnw jbake:watch`. This only
>>>> requires the host to have a decent OS, shell, and JDK. That is all. No
>>>> more, no less. Docker? Nah. Python? Nah. Some weird OS package? Nah. I can
>>>> confidently say this command will highly likely run without a single line
>>>> of change for several decades. Given its historical track record, I don't
>>>> think any other alternative can beat Java in this area and it is of
>>>> uttermost importance given how hard it is for the PMC to afford time on the
>>>> website.
>>>> 
>>>> *The argument of familiarity*
>>>> 
>>>> 90% of Logging Services committers are Java developers. That is where our
>>>> expertise lies in. If you throw at them a `pom.xml` and a bunch of AsciiDoc
>>>> files in `src/site/asciidoc`, without blinking an eye, they would correctly
>>>> guess what to do. Moving away from this safe zone to uncharted territories,
>>>> in particular, without factually justifying the rationale, will simply do
>>>> more harm than benefit, if there is any at all.
>>>> 
>>>> *The argument of "INFRA supports Jekyll and Pelican"*
>>>> 
>>>> What does that support exactly entail? You don't need to compile the site
>>>> and push changes to a particular branch that INFRA monitors to serve the
>>>> actual domain? It is a dozen lines of GitHub Actions workflow YAML. I
>>>> volunteer to do this.
>>>> 
>>>> ASF INFRA serves projects by providing infrastructural functions that
>>>> didn't exist... decades ago? Many of its offerings are superseded by far
>>>> better alternatives in platforms like GitHub, GitLab, etc.
>>>> 
>>>> *Markdown-vs-AsciiDoc*
>>>> 
>>>> If you look close (and long?) enough to a Markdown-based document
>>>> collection, you will notice HTML tags, everywhere. Wait a second? Why did
>>>> we decide to use Markdown in the first place? To avoid manually typing
>>>> HTML! Yup. The moment you want to do formatting that is slightly
>>>> sophisticated (putting a code block under a bullet, annotating source code,
>>>> admonitions, etc.) Markdown collapses. Hence, people reach out to sprinkle
>>>> HTML into their Markdown. This makes templating impossible in the long run,
>>>> since every single hand-written HTML will have its own style, formatting,
>>>> structure, etc. which totally defeats the purpose of using a unified markup
>>>> language. Hence, please use a markup language that would suffice the
>>>> formatting needs of a technical document. Given its rich feature set,
>>>> wealthy ecosystem, and large community, I doubt if there is an alternative
>>>> here besides AsciiDoc.
>>>> 
>>>> *The future of Logging Services websites*
>>>> 
>>>> In its current state, we have several projects erecting their own websites
>>>> by tooling of their preferences: Log4cxx uses Doxygen, Log4j Scala API uses
>>>> `asciidoc-maven-plugin`, Log4j 2 and Log4j Kotlin API uses
>>>> `maven-site-plugin`, etc. Such a diverse ecosystem requires significant
>>>> maintenance investment. Maintenance of not just the tooling, but also
>>>> styling. In my opinion, ideally, projects should simply provide a set of
>>>> global pages (about, support, etc.) in their `main` branch and
>>>> version-specific programmer-friendly-formatted (in AsciiDoc!) manuals
>>>> stored in branches next to the code they document, e.g., `2.x`, `3.x`, etc.
>>>> That should be the territory where committers deal with their websites.
>>>> Enabled GitHub Issues for the project? Edit `support.adoc` in the `main`
>>>> branch. Is there a typo in the "Getting Started" page? Edit
>>>> `getting-started.adoc` in `2.x` branch, and so on. The rest – converting
>>>> these into HTML pages, pushing this to a website, generating release notes,
>>>> adding a search bar, styling the page, syntax highlighting source code,
>>>> etc. – should be done by a separate "tool" located elsewhere. This will
>>>> enable the committers to stop worrying about the website and its
>>>> intricacies once and for all. As a bonus, Logging Services will have a one
>>>> uniform beautifully-dressed look to the outside world where they can
>>>> navigate with ease. The good news is, the tooling is there and it is called
>>>> Antora <https://antora.org/>. Somebody just needs to spearhead this effort
>>>> and put a handful of strongly-opinionated guys on the same page. 😅
>>>> 
>>>> *Saving the day*
>>>> 
>>>> Do you just want to save the day? Go ahead, JBake and AsciiDoc are a great
>>>> combo. People will appreciate it. It will certainly be an improvement. Do
>>>> you want to build the future? You should look beyond a single project and
>>>> its individual website.
>>>> 
>>>> 
>>>> On Fri, Sep 22, 2023 at 8:48 PM Christian Grobmeier <grobme...@apache.org>
>>>> wrote:
>>>> 
>>>>> Hello,
>>>>> 
>>>>> the current landing page:
>>>>> https://logging.apache.org/
>>>>> 
>>>>> is done with JBake. We have rather complicated instructions on how to
>>>>> re-generate the landing page:
>>>>> 
>>>>> https://cwiki.apache.org/confluence/display/LOGGING/Managing+the+Logging+Services+Web+Sites
>>>>> 
>>>>> The Infra team recommends Pelican or Jekyll to create these kinds of
>>>>> pages. I have in-depth knowledge of Jekyll and would like to propose
>>>>> migrating the current landing page to Jekyll.
>>>>> 
>>>>> The benefits:
>>>>> 
>>>>> - autodeploy of our changes
>>>>> - great support of blogging (I'd like to create one)
>>>>> - easy handling and supported by Infra
>>>>> - writing content in Markdown
>>>>> 
>>>>> I am aware that we have a discussion open on how to do documentation in
>>>>> the future. I would still like to migrate the page asap and  - if deemed
>>>>> necessary - touch it again later.
>>>>> 
>>>>> So far, I will leave all design/content intact until migrated, and come
>>>>> back with additional changes (as the blog) after migration to be discussed
>>>>> separately.
>>>>> 
>>>>> If there are no objections, I will start with this move sometime next 
>>>>> week.
>>>>> 
>>>>> Thanks!
>>>>> Christian
>>>>> 
>>>>> --
>>>>> The Apache Software Foundation
>>>>> V.P., Data Privacy
>>>>> 
>>> 
>>

Reply via email to