1
0
mirror of /repos/Prototyper.git synced 2025-12-30 06:31:32 +01:00
2013-04-24 12:25:51 +02:00
2013-04-23 13:33:19 +02:00
2013-04-16 20:30:54 +02:00
2013-04-16 20:30:54 +02:00
2013-04-24 12:25:51 +02:00
2013-04-22 16:10:07 +02:00
2013-04-22 16:10:07 +02:00
2013-04-22 16:10:07 +02:00
2013-04-22 16:10:07 +02:00
2013-04-24 12:25:51 +02:00

Getting started.

npm install

Change the mongo url to your mongodb

npm start

/index.html

Import content defined in index.html into db:

/importer/index.html

Dogfood viewing of index.html from db:

/page/app/main.index.html

Features:

  • Realtime, thru sharejs.
  • Run and develop at the same time.
  • Importing, driven by comment markers.
  • Serverside templating, driven by comment markers.

Examples:

all functionality is found index.html

Interface:

sharejs:

    // [type:collection:name]
    var main_documentId = 'json:app:main'
    sharejs.open( main_documentId, 'json', function (error, mainDoc) {

    // [type:collection:nameDoc.id:attribute]
    var attribute_documentId = 'text:app:'+mainDoc._id + ':index';
        sharejs.open( attribute_documentId, 'text', function (error, attributeDoc) {

        // see https://github.com/josephg/ShareJS/wiki
        }
    }

http.get:

Get an attribute and use apply the preview markers to its content.

/page/[collection]/[main].[attribute].html

Get raw attribute content

/content/[collection]/[name]/[attribute].(css|less|js|html)
/data/[collection]/[parent._id]/[attribute].(css|less|js|html)

Get raw document content

/content/[collection]/[name].json
/data/[collection]/[name._id].json

Import content:

/importer/[filename]

Comment markers:

Importer:

Content can be imported into the site using the /importer/[filename] interface.

Filename is taken from /public folder by default.

Importing text into attributes:

 import__[collection]_[name]_[attribute]_
 _end_import__[collection]_[name]_[attribute]

Importing json into documents:

 import__[collection]_[name]_json_
 _end_import__[collection]_[name]_json

moves content between marker into /collection/name/attribute

Importing content of a file into an attribute:

import_file__[filename]__into__[collection]_[name]_[attribute]

Importing content of a file as data into a document:

import_file__[filename]__into__[collection]_[name]_json

read filename into /collection/name/attribute and processes import marker inside it.

Previewer:

when content is requested thru the /page/collection/name/attribute.html interface the following markers are handled.

<!-- marker -->

replace:

[type]__[collection]_[name]_[attribute]

Where type is:

script ->

<script src="/content/collection/name/attribute.js"/>

style ->

<link href="/content/collection/name/attribute.css" media="all" rel="stylesheet" type="text/css">



markdown__[collection]_[nameX]_[attribute]

Parses /content/collection/name/attribute into HTML (assuming the attribute contains MD) and include.

template__[collectionX]_[nameX]_[attributeX]__context__[collectionY]_[nameY]

Push /content/collectionX/nameX/attributeX thru Handlebars.. context=collectionY/nameY/attributeY and include

remove_.*_end_remove

removes markers and everything in between.

not implemented yet:

[type]__[collection]_[name]
script   -> <script src="/content/collection/name.js"/>
contains all type='script' attributes concatenated based on 'order'
style    -> <link href="/content/collection/name.css" media="all" rel="stylesheet" type="text/css">
contains all type='style' attributes concatenated based on 'order'
Description
No description provided
Readme 404 KiB
Languages
JavaScript 48%
HTML 44.5%
Shell 5.4%
CSS 2.1%