All Projects → foundeo → Cfdocs

foundeo / Cfdocs

Licence: other
Repository for the cfdocs.org site.

Projects that are alternatives of or similar to Cfdocs

Openbd Administrator
The browser based administrator for the Open BlueDragon CFML engine.
Stars: ✭ 14 (-90.67%)
Mutual labels:  coldfusion
Stripe Cfml
stripe-cfml is a CFML (Lucee and ColdFusion) library for interacting with the Stripe API.
Stars: ✭ 51 (-66%)
Mutual labels:  coldfusion
Cfstatic
CfStatic is a framework for managing the inclusion and packaging of CSS and JavaScript in CFML applications.
Stars: ✭ 102 (-32%)
Mutual labels:  coldfusion
Varscoper
varScoper is a code scanning tool that can be used to identify variables that are not explicitly scoped to be local or global to a ColdFusion function.
Stars: ✭ 30 (-80%)
Mutual labels:  coldfusion
Colddoc
ColdDoc is a tool that has been built to generate documentation based on ColdFusion Component Meta Data.
Stars: ✭ 44 (-70.67%)
Mutual labels:  coldfusion
Cfselenium
A native Selenium WebDriver binding for ColdFusion
Stars: ✭ 77 (-48.67%)
Mutual labels:  coldfusion
Toscript
Converts Tag based CFML to CFML Script
Stars: ✭ 12 (-92%)
Mutual labels:  coldfusion
Slatwall
Slatwall - An Open Source Commerce Platform
Stars: ✭ 136 (-9.33%)
Mutual labels:  coldfusion
Validatethis
An object oriented validation framework for ColdFusion objects
Stars: ✭ 45 (-70%)
Mutual labels:  coldfusion
Mach Ii Framework
Mach-II is a web-application framework focused on easing software development and maintenance.
Stars: ✭ 93 (-38%)
Mutual labels:  coldfusion
Poiutility.cfc
A ColdFusion component (and set of custom tags) for reading and writing XLS (Excel) documents in ColdFusion.
Stars: ✭ 36 (-76%)
Mutual labels:  coldfusion
Fusebox Coldfusion
Fusebox is a free, easy to use framework for web development that organizes your code for fewer development bugs and faster maintenance. It has a low runtime overhead. It is mainly targeted to ColdFusion but also has versions for PHP and ASP.
Stars: ✭ 41 (-72.67%)
Mutual labels:  coldfusion
Facebook Cf Sdk
Facebook CFML SDK for ColdFusion and Railo
Stars: ✭ 83 (-44.67%)
Mutual labels:  coldfusion
Cfbackport
Back porting features contained in newer versions of ColdFusion.
Stars: ✭ 27 (-82%)
Mutual labels:  coldfusion
Di1
DI/1 - Inject One - is a very lightweight, convention over configuration, dependency injection (inversion of control) framework for ColdFusion / CFML.
Stars: ✭ 109 (-27.33%)
Mutual labels:  coldfusion
Tinytest
A tiny unit testing framework built as a means to learn more about unit testing in ColdFusion.
Stars: ✭ 13 (-91.33%)
Mutual labels:  coldfusion
Xindi
Xindi is a lightweight CFML content management system ideally suited to smaller websites.
Stars: ✭ 70 (-53.33%)
Mutual labels:  coldfusion
Razuna
This is the source code for the famous open source digital asset management - Razuna
Stars: ✭ 144 (-4%)
Mutual labels:  coldfusion
Hoth
Exception tracking for ColdFusion.
Stars: ✭ 126 (-16%)
Mutual labels:  coldfusion
Mxunit
MXUnit core framework
Stars: ✭ 89 (-40.67%)
Mutual labels:  coldfusion

CFDocs

CFDocs is a community maintained CFML reference tool available at cfdocs.org. It features:

  • Hosting on Amazon CloudFront CDN for fast responses around the globe. Sponsored by Foundeo Inc..
  • Easy to use urls like: cfdocs.org/hash just hit /tag-name or /function-name.
  • Publicly maintained on GitHub

Build Status

How reference data is structured

All of the tag and function documentation are defined in json files under data/en/functionname.json function example tag example.

This makes the documentation super easy to edit and allows developers to run a local version of the site "out of the box" since no database setup is required.

Running CFDocs locally for dev or pleasure

Running CFDocs Locally

The cfdocs.org site can run locally very easily thanks to CommandBox.

  1. Go download CommandBox if you do not have it already.
  2. Download this repository and extract it to a folder, or clone it from this repository. If you are going to be making changes to the docs I would suggest you fork it, see Adam Tuttle's guide: GitHub tip for your first pull request
  3. Run box server start from Command Prompt or Terminal in the root directory.

CommandBox will start an embedded CFML server on port 8411, and you can browse to http://localhost:8411/ to view the docs.

If you don't want to go the commandbox route you can simply download it and unzip it to a web root and try it out (requires CF10+ or Lucee 4.5+), but you will probably spend more time trying to get it working than the 1-2 minutes it will take to download and learn how to use commandbox.

How to contribute

If you are interested in helping you can just copy a tag or function and write up some documentation. The documentation doesn't need to be super wordy and should not be a copy of Adobe's documentation word for word.

CFDocs.org is meant to be a quick reference so keep it short and sweet. E.g. attribute names / function arguments and one two sentence descriptions.

The easy way to edit the docs

  1. Browse the data/en/ folder of this repository on github and find the tag or function you want to edit.
  2. Click the edit button (pencil)
  3. Commit / Send a pull request.

The better way to edit the docs

  1. fork the project to your GitHub account need help? read this: GitHub tip for your first pull request
  2. clone it locally
  3. make your changes
  4. test it locally using commandbox (see above)
  5. once you are done you can send a pull request, and I'll merge it into the main repository.

Not sure what you can contribute?

We need help expanding existing tag and function documentation. Look through the reference pages till you find one needing more definitions or examples. Also see:

JSON File Documentation

{
    "name":"NameOfTagOrFunction",
    "type":"function|tag",
    "syntax":"Tag(arg)|<cftag attr=1>",
    "member":"item.memberFunction([args])",
    "script":"cftag(attr=1);",
    "returns":"void",
    "related":[
        "tag",
        "function"
    ],
    "description":"A short description that describes what the tag or function does.",
    "discouraged":"Only add this key if this tag/function is discouraged by the community.",
    "params":[
        {"name":"funcArgNameOrTagAttributeName", "description":"What it does", "required":true, "default":"false", "type":"boolean", "values":[]}
    ],
    "engines":{
        "coldfusion":{"minimum_version":"10", "notes":"CF Specific Info Here", "docs":"http://learn.adobe.com/wiki/display/coldfusionen/function"},
        "railo":{"minimum_version":"4.1", "notes":"Railo Specific Here", "docs":"http://railodocs.org/index.cfm/function/sessionrotate"},
        "lucee":{"minimum_version":"4.5", "notes":"Lucee Specific Info Here", "docs":"https://docs.lucee.org/reference/functions/name.html"}
    },
    "links":[
        {
            "title":"Title of a blog entry that has good info about this.",
            "description":"Description of the link",
            "url":"http://www.example.com/a/b.cfm"
        }
    ],
    "examples":[
        {
            "title":"Name of the code example",
            "description":"Description of the code example",
            "code":"<cf_examplecodehere>",
            "result":"The expected output of the code example",
            "runnable":true
        }
    ]
}
name

The name of the tag or function, use lowercase.

type

Either function or tag or listing a listing is how categories are made, they simply contain a name, description, and a list of related

syntax

The basic syntax of the tag or function

script

For tags, shows how the tag would be invoked from cfscript.

member

For functions, shows the available member function syntax.

returns

The returntype of a function.

related

An array of tag or function names that are related to this item.

description

A short description of the item.

discouraged

If this key exists and has content a warning is displayed stating that the tag or function is discouraged by the CFML community.

params

Array of structures containing information about the attributes of a tag, or arguments of a function.

engines

CFML engine implementation specific info goes here, for example if it was added in CF10 and Railo 4.1 you can add that in minimum_version if something was changed in CF11, you can add notes about what changed. The docs key should point to a url for vendor documentation.

links

Use this to link to blog entries or other useful related content.

examples

Show example code. It is very helpful to readers to use the result to show the expected result of the code sample when applicable. This has to be JSON, so you can to do \n for newline, double quotes must be escaped \". The runnable is a boolean that determines if the Run Code button shows up next to the example.

We have an example JSON utility that can be used to create the JSON by filling out a form.

Please see the cfdocs contributor guide for frequently asked questions.

IDE Integration

There are several CFML code editors that utilize the cfdocs repository to provide documentation within the editor.

Sublime Text

Install the CFML Package for Sublime Text 3: https://packagecontrol.io/packages/CFML the plugin will provide inline documentation when hovering the mouse over a tag or function, or when or typing code.

Visual Studio Code

Install the CFML Plugin from KamasamaK: https://marketplace.visualstudio.com/items?itemName=KamasamaK.vscode-cfml

VIM

Requires the vim-shell plugin:

function! CFDocsSearch()
   let wordUnderCursor = expand("<cword>")
   execute 'Open https://cfdocs.org/' . wordUnderCursor
endfunction

command! -nargs=0 CFdocs :call CFDocsSearch()

CFEclipse

Hit F1 when the cursor is on a tag or function to be taken to the cfdocs.org doc. http://cfeclipse.org/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].