Hi Ramin, Thanks for the proposal! +1 to reorganizing the built-in function docs. The proposed layout looks much neater and cleaner.
One small concern is the search experience. With the current single-page layout, I can use the browser’s built-in search (Cmd+F) to quickly find the function I’m looking for. This would be less convenient once the content is split across multiple pages, as I find Hugo Book’s built-in search a bit harder to use. Would it make sense to include an overview page listing all built-in functions in alphabetical order, with links to their individual pages, similar to Spark SQL [1]? This would preserve a convenient way to browse and search the full list. Best regards, Xiqian [1] https://spark.apache.org/docs/latest/api/sql/index.html > Ramin Gharib <[email protected]> 於 2026年10月28日 晚上11:15 寫道: > > Hi Gustavo, > > Thanks for the +1 and the suggestions. > > 1. Good idea, I'll add it to the proposal. > > 2. Agreed, that's the plan. It also lets CI run the examples (optionally), > because a test can read them straight from the YAML. Building pages from > data needs Hugo's content adapters, which arrived in Hugo 0.126, and the > docs currently pin 0.124.1. So we either upgrade Hugo or let a small script > generate the pages. One open choice is one YAML file per function or one > per category. > > 3. I'd add them during the migration rather than hide the section. A rough > count finds an example in only about 91 of the 306 entries. Many functions > already have test cases in the function ITCases, so the examples can start > from those. Once the examples live in YAML, (optionally) CI can run them > against the implementation and require at least one per function, so the > gap doesn't come back. > > Cheers, > Ramin > > On Wed, Oct 28, 2026 at 3:31 PM Gustavo de Morais <[email protected]> > wrote: > >> Hi Ramin, >> >> Thanks for picking this up, +1. Having a nicer UX for docs has been a long >> standing wish and makes sense. Some suggestions and questions: >> >> 1. Also publish each function page as plain Markdown, plus an llms.txt that >> indexes them. Hugo supports extra output formats, so this should be cheap. >> 2. Keep the function data in YAML, with one field per section (syntax, >> arguments, returns, examples) instead of a free-form description. A single >> template then renders every page with the same sections, as HTML and >> Markdown. >> 3. We have built-in functions with no examples. Do you plan to add some >> examples for those as part of this or will the pages just hide the examples >> session? >> >> Kind regards, >> Gustavo >> >> On Wed, 28 Oct 2026 at 14:57, Ramin Gharib <[email protected]> wrote: >> >>> Hi all, >>> >>> I'd like to restructure the built-in functions page [1]. It lists 306 >>> functions and operators as table rows on a single page, each with a >>> free-form description. Arguments, return values, NULL behavior and errors >>> are hard to find. >>> >>> The proposal picks up FLINK-23804 [2]: >>> - Each function gets its own page with the same sections: syntax for SQL >>> and the Table API, arguments, returns, usage notes and examples. >>> - The sidebar groups the function pages by category, and each category >>> folds open and closed. >>> >>> The screenshots [3] show REGEXP_EXTRACT and the sidebar in the new >> layout, >>> built locally with the current docs theme. >>> >>> I'd move one category per PR. Moving the existing entries is mostly >>> mechanical, so I'd use AI assistance and fill in the AI disclosure in the >>> PR template. >>> >>> I would be interested in your feedback on this idea. >>> >>> Cheers, >>> Ramin >>> >>> [1] >>> >>> >> https://nightlies.apache.org/flink/flink-docs-release-2.4/docs/sql/functions/built-in-functions/ >>> [2] https://issues.apache.org/jira/browse/FLINK-23804 >>> [3] >>> https://drive.google.com/drive/folders/123rKBt0ESz5Wn5VSlCcQF3hxJuwtf3Q9 >>> >>
