Home
Work in progress, interface in subject to discussions.
Example repository is: github.com/digitarald/digitarald-more/
Manifest Components
Project: manifest.yml
Describes project-specific optional meta-data (e.g. authors, license, etc.) and resolves the nature (e.g. source, assets, docs etc.) of folders and files.
Example manifest.yml metadata:
Note: Quotes are optional and just added to show off best practices.
# Common metadata
description: 'Open Source JavaScript plugins from digitarald.de'
author: 'Harald Kirschner'
copyright: '2009, Harald Kirschner'
license:
name: 'MIT License'
url: 'http://www.opensource.org/licenses/mit-license.php'
homepage: 'http://digitarald.de'
# Nature
nature:
source: Source/*
assets: Assets/*
docs: README.md
compatibility: Compat.js
All nature fields have intelligent default values, filled after checking the existing files and folders. This way a manifest.yml needs no nature values at all if you have a well structured repository.
TODO: Show off default values.
Source Files: Inline YAML
Describes the meta-data and dependencies for a single source file.
Example:
/*=
description: Animates image background position for a smooth progress-bar effect.
require: ['Fx.Transitions', 'Element']
provide: 'Fx.ProgressBar/*'
*/
Fx.ProgressBar = new Class({ ...
Metadata Keys
Reduced, incomplete version of possible keys.
description
Short description of the project. allows markdown
author(s)
List of authors, can be a string or a hash with name, email and homepage.
require
Dependencies to other source files. Single string or array of strings.
provide
Dependencies to assets. Single string or array of strings.
Dependency paths
Paths are lax and can contain the wildcard *. The first matched element is returned. If a wildcard is used, more files are matched.
[[repository-owner/]repository-name:][path]file[.extension]
repository: Can be an official alias likecoreormore, ausername/repoto github or a local repository aliaspath: Can be the full or partial path to the filefile: File-name with optional extension
Example paths
Core– resolves to Core.jsCore/Core– resolves to Core.jsCore/*– resolves to all files in Corecore:Core– resolves to Core.jscore:Core/*– resolves to all files in Core
