From 4e18c2860547f37e06084b735c78e58e0c0354af Mon Sep 17 00:00:00 2001 From: Zac Spitzer Date: Fri, 17 Jan 2025 14:29:59 +0100 Subject: [PATCH] cross reference recipes --- builders/html/Builder.cfc | 8 +- .../04.cookbooks/40.System_output/page.md | 77 ------------------- .../02.extension-websocket/page.md | 4 +- docs/recipes/breaking-changes-6-1.md | 7 +- docs/recipes/convert-a-cfml-func-to-java.md | 6 ++ docs/recipes/event-gateway-in-app-cfc.md | 3 +- docs/recipes/function-systemoutput.md | 17 +++- docs/recipes/http-logging.md | 3 + docs/recipes/import.md | 8 ++ docs/recipes/inline-components.md | 17 +++- docs/recipes/java-explicit-casting.md | 4 + .../recipes/java-in-functions-and-closures.md | 5 +- docs/recipes/java-libraries.md | 5 +- docs/recipes/java-settings.md | 5 +- docs/recipes/lazy-queries.md | 3 + docs/recipes/loop-through-files.md | 3 + docs/recipes/mail-how-to-send-a-mail.md | 4 + docs/recipes/mail-listener.md | 6 ++ docs/recipes/maven.md | 23 +++++- docs/recipes/monitoring-debugging.md | 5 ++ .../monitoring-enable-for-your-session.md | 3 +- docs/recipes/new-operator.md | 8 ++ docs/recipes/null-support.md | 6 +- .../overwrite-build-in-functions-tags.md | 6 +- docs/recipes/precompiled-code.md | 3 + docs/recipes/request-timeout.md | 8 ++ docs/recipes/script-templates.md | 3 + docs/recipes/sub-components.md | 14 +++- docs/recipes/tag-syntax.md | 6 +- docs/recipes/timeout.md | 3 + docs/recipes/types-in-lucee.md | 8 +- docs/recipes/websocket-extension.md | 3 +- 32 files changed, 182 insertions(+), 102 deletions(-) delete mode 100644 docs/04.guides/04.cookbooks/40.System_output/page.md diff --git a/builders/html/Builder.cfc b/builders/html/Builder.cfc index 3fc77c739..46c8069da 100644 --- a/builders/html/Builder.cfc +++ b/builders/html/Builder.cfc @@ -225,7 +225,13 @@ component { FileWrite( arguments.buildDirectory & "/sitemap.xml", _renderSiteMap( arguments.docTree ) ); // google analytics for @zackster FileWrite( arguments.buildDirectory & "/google4973ccb67f78b874.html", "google-site-verification: google4973ccb67f78b874.html"); - FileWrite( arguments.buildDirectory & "/robots.txt", "User-agent: *#chr(10)#Disallow: /dictionaries/#chr(10)#Sitemap: https://docs.lucee.org/sitemap.xml"); + FileWrite( arguments.buildDirectory & "/robots.txt", [ + "User-agent: *", + "Disallow: /dictionaries/", + "Disallow: /editor.html", + "Sitemap: https://docs.lucee.org/sitemap.xml" + ].toList(chr(10)) + ); FileCopy( GetDirectoryFromPath( GetCurrentTemplatePath() ) & "/assets/trycf/index.html", arguments.buildDirectory & "/editor.html" ); } diff --git a/docs/04.guides/04.cookbooks/40.System_output/page.md b/docs/04.guides/04.cookbooks/40.System_output/page.md deleted file mode 100644 index 3acb491a8..000000000 --- a/docs/04.guides/04.cookbooks/40.System_output/page.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Function SystemOutput -id: systemoutput_function ---- -## Function Systemoutput ## - -This document explains the systemoutput function with some simple examples. - -#### Example 1 : #### - -```luceescript -// index.cfm - -directory action="list" directory=getDirectoryFromPath(getCurrentTemplatePath()) filter="example*.cfm" name="dir"; -loop query=dir { - echo('#dir.name#
'); -} -``` - -```luceescript - -// example1.cfm - -dump(cgi); // or writedump if you love to write more -echo(now()); // or writeoutput if you love to write more - -``` - -This example has a simple dump with CGI. It displays normally in the browser while we are running example1.cfm - -#### Example 2 : #### - -```luceescript - -// example2.cfm - -systemOutput(now(),true); // with new line - -``` - -systemOutput() creates output content in web the browser (console). Here the systemoutput has two arguments: first argument _now()_ for current date time and second argument _true_ for new line. Run this in the browser and see the content in the console. - -#### Example 3 : #### - -```luceescript -// example3.cfm - -systemOutput(now(),true,true); // send to error stream -``` - -This example uses three arguments: first argument ``now()`` for current date time, second argument ``true`` for new line, and third argument for stream). The stream argument indicates which stream the output should go. There are two streams to choose from: "Output stream" and "Error stream". A value of true in the third argument indicates the output should go to the error stream. Run this in the browser and see the contents with output stream in console. - -#### Example 4 : #### - -```luceescript -// example4.cfm - -systemOutput(cgi,true); // complex object -``` - -In addition to simple strings or simple values, you can also pass complex objects to the SystemOutput() function. In this example we pass CGI as the argument. When you run this in the browser, you get a serialized output in the console. - -#### Example 5 : #### - -```luceescript -// example5.cfm - -systemOutput("Here we are:",true); // complex object -``` - -SystemOutput() has another good feature too, There is ```` used to show helpful information (where it is, which template, on which line number) while we mouse over the dump content. Lucee will detect and show the stack-trace if we add ```` to the SystemOutput() function in our code. When we run this in the browser, we see the stack-trace in the console. - -### Footnotes ### - -Here you can see this details on video also - -[Function SystemOutput](https://www.youtube.com/watch?v=X_BQPFPD320) diff --git a/docs/04.guides/06.extensions/02.extension-websocket/page.md b/docs/04.guides/06.extensions/02.extension-websocket/page.md index ee2c213a7..f969eae95 100644 --- a/docs/04.guides/06.extensions/02.extension-websocket/page.md +++ b/docs/04.guides/06.extensions/02.extension-websocket/page.md @@ -3,9 +3,11 @@ title: Websocket gateway id: extensions-websocket-gateway categories: - ajax -- gateways - extensions +- gateways - protocols +description: 'This extension enables you to launch a server that is capable to manage + messaging from HTML WebSockets. ' --- ### WebSockets Gateway Extension ### diff --git a/docs/recipes/breaking-changes-6-1.md b/docs/recipes/breaking-changes-6-1.md index 92a3784e8..64a53e682 100644 --- a/docs/recipes/breaking-changes-6-1.md +++ b/docs/recipes/breaking-changes-6-1.md @@ -3,9 +3,12 @@ { "title": "Breaking Changes Between Lucee 6.0 and 6.1", "id": "breaking-changes-6-0-to-6-1", - "categories": ["breaking changes", "migration"], + "categories": ["breaking changes", "migration","compat"], "description": "A guide to breaking changes introduced in Lucee between version 6.0 and 6.1", - "keywords": ["breaking changes", "Lucee 6.0", "Lucee 6.1", "migration", "upgrade"] + "keywords": ["breaking changes", "Lucee 6.0", "Lucee 6.1", "migration", "upgrade"], + "related": [ + "logging-cfhttp-calls" + ] } --> diff --git a/docs/recipes/convert-a-cfml-func-to-java.md b/docs/recipes/convert-a-cfml-func-to-java.md index c3eda0c5c..99d0b0d9c 100644 --- a/docs/recipes/convert-a-cfml-func-to-java.md +++ b/docs/recipes/convert-a-cfml-func-to-java.md @@ -12,6 +12,12 @@ "Java", "lambda", "Lucee" + ], + "categories":[ + "java" + ], + "related": [ + "tag-component" ] } --> diff --git a/docs/recipes/event-gateway-in-app-cfc.md b/docs/recipes/event-gateway-in-app-cfc.md index e645534f6..3b265cd56 100644 --- a/docs/recipes/event-gateway-in-app-cfc.md +++ b/docs/recipes/event-gateway-in-app-cfc.md @@ -13,7 +13,8 @@ ], "categories": [ "application", - "event handling" + "event handling", + "gateways" ], "description": "An overview of event handling functions in Application.cfc for Lucee.", "images": { diff --git a/docs/recipes/function-systemoutput.md b/docs/recipes/function-systemoutput.md index 5113c1329..017e75806 100644 --- a/docs/recipes/function-systemoutput.md +++ b/docs/recipes/function-systemoutput.md @@ -1,7 +1,7 @@ # Function SystemOutput -This document explains the systemoutput function with some simple examples. +This document explains the systemOutput function with some simple examples. + +It's like dump() for your console, including support for complex types. + +For example, if you are using Docker, you can see this output in the console logs. ## Example 1: diff --git a/docs/recipes/http-logging.md b/docs/recipes/http-logging.md index b3cbe0e9b..07093f8c2 100644 --- a/docs/recipes/http-logging.md +++ b/docs/recipes/http-logging.md @@ -10,6 +10,9 @@ "Lucee", "log level", "http log" + ], + "related": [ + "tag-http" ] } --> diff --git a/docs/recipes/import.md b/docs/recipes/import.md index 8fc3c5f12..226f772c9 100644 --- a/docs/recipes/import.md +++ b/docs/recipes/import.md @@ -12,6 +12,14 @@ "java classes", "custom tags", "taglib" + ], + "categories": [ + "java" + ], + "related":[ + "function-createobject", + "tag-import", + "developing-with-lucee-server" ] } --> diff --git a/docs/recipes/inline-components.md b/docs/recipes/inline-components.md index 8ae66b366..a68f21099 100644 --- a/docs/recipes/inline-components.md +++ b/docs/recipes/inline-components.md @@ -1,6 +1,6 @@ -# Inline Component +# Inline Components -Since Lucee 6.0, Lucee allows you to create inline components. These are components you can create directly in your CFML code, with no need to create a .cfc file for it. This feature allows you to directly use them, similar to closures. +Since Lucee 6.0, Lucee allows you to create inline components. + +These are components you can create directly in your CFML code, with no need to create a `.cfc` file for it. + +This feature allows you to directly use them, similar to closures, enabling more dynamic programming approaches. This example shows how to create an inline component and then use it: diff --git a/docs/recipes/java-explicit-casting.md b/docs/recipes/java-explicit-casting.md index 8411ae2f8..276b414ef 100644 --- a/docs/recipes/java-explicit-casting.md +++ b/docs/recipes/java-explicit-casting.md @@ -12,6 +12,10 @@ "cast", "convert", "method" + ], + "related": [ + "function-javacast", + "tag-component" ] } --> diff --git a/docs/recipes/java-in-functions-and-closures.md b/docs/recipes/java-in-functions-and-closures.md index 60b377f51..1c3ce9698 100644 --- a/docs/recipes/java-in-functions-and-closures.md +++ b/docs/recipes/java-in-functions-and-closures.md @@ -11,7 +11,10 @@ "components", "lambda", "Lucee" - ] + ], + "categories": [ + "java" + ], } --> diff --git a/docs/recipes/java-libraries.md b/docs/recipes/java-libraries.md index 447c5f24c..8359d3bcf 100644 --- a/docs/recipes/java-libraries.md +++ b/docs/recipes/java-libraries.md @@ -11,7 +11,10 @@ "Lucee", "libraries", "new operator" - ] + ], + "categories": [ + "java" + ], } --> diff --git a/docs/recipes/java-settings.md b/docs/recipes/java-settings.md index 68c960d83..cfcc4fa40 100644 --- a/docs/recipes/java-settings.md +++ b/docs/recipes/java-settings.md @@ -9,7 +9,10 @@ "Application.cfc", "javasettings", "cfapplication" - ] + ], + "categories": [ + "java" + ], } --> diff --git a/docs/recipes/lazy-queries.md b/docs/recipes/lazy-queries.md index 3da3061de..02da29240 100644 --- a/docs/recipes/lazy-queries.md +++ b/docs/recipes/lazy-queries.md @@ -12,6 +12,9 @@ "Performance", "Memory Optimization", "Lucee" + ], + "related": [ + "tag-query" ] } --> diff --git a/docs/recipes/loop-through-files.md b/docs/recipes/loop-through-files.md index 8eff546ca..b3748e5cf 100644 --- a/docs/recipes/loop-through-files.md +++ b/docs/recipes/loop-through-files.md @@ -10,6 +10,9 @@ "fileReadBinary", "Memory optimization", "Lucee" + ], + "related": [ + "tag-loop" ] } --> diff --git a/docs/recipes/mail-how-to-send-a-mail.md b/docs/recipes/mail-how-to-send-a-mail.md index 5ff3a2f97..814041fd6 100644 --- a/docs/recipes/mail-how-to-send-a-mail.md +++ b/docs/recipes/mail-how-to-send-a-mail.md @@ -16,6 +16,10 @@ "Mail server", "Mail script", "Lucee" + ], + "categories": [ + "protocols", + "core" ] } --> diff --git a/docs/recipes/mail-listener.md b/docs/recipes/mail-listener.md index 5af034d91..d2ec049e2 100644 --- a/docs/recipes/mail-listener.md +++ b/docs/recipes/mail-listener.md @@ -9,6 +9,12 @@ "listener", "Application.cfc", "component" + ], + "related": [ + "tag-mail", + ], + "categories": [ + "protocols" ] } --> diff --git a/docs/recipes/maven.md b/docs/recipes/maven.md index 31e02c0c2..2cbc9a35d 100644 --- a/docs/recipes/maven.md +++ b/docs/recipes/maven.md @@ -1,14 +1,20 @@ @@ -57,6 +63,19 @@ In `.CFConfig.json`, you can define Maven dependencies that will be used globall The `version` attribute is optional. If not specified, Lucee will automatically fetch the latest version available for the specified Maven artifact. +In addition, we also support the more concise Gradle style format. + +```json +{ + "javasettings": { + "maven": [ + "org.graalvm.polyglot:polyglot:24.1.1" + , "org.graalvm.polyglot:python:24.1.1" + ] + } +} +``` + ## Application.cfc In your `Application.cfc`, you can override or extend the global Java settings by adding Maven dependencies specific to your application. diff --git a/docs/recipes/monitoring-debugging.md b/docs/recipes/monitoring-debugging.md index 08639fc60..dc615c027 100644 --- a/docs/recipes/monitoring-debugging.md +++ b/docs/recipes/monitoring-debugging.md @@ -13,6 +13,11 @@ "debug", "showdebugoutput", "cfapplication" + ], + "categories": [ + "monitoring", + "debugging", + "server" ] } --> diff --git a/docs/recipes/monitoring-enable-for-your-session.md b/docs/recipes/monitoring-enable-for-your-session.md index 473dbf3c7..489efffec 100644 --- a/docs/recipes/monitoring-enable-for-your-session.md +++ b/docs/recipes/monitoring-enable-for-your-session.md @@ -4,7 +4,8 @@ "id": "monitoring-enable-for-your-session", "since": "6.1", "categories": [ - "monitoring" + "monitoring", + "debugging" ], "description": "Shows you a way to enable Monitoring for your session", "keywords": [ diff --git a/docs/recipes/new-operator.md b/docs/recipes/new-operator.md index 2bc71019a..e2cb4e7e6 100644 --- a/docs/recipes/new-operator.md +++ b/docs/recipes/new-operator.md @@ -10,6 +10,14 @@ "class", "createObject", "component" + ], + "related": [ + "tag-component", + "function-createobject", + "developing-with-lucee-server" + ], + "categories": [ + "core" ] } --> diff --git a/docs/recipes/null-support.md b/docs/recipes/null-support.md index e8329f8db..8daae8149 100644 --- a/docs/recipes/null-support.md +++ b/docs/recipes/null-support.md @@ -4,7 +4,8 @@ "id": "null_support", "related": [ "function-isnull", - "function-nullvalue" + "function-nullvalue", + "developing-with-lucee-server" ], "description": "This document explains how to set null support in the Lucee server admin, assigning `null` value for a variable and how to use `null` and `nullvalue`.", "keywords": [ @@ -13,6 +14,9 @@ "NullValue function", "isNull function", "Lucee" + ], + "categories": [ + "core" ] } --> diff --git a/docs/recipes/overwrite-build-in-functions-tags.md b/docs/recipes/overwrite-build-in-functions-tags.md index 9aecc8370..cebe6c2d3 100644 --- a/docs/recipes/overwrite-build-in-functions-tags.md +++ b/docs/recipes/overwrite-build-in-functions-tags.md @@ -1,6 +1,6 @@ diff --git a/docs/recipes/precompiled-code.md b/docs/recipes/precompiled-code.md index 1dfb88b85..773cf9c6e 100644 --- a/docs/recipes/precompiled-code.md +++ b/docs/recipes/precompiled-code.md @@ -11,6 +11,9 @@ "CFML", "Class files", "Lucee" + ], + "categories":[ + "server" ] } --> diff --git a/docs/recipes/request-timeout.md b/docs/recipes/request-timeout.md index 19cd0eef2..575b5e670 100644 --- a/docs/recipes/request-timeout.md +++ b/docs/recipes/request-timeout.md @@ -13,6 +13,14 @@ "Application.cfc", "cfsetting", "Threshold" + ], + "categories": [ + "server" + ], + "related":[ + "tag-timeout", + "tag-setting", + "timeout" ] } --> diff --git a/docs/recipes/script-templates.md b/docs/recipes/script-templates.md index 65d0db24e..e753b8d30 100644 --- a/docs/recipes/script-templates.md +++ b/docs/recipes/script-templates.md @@ -9,6 +9,9 @@ "templates", "Lucee", "cfs" + ], + "related": [ + "tag-script" ] } --> diff --git a/docs/recipes/sub-components.md b/docs/recipes/sub-components.md index 5ef60a460..c239e7cf6 100644 --- a/docs/recipes/sub-components.md +++ b/docs/recipes/sub-components.md @@ -1,6 +1,6 @@ -# Sub Component +# Sub Components + +Since Lucee 6.0, Lucee allows you to create Sub Components. + +These are additional components created in a `.cfc` after the main component. -Since Lucee 6.0, Lucee allows you to create sub components. These are additional components created in a .cfc after the main component. +Before this was introduced, CFML was limited to requiring every component to be placed in a separate CFC file. After the main component, simply add as many additional components as you like with the attribute "name" like this: diff --git a/docs/recipes/tag-syntax.md b/docs/recipes/tag-syntax.md index e56b71ea0..3520eda4a 100644 --- a/docs/recipes/tag-syntax.md +++ b/docs/recipes/tag-syntax.md @@ -5,7 +5,8 @@ "id": "tag-syntax", "categories": [ "scopes", - "thread" + "thread", + "core" ], "description": "How to use tags in script", "keywords": [ @@ -16,6 +17,9 @@ "throw", "abort", "return" + ], + "related": [ + "developing-with-lucee-server" ] } --> diff --git a/docs/recipes/timeout.md b/docs/recipes/timeout.md index 84ff2c698..a48877c9f 100644 --- a/docs/recipes/timeout.md +++ b/docs/recipes/timeout.md @@ -10,6 +10,9 @@ "Lucee", "cftimeout", "error handling" + ], + "related": [ + "tag-timeout" ] } --> diff --git a/docs/recipes/types-in-lucee.md b/docs/recipes/types-in-lucee.md index 5ed27f9c5..61e163a86 100644 --- a/docs/recipes/types-in-lucee.md +++ b/docs/recipes/types-in-lucee.md @@ -1,6 +1,6 @@ diff --git a/docs/recipes/websocket-extension.md b/docs/recipes/websocket-extension.md index c806f6bbe..badf3880a 100644 --- a/docs/recipes/websocket-extension.md +++ b/docs/recipes/websocket-extension.md @@ -3,7 +3,8 @@ "title": "WebSocket Extension", "id": "extension-websocket", "categories": [ - "websocket" + "websocket", + "protocols" ], "description": "How to install, congigure and create WebSockets", "keywords": [