hi Harish > Hugo supports live-reload. The docsy theme has dependencies on golang and a couple of nodeJS libraries (autoprefixer, postcss etc.,) and as such it will be simpler to use docker based workflows to avoid having to install any dependencies locally for development (ref: https://github.com/hvishwanath/kafka-site-md/blob/main/README.md#local-development-server ). We can set up CI pipelines to build and push production images serving the site with nginx.
Thank you for the explanation. Would you please consider including this information in the KIP? Documenting the new workflow for reviewing documentation would be very beneficial for future reference. In fact, we recently resolved a bug where the local site's behavior differed from the deployed version on Apache ... Best, Chia-Ping Harish Vishwanath <harish.shas...@gmail.com> 於 2025年3月10日 週一 下午12:51寫道: > Thank you Chia-Ping. > > Conversion is mostly automated ( https://github.com/hvishwanath/ak2md ) > and > as such the prototype > <https://kafka-site-md-711970345036.us-central1.run.app/> supports all > previous versions. However, not having to support all previous versions > will definitely be simpler. > > Hugo supports live-reload. The docsy theme has dependencies on golang and a > couple of nodeJS libraries (autoprefixer, postcss etc.,) and as such it > will be simpler to use docker based workflows to avoid having to install > any dependencies locally for development (ref: > > https://github.com/hvishwanath/kafka-site-md/blob/main/README.md#local-development-server > ). We can set up CI pipelines to build and push production images serving > the site with nginx. > > Regards, > Harish > > > On Sun, Mar 9, 2025 at 9:08 PM Chia-Ping Tsai <chia7...@gmail.com> wrote: > > > hi Harish > > > > I have to say, this KIP is one of the best ideas I've seen recently, and > I > > agree with Matthias that we don't need to translate any older versions. I > > truly hope this KIP can be included in 4.0. > > > > I have a quick question: what is the recommended procedure for testing > the > > site locally after migrating to Markdown? Previously, we used a container > > to host the site locally for previewing changes. Could you please provide > > guidance on the updated workflow? > > > > Best, > > Chia-Ping > > > > Harish Vishwanath <harish.shas...@gmail.com> 於 2025年3月10日 週一 上午11:53寫道: > > > > > Hello all > > > > > > Sorry for my delayed response. Thanks for your feedback and comments. > > > Please see below: > > > > > > > Do you plan to have a development version of the website online in > > > parallel to the old HTML version? > > > Yes. The current prototype which supports all versions until AK 3.9 is > > > running at https://kafka-site-md-711970345036.us-central1.run.app/, > the > > > prototype > > > < > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1133%3A+AK+Documentation+and+Website+in+Markdown#KIP1133:AKDocumentationandWebsiteinMarkdown-Prototype > > > > > > > section of the KIP has more details. We should be able to host this in > > ASF > > > infra. Further, as described in the KIP > > > > > > >I understand that locally with the markdown files and an markdown > > editor, > > > we see the rough structure of the docs (which is already an > improvement), > > > but we will not see the end product, because for that we again need a > web > > > server. > > > Hugo supports live reload making local development easier (ref: > > > https://github.com/hvishwanath/kafka-site-md/blob/main/Makefile#L25) > > > > > > > > > [MM1] Yes., I have ensured that all existing auto generated > > documentations > > > (html files under javadoc, generated folders) are available at the same > > > relative location as they are in the current website. You can see this > in > > > the prototype. > > > For example: > > > > > > > > > https://kafka.apache.org/39/javadoc/org/apache/kafka/clients/consumer/ConsumerConfig.html#main(java.lang.String%5B%5D) > > > is > > > available at > > > > > > > > > https://kafka-site-md-711970345036.us-central1.run.app/39/javadoc/org/apache/kafka/clients/consumer/ConsumerConfig.html#main(java.lang.String%5B%5D) > > > < > > > > > > https://kafka-site-md-711970345036.us-central1.run.app/39/javadoc/org/apache/kafka/clients/consumer/ConsumerConfig.html#main(java.lang.String%5B%5D) > > > > > > > Furthermore, for production, we can serve this with a full blown web > > server > > > such as nginx allowing us to set up any required redirects. > > > > > > [MM2] I recommend that we leave any auto generated documentation to > > > continue to be in HTML format. We can serve them as static assets (ref: > > > https://github.com/hvishwanath/kafka-site-md/tree/main/static) > > > > > > >I am also in favor of having easy access to `trunk / SNAPSHOT` version > > of > > > the docs if possible. > > > Yes, this is definitely possible. > > > > > > > > > Regards, > > > Harish > > > > > > > > > On Sat, Mar 1, 2025 at 3:01 PM Matthias J. Sax <mj...@apache.org> > wrote: > > > > > > > Hi, > > > > > > > > I am totally in favor to make this happen, and I was disappointed > each > > > > time in the past, when it was proposed but we did not do it. > > > > > > > > > > > > > > > > Given that it is a huge effort, I am wondering if it would be > > sufficient > > > > to just to this change for 4.0 release though, and not translate any > > > > older versions at all? > > > > > > > > > > > > For including the docs in the release, I am actually wondering what > the > > > > value is? Does anybody actually use these artifact? Of course, we > need > > > > to publish JavaDocs, but the content of the web page seems to have > very > > > > low value to the community? -- I did also check ASF guidelines about > it > > > > and the webpage [1] say: > > > > > > > > > This material may include documentation concerning the release > [...] > > > > > > > > So it is optional, but not required to publish docs artifacts from my > > > > understanding. I have no objections to keep publishing the web page > > > > docs, just saying, if the effort is too large and the value to low, > we > > > > could consider just dropping it. > > > > > > > > > > > > I am also in favor of having easy access to `trunk / SNAPSHOT` > version > > > > of the docs if possible. Some other ASF project do this already, for > > > > example Flink [2]. It's much easier to work with, and allows to spot > > > > issues during development. While it does not help on a PR directly, > it > > > > is still a good way to verify a PR after it was merged, so any errors > > > > can be detected and corrected more easily. > > > > > > > > > > > > Also agree to the other raised points about generated content and > > > > permalinks. For permalinks, if effort is reasonable, I would rather > try > > > > to redirect as many as possible. > > > > > > > > > > > > > > > > -Matthias > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > https://www.apache.org/legal/release-policy.html#distribute-other-artifacts > > > > [2] https://nightlies.apache.org/flink/flink-docs-master/ > > > > > > > > > > > > On 2/25/25 8:43 AM, David Arthur wrote: > > > > > MM1: I suspect Hugo has some way of doing url redirection, but at > the > > > > very > > > > > least we can add redirects in our htaccess file > > > > > https://github.com/apache/kafka-site/blob/asf-site/.htaccess > > > > > > > > > > Excluding the "front matter" (intro, quickstart, powered by, etc) I > > > think > > > > > the main links we need to worry about are the configuration docs > > pages. > > > > In > > > > > the demo, it looks like we are using the same anchors for specific > > > config > > > > > sections. > > > > > > > > > > E.g., > > > > > > > > > > > > > > > https://kafka-site-md-711970345036.us-central1.run.app/39/configuration/configuration/#topicconfigs_compression.gzip.level > > > > > is the same content as > > > > > > > > > > > > > > > https://kafka.apache.org/documentation/#topicconfigs_compression.zstd.level > > > > > > > > > > So maybe it shouldn't be too hard? > > > > > > > > > > Personally, I think the only links we should consider to be > > > "permalinks" > > > > > are the front matter and the documentation pages with the version > in > > > the > > > > > URL. The unversioned documentation pages (like > > > > > > > > > > > > > > > https://kafka.apache.org/documentation/#topicconfigs_compression.zstd.level > > > > ) > > > > > can change from release to release, so they are not expected to be > > > > > permanent. > > > > > > > > > > Do we have any data on inbound links to the site? Maybe from Google > > > > > Analytics or similar? > > > > > > > > > > -David A > > > > > > > > > > > > > > > > > > > > On Mon, Feb 24, 2025 at 10:17 AM Mickael Maison < > > > > mickael.mai...@gmail.com> > > > > > wrote: > > > > > > > > > >> Hi Harish, > > > > >> > > > > >> This is definitively something we want to do! > > > > >> > > > > >> MM1. One aspect to keep in mind in terms of compatibility is > whether > > > > >> existing links will still work. Thousands of online resources link > > to > > > > >> the Apache Kafka website. Is it possible to keep all links > working? > > > > >> > > > > >> MM2. A bunch of sections are generated. To do so we have a number > of > > > > >> classes in the public API (for example 0, 1) with toHtml() or > main() > > > > >> methods that output HTML. Should we update these to output > Markdown > > > > >> directly instead? > > > > >> > > > > >> Converting the website has been discussed several times, I'd > suggest > > > > >> checking at least > https://issues.apache.org/jira/browse/KAFKA-2967 > > to > > > > >> see what was previously said. > > > > >> > > > > >> 0: > > > > >> > > > > > > > > > > https://kafka.apache.org/39/javadoc/org/apache/kafka/common/config/ConfigDef.html#toHtml() > > > > >> 1: > > > > >> > > > > > > > > > > https://kafka.apache.org/39/javadoc/org/apache/kafka/clients/consumer/ConsumerConfig.html#main(java.lang.String%5B%5D) > > > > >> > > > > >> Thanks, > > > > >> Mickael > > > > >> > > > > >> On Mon, Feb 24, 2025 at 3:33 PM Bruno Cadonna <cado...@apache.org > > > > > > wrote: > > > > >>> > > > > >>> Hi Harish, > > > > >>> > > > > >>> Thanks for the KIP! Great initiative! > > > > >>> > > > > >>> Do you plan to have a development version of the website online > in > > > > >>> parallel to the old HTML version? > > > > >>> > > > > >>> I understand that locally with the markdown files and an markdown > > > > >>> editor, we see the rough structure of the docs (which is already > an > > > > >>> improvement), but we will not see the end product, because for > that > > > we > > > > >>> again need a web server. > > > > >>> > > > > >>> I assume that after you migrated all docs to markdown, we want to > > see > > > > >>> the complete website, review the content, and make some > > refinements. > > > > >>> > > > > >>> Best, > > > > >>> Bruno > > > > >>> > > > > >>> On 23.02.25 07:52, Harish Vishwanath wrote: > > > > >>>> Thank you David. Appreciate your feedback. My comments below: > > > > >>>> > > > > >>>> DA1) I think this is a very good suggestion. While building the > > > > >> prototype, > > > > >>>> I did spend additional effort for older versions of the doc > since > > > > >> there are > > > > >>>> fairly significant differences in the structure and format of > the > > > > >> documents > > > > >>>> as compared to 3.x versions. I have written the automation which > > can > > > > do > > > > >>>> this, but I do think hosting the older versions (<3.x) in its > > > current > > > > >>>> format and moving the rest to markdown will reduce the overall > > > > >>>> testing/validation effort. That said, if we foresee making > > > relatively > > > > >>>> frequent updates to older versions, it might be worth converting > > > > >> everything > > > > >>>> to markdown. > > > > >>>> > > > > >>>> DA2) My hunch is that this can be quite involved. Rendering a > > usable > > > > >> HTML > > > > >>>> version requires all the supporting artifacts (css, js, images, > > hugo > > > > >>>> shortcodes, partials etc.,) which will only be present in the > > > website > > > > >>>> documentation. Further, the hyper links themselves will not work > > > > >> without > > > > >>>> a webserver. To serve a directory structure based HTML, it will > > > > >> require us > > > > >>>> to have different templates for these docs where dependencies on > > the > > > > >>>> artifacts I mentioned above will need to be removed, links will > > need > > > > >> to be > > > > >>>> converted to use relative directory locations etc., > > > > >>>> > > > > >>>> DA3) This is definitely possible. Using tools such as `pandoc` > we > > > > >> should be > > > > >>>> able to render plain text versions of markdown files. For ex, > the > > > > below > > > > >>>> would create a plain text version of all docs for 39/ branch., > > which > > > > >> can be > > > > >>>> packaged with the binary distribution. > > > > >>>> > > > > >>>> find docs/ -name "*.md" -type f | while read -r file; do > > > > >>>> dir=$(dirname "$file") > > > > >>>> filename=$(basename "$file" .md) > > > > >>>> mkdir -p "39-ascii/$dir" > > > > >>>> pandoc -f markdown -t plain "$file" -o > > > > >> "39-ascii/$dir/$filename.txt" > > > > >>>> done > > > > >>>> > > > > >>>> DA4) Makes sense. I updated the wiki to reflect this. > > > > >>>> > > > > >>>> > > > > >>>> Regards, > > > > >>>> Harish > > > > >>>> > > > > >>>> > > > > >>>> On Fri, Feb 21, 2025 at 8:56 AM David Arthur <mum...@gmail.com> > > > > wrote: > > > > >>>> > > > > >>>>> Thanks for the KIP, Harish! > > > > >>>>> > > > > >>>>> I am +100 just on the title alone :) > > > > >>>>> > > > > >>>>> The motivations in the KIP are sound. All of these are very > real > > > > >> annoyances > > > > >>>>> when it comes to maintaining our docs. I suspect we have not > done > > > > >> anything > > > > >>>>> to improve them since the system we have worked well enough in > > the > > > > >> past. A > > > > >>>>> better way to say that is: it hasn't been bad enough to > motivate > > us > > > > to > > > > >>>>> change it. > > > > >>>>> > > > > >>>>> With efforts like this, there is always some question about > which > > > > >> tool or > > > > >>>>> method we should use. I like that your proposal includes these > > > > >> specifics as > > > > >>>>> well as a complete and functional demo. > > > > >>>>> > > > > >>>>> Few questions: > > > > >>>>> > > > > >>>>> DA1) Do we really need to convert all of our docs to the new > > thing? > > > > It > > > > >>>>> might be reasonable to draw a line somewhere (maybe 3.0?) and > > have > > > > >> docs > > > > >>>>> prior to that be hosted elsewhere (kafka.apache.org/old or > > > > >> something). > > > > >>>>> This > > > > >>>>> may or may not be more work than just converting everything. > > WDYT? > > > > >>>>> > > > > >>>>> DA2) For our packaged docs (those that go in the binaries we > > > > >> distribute), > > > > >>>>> do you think it's possible to render HTML that can be viewed > > > without > > > > a > > > > >>>>> webserver? Currently our packaged docs are kind of useless IMO. > > It > > > > >> would be > > > > >>>>> better if they could be viewed without any extra effort by an > > > > >> operator. > > > > >>>>> > > > > >>>>> DA3) As a possible alternative to DA2, could we render the > > markdown > > > > >> docs as > > > > >>>>> ascii text files? This is arguably better for operators since > > they > > > > >> don't > > > > >>>>> always have a GUI or web browser handy. > > > > >>>>> > > > > >>>>> DA4) Just a nitpick, could you reduce the "Sample directory > > layout" > > > > >> down to > > > > >>>>> one or two examples? It's difficult to see the versioned vs > > > > >> non-versioned > > > > >>>>> docs in the current block > > > > >>>>> > > > > >>>>> Thanks! > > > > >>>>> David A > > > > >>>>> > > > > >>>>> > > > > >>>>> On Sun, Feb 16, 2025 at 2:10 PM Harish Vishwanath < > > > > >>>>> harish.shas...@gmail.com> > > > > >>>>> wrote: > > > > >>>>> > > > > >>>>>> Hello, > > > > >>>>>> > > > > >>>>>> Following up from my previous email regarding moving AK > > > > >> documentation to > > > > >>>>>> markdown, I wrote KIP-1133 > > > > >>>>>> < > > > > >>>>>> > > > > >>>>> > > > > >> > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1133%3A+AK+Documentation+and+Website+in+Markdown > > > > >>>>>>> > > > > >>>>>> detailing > > > > >>>>>> the proposal and would like to start discussions. Please take > a > > > > look. > > > > >>>>>> > > > > >>>>>> Regards, > > > > >>>>>> Harish > > > > >>>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> -- > > > > >>>>> David Arthur > > > > >>>>> > > > > >>>> > > > > >>> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >