Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/lucee/lucee-docs
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeloffner committed Jan 24, 2025
2 parents 1c37df9 + 203f97b commit 6f8592b
Show file tree
Hide file tree
Showing 210 changed files with 1,054 additions and 5,099 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ jobs:
with:
webroot: ${{ github.workspace }}
execute: /build-all.cfm
luceeVersion: 6.2.0.164-RC
# redis, chart, lucene, form. ajax, chart
extensions: 60772C12-F179-D555-8E2CD2B4F7428718;version=3.0.0.54-SNAPSHOT,D46B46A9-A0E3-44E1-D972A04AC3A8DC10,EFDEB172-F52E-4D84-9CD1A1F561B3DFC8,FAD67145-E3AE-30F8-1C11A6CCF544F0B7,6E2CB28F-98FB-4B51-B6BE6C64ADF35473,DF28D0A4-6748-44B9-A2FDC12E4E2E4D38
luceeVersion: 6.2.0.284-RC
# redis, chart, lucene, form. ajax, chart, argon2, websocket, ec2, json
extensions: 60772C12-F179-D555-8E2CD2B4F7428718;version=3.0.0.54-SNAPSHOT,D46B46A9-A0E3-44E1-D972A04AC3A8DC10,EFDEB172-F52E-4D84-9CD1A1F561B3DFC8,FAD67145-E3AE-30F8-1C11A6CCF544F0B7,6E2CB28F-98FB-4B51-B6BE6C64ADF35473,DF28D0A4-6748-44B9-A2FDC12E4E2E4D38,7891D723-8F78-45F5-B7E333A22F8467CA,07082C66-510A-4F0B-B5E63814E2FDF7BE,261114AC-7372-4CA8-BA7090895E01682D,A03F4335-BDEF-44DE-946FB16C47802F96
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
Expand Down
11 changes: 9 additions & 2 deletions api/data/DocTree.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -311,10 +311,17 @@ component accessors=true {
variables.tree.append(guide);
}
break;
/*
case "recipes":
var recipeTree = folder.getChildren();
for (var recipe in recipeTree){
if (recipe.getForceSortOrder() gt 0){
recipe.setSortOrder(recipe.getForceSortOrder());
} else {
recipe.setSortOrder(5 + NumberFormat(recipe.getSortOrder()/100,"0.00"));
}
variables.tree.append(recipe);
}
break;
*/
}
}
_sortChildren( variables.tree );
Expand Down
2 changes: 1 addition & 1 deletion api/data/PageCache.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ component accessors=true {
var timestamp = CreateDate(2000,1,1);//
for( var file in local.files){
file = _removeRootDirectoryFromFilePath(file);
if ( ListFirst( file, "/" ) eq "recipes") continue;
// if ( ListFirst( file, "/" ) eq "recipes") continue;
var row = QueryAddRow(local.q_files);
querySetCell(local.q_files, "name", ListLast(file, "/") , row);
querySetCell(local.q_files, "fullpath", file , row);
Expand Down
22 changes: 13 additions & 9 deletions api/data/PageReader.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,17 @@ component {
if (page.getPageType() eq "README"){
page.setPath( page.getPath() );
page.setPageType( "listing" );
page.setListingStyle( "flat" );
page.setVisible( true );
page.setReference( false );
page.setBody( "Recipes" );
page.setReference( true );
page.setBody( "Detailed Recipes showing you how to take advantage of the wide range of features in Lucee" );
page.setMenuTitle( "Recipes" );
page.setTitle( "Lucee Recipes" );
page.setDescription( "Lucee Recipes" );
page.setDescription( "Detailed Recipes showing you how to take advantage of the wide range of features in Lucee" );
page.setForceSortOrder( 5.5 );
page.setSortOrder( 4.5 );
page.setSlug("recipes");
page.setId("recipes");
} else {
page.setPath( page.getPath() & "/" & replace( page.getPageType(), ".md", "" ) );
page.setPageType( "page" );
Expand Down Expand Up @@ -149,7 +155,6 @@ component {
} else if ( len( trim( arguments.pageContent ) ) ){
parsed = _splitCommentStructAndBody( arguments.pageContent, arguments.filePath );
}

return parsed;
}

Expand Down Expand Up @@ -189,15 +194,14 @@ component {
var meta = mid( str, 5, endComment - 5 );
//systemOutput( "!!" & meta & "!!", true );
if ( !isJson( meta ) ){
throw "metadata is not json [#arguments.filePath#]";
throw (message="metadata is not json [#arguments.filePath#]", detail=meta);
}
var body = mid( str, endComment + 3 );
if ( len( trim( body ) ) eq 0 )
throw "empty content after metadata [#arguments.filePath#]";
return {
yaml = deserializeJson( meta )
, body = body
}
meta = deserializeJson( meta );
meta.body = body;
return meta;
}

private string function _convertToUnixLineEnding( required string content ){
Expand Down
2 changes: 1 addition & 1 deletion api/reference/ReferenceImporter.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ categories:
if ( size eq 0 ){
if ( len( trim( arguments.content ) ) gt 0 ){
request.logger( text="Updating existing zero length file: " & arguments.filePath );
exists = true;
exists = false;
break;
} else if ( !arguments.docsOnly ){
request.logger(text="Missing content from Lucee: " & arguments.filePath, type="warn");
Expand Down
8 changes: 7 additions & 1 deletion builders/html/Builder.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
}
Expand Down
3 changes: 1 addition & 2 deletions builders/html/templates/aToZIndex.cfm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
<cfoutput>
#getEditLink(path=local.pg.getSourceFile(), edit=args.edit)#
#_markdownToHtml( local.pg.getBody() )#

<cfif ArrayLen(local.pg.getChildren()) lt 50>
<cfif ArrayLen(local.pg.getChildren()) lt 50 or local.pg.getListingStyle() eq "flat">
<div class="tile-wrap">
<cfloop array="#local.pg.getChildren()#" index="local.i" item="local.child">
<span class="tile">
Expand Down
10 changes: 9 additions & 1 deletion docs/00.home/homepage.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,15 @@ Our documentation is an open source and community driven effort. It is also a co

To find out more about getting involved as a developer with Lucee, checkout our [Git Repo](https://github.com/lucee/Lucee/blob/6.0/CONTRIBUTING.md)

## Recipes

**New!** We have added a whole series of detailed [[Recipes]] showing you how to take advantage of the wide range of features in Lucee.

## Lucee 6.2

Lucee 6.2 is our upcoming next major release, including enhanced Java and Maven integration, with even better runtime performance.
Lucee 6.2 is our upcoming next major release, currently at the Release Candidate stage, including enhanced Java and Maven integration, Jakarta Servlet support and better runtime performance, up to 50% faster than Lucee 5.4.

[[breaking-changes-6-1-to-6-2]]

## Lucee 6.1

Expand All @@ -27,6 +33,8 @@ Lucee 6.1 is current stable release of Lucee.
Targeting better performance and reduced memory usage, Lucee 6.1 introduces full support for Java 17 and 21, as well as Java 11.
Java 8 is no longer officially supported.

[[breaking-changes-6-0-to-6-1]]

## Lucee 6.0

[Lucee 6](https://dev.lucee.org/tag/lucee-6) .
Expand Down
96 changes: 48 additions & 48 deletions docs/03.reference/01.functions/datetimeformat/_arguments/mask.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
Date time formatting mask (case sensitive):

- a,..,aaaa: AM/PM marker (see also "t" and "tt"; Example:AM)
- d: Day in month, no leading zero for single-digit days (Example:3)
- dd: Day in month, leading zero for single-digit days (Example:03)
- D: Day in year, no leading zero for single-digit days (Example:4)
- DD: Day in year, leading zero for single-digit days (Example:04)
- DDD: Day in year, 2 leading zero for single-digit days (Example:004)
- E,EE,EEE: Day of week as a three-letter abbreviation (Example:Tue)
- EEEE: Day of week as its full name (Example:Tuesday)
- F: Day of week in month, no leading zero for single-digit days (Example:4)
- FF: Day of week in month, leading zero for single-digit days (Example:04)
- G,GG: Era designator (Example:AD)
- h: Hour in am/pm (1-12), no leading zero for single-digit hours (Example:3)
- hh: Hour in am/pm (1-12), leading zero for single-digit hours (Example:03)
- H: Hour in day (0-23), no leading zero for single-digit hours (Example:14)
- HH: Hour in day (00-23), leading zero for single-digit hours (Example:14)
- k: Hour in day (1-24), no leading zero for single-digit hours (Example:15)
- kk: Hour in day (1-24), leading zero for single-digit hours (Example:15)
- K: Hour in am/pm (0-11), no leading zero for single-digit hours (Example:2)
- KK: Hour in am/pm (0-11), leading zero for single-digit hours (Example:02)
- l,L: milliseconds, with no leading zeros (Example:3)
- ll,LL: milliseconds, leading zero for single-digit days (Example:03)
- lll,LLL: milliseconds, 2 leading zero for single-digit days (Example:003)
- m,M: Month as digits, no leading zero for single-digit months (Example:6)
- mm,MM: Month as digits, leading zero for single-digit months (Example:06)
- mmm,MMM: Month as a three-letter abbreviation (Example:Jun)
- mmmm,MMMM: Month as its full name (Example:June)
- n,N: minutes in hour, no leading zero for single-digit minutes (Example:3)
- nn,NN: minutes in hour, leading zero for single-digit minutes (Example:03)
- s,S: seconds in minute, no leading zero for single-digit seconds (Example:3)
- ss,SS: seconds in minute, leading zero for single-digit seconds (Example:03)
- t,T: one-character time marker string (Example:P)
- tt,TT: multiple-character time marker string (Example:PM)
- w: Week in year, no leading zero for single-digit hours (Example:27)
- ww: Week in year, leading zero for single-digit hours (Example:27)
- W: Week in month, no leading zero for single-digit hours (Example:2)
- WW: Week in month, leading zero for single-digit hours (Example:02)
- y,yy,yyy: Year as last two digits, leading zero for single-digit (Example:09)
- yyyy: Year represented by four digits (Example:2009)
- z,zz,zzz: General time zone as a 3 to 4 letter abbreviation (Example:PST)
- zzzz: General time zone as its full name (Example:Pacific Standard Time)
- Z,..,ZZZZ: RFC 822 time zone (Example:-0800)
- `a,..,aaaa`: AM/PM marker (see also "t" and "tt"; Example:AM)
- `d`: Day in month, no leading zero for single-digit days (Example:3)
- `dd`: Day in month, leading zero for single-digit days (Example:03)
- `D`: Day in year, no leading zero for single-digit days (Example:4)
- `DD`: Day in year, leading zero for single-digit days (Example:04)
- `DDD`: Day in year, 2 leading zero for single-digit days (Example:004)
- `E,EE,EEE`: Day of week as a three-letter abbreviation (Example:Tue)
- `EEEE`: Day of week as its full name (Example:Tuesday)
- `F`: Day of week in month, no leading zero for single-digit days (Example:4)
- `FF`: Day of week in month, leading zero for single-digit days (Example:04)
- `G,GG`: Era designator (Example:AD)
- `h`: Hour in am/pm (1-12), no leading zero for single-digit hours (Example:3)
- `hh`: Hour in am/pm (1-12), leading zero for single-digit hours (Example:03)
- `H`: Hour in day (0-23), no leading zero for single-digit hours (Example:14)
- `HH`: Hour in day (00-23), leading zero for single-digit hours (Example:14)
- `k`: Hour in day (1-24), no leading zero for single-digit hours (Example:15)
- `kk`: Hour in day (1-24), leading zero for single-digit hours (Example:15)
- `K`: Hour in am/pm (0-11), no leading zero for single-digit hours (Example:2)
- `KK`: Hour in am/pm (0-11), leading zero for single-digit hours (Example:02)
- `l,L`: milliseconds, with no leading zeros (Example:3)
- `ll,LL`: milliseconds, leading zero for single-digit days (Example:03)
- `lll,LLL`: milliseconds, 2 leading zero for single-digit days (Example:003)
- `m,M`: Month as digits, no leading zero for single-digit months (Example:6)
- `mm,MM`: Month as digits, leading zero for single-digit months (Example:06)
- `mmm,MMM`: Month as a three-letter abbreviation (Example:Jun)
- `mmmm,MMMM`: Month as its full name (Example:June)
- `n,N`: minutes in hour, no leading zero for single-digit minutes (Example:3)
- `nn,NN`: minutes in hour, leading zero for single-digit minutes (Example:03)
- `s,S`: seconds in minute, no leading zero for single-digit seconds (Example:3)
- `ss,SS`: seconds in minute, leading zero for single-digit seconds (Example:03)
- `t,T`: one-character time marker string (Example:P)
- `tt,TT`: multiple-character time marker string (Example:PM)
- `w`: Week in year, no leading zero for single-digit hours (Example:27)
- `ww`: Week in year, leading zero for single-digit hours (Example:27)
- `W`: Week in month, no leading zero for single-digit hours (Example:2)
- `WW`: Week in month, leading zero for single-digit hours (Example:02)
- `y,yy,yyy`: Year as last two digits, leading zero for single-digit (Example:09)
- `yyyy`: Year represented by four digits (Example:2009)
- `z,zz,zzz`: General time zone as a 3 to 4 letter abbreviation (Example:PST)
- `zzzz`: General time zone as its full name (Example:Pacific Standard Time)
- `Z,..,ZZZZ`: RFC 822 time zone (Example:-0800)

The following masks can be used to format the full date and time and may not be combined with other masks:

- short: equivalent to "m/d/y h:nn tt"
- medium: equivalent to "mmm d, yyyy h:nn:ss tt"
- long: medium followed by three-letter time zone; i.e. "mmmm d, yyyy h:nn:ss tt zzz"
- full: equivalent to "dddd, mmmm d, yyyy h:nn:ss tt zz"
- ISO8601/ISO: equivalent to "yyyy-mm-dd'T'HH:nn:ssXXX"
- epoch: Total seconds of a given date (Example:1567517664) (added in Lucee 6.0.0.83)
- epochms: Total milliseconds of a given date (Example:1567517664000) (added in Lucee 6.0.0.83)
- `short`: equivalent to "m/d/y h:nn tt"
- `medium`: equivalent to "mmm d, yyyy h:nn:ss tt"
- `long`: medium followed by three-letter time zone; i.e. "mmmm d, yyyy h:nn:ss tt zzz"
- `full`: equivalent to "dddd, mmmm d, yyyy h:nn:ss tt zz"
- `ISO8601/ISO`: equivalent to "yyyy-mm-dd'T'HH:nn:ssXXX"
- `epoch`: Total seconds of a given date (Example:1567517664) (added in Lucee 6.0.0.83)
- `epochms`: Total milliseconds of a given date (Example:1567517664000) (added in Lucee 6.0.0.83)
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
Filter to be used to filter the results:
Specifies a filter to be used to filter the results:

* A string that uses "*" as a wildcard, for example, "*.cfm"
* a UDF (User defined Function) with signature `Boolean function(String path)`. The function is run for each file in turn; if the function returns `true`, then the file is will be added to the result; otherwise it will be omitted.
- A string that uses `*` as a wildcard, for example, `*.cfm`
- UDF (User Defined Function) using the following pattern: `boolean function(String path, String type, String ext)`. The function is run for every single file; if the function returns `true`, the file is included in the list; otherwise, it is omitted. `Type` is either `File` or `Directory`

`Type` and `Ext` arguments were added in Lucee 6.0
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
- name: returns an array of names of files and directories.
- path: returns an array of paths of files and directories. This is the default.
- query: returns a query.
Defines the return type of this function:

- `name`: returns an array of names of files and directories.
- `path`: returns an array of paths of files and directories. This is the default.
- `query`: returns a query object.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The absolute path of the directory to list the content from.

Alternatively, you can specify IP address as in the following example: DirectoryList(\"//12.3.123.123/c_drive/test\");.
This can be any type of supported [[virtual-file-system]]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Whether Lucee performs the action on sub-directories:
Specifies whether to include subdirectories in the listing.

If true, the contents of all sub-directories are also included.
If `true`, the content of all sub-directories is also included.
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Sorting is case sensitive.

To qualify a column, use one of the following values:

- asc: ascending (a to z) sort order.
- desc: descending (z to a) sort order.
- `asc`: ascending (a to z) sort order. Default
- `desc`: descending (z to a) sort order.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type of the result returned:

- file: includes only filenames
- dir: includes only directory names
- all: includes both filenames and directory names
- `file`: includes only filenames
- `dir`: includes only directory names
- `all`: includes both filenames and directory names
4 changes: 1 addition & 3 deletions docs/03.reference/01.functions/directorylist/_usageNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
For ACF compatibility, on Unix systems, the `mode` column is currently not populated

<https://luceeserver.atlassian.net/browse/LDEV-2118>
The Unix `mode` column was not populated prior to Lucee 6.1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Your AWS access key ID. Used for authentication with AWS services. This key must have appropriate permissions for EC2 describe instance operations.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
A struct of filters to apply to the instance description request. Each key in the struct is a filter name, and its value is an array of filter values.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The endpoint or the provider to connect to. If not set, Amazon AWS is used. This can be used to specify a different AWS region or a custom EC2-compatible endpoint.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
An array of instance IDs specifying the EC2 instances to describe. If not provided, information for all instances will be returned.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The AWS region hosting the EC2 endpoint. If not specified, the default region associated with the provided credentials is used.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Your AWS secret access key associated with the access key ID. This key is used in conjunction with the accessKeyId for authentication.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The timeout in milliseconds for the EC2 describe instances request. Defaults to 10000 milliseconds (10 seconds).
Empty file.
Empty file.
11 changes: 11 additions & 0 deletions docs/03.reference/01.functions/ec2describeinstances/function.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: EC2describeInstances
id: function-ec2describeinstances
categories:
- s3
- server
---

This function interfaces with the EC2 service to retrieve detailed information about specified EC2 instances.

It supports custom filtering, specific instance IDs, regional targeting, and legacy mode handling.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Variable to check
5 changes: 3 additions & 2 deletions docs/03.reference/01.functions/gethttprequestdata/function.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
title: GetHTTPRequestData
id: function-gethttprequestdata
related:
categories:
- function-gethttprequestheaders
- function-getpagecontext
---

Makes HTTP request headers and body available to CFML pages.
Useful for capturing SOAP request data, which can be delivered
in an HTTP header.
in an HTTP header.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
A string or a variable that contains one, with HTML to be parsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Total duration (in milliseconds) for which the function will collect thread data.

After this period, logging automatically stops.

Common durations:

- 1000-5000ms: Quick snapshots
- 10000ms: Standard analysis period
- 30000ms+: Extended analysis for complex operations
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
The time interval (in milliseconds) between stack trace captures. Lower values provide
more detailed analysis but generate larger log files and may impact performance.

Recommended ranges:

- 1-10ms: Very detailed analysis, higher overhead
- 10-100ms: Balanced detail and performance
- 100ms+: Lower detail, minimal performance impact
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Full file path where the log will be written. The file should have a `.jsonl` extension
for proper identification as a JSON Lines format file. The function will create the file
if it doesn't exist, or append to it if it does.

Example: `/var/log/lucee/thread_analysis.jsonl`
Empty file.
Empty file.
Loading

0 comments on commit 6f8592b

Please sign in to comment.