Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ecwyne committed Jul 15, 2014
0 parents commit 648effe
Show file tree
Hide file tree
Showing 862 changed files with 67,415 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.build*
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#Meteor-Polymer

Add the magic of web components and [Polymer](http://polymer-project.org) to [Meteor](http://meteor.com)!

##How to Install

As of now, Meteor-Polymer has not been added to [atmosphere](http://atmosphere.meteor.com)/[mrt](http://oortcloud.github.io/meteorite/)

To install:

1. Clone or download + unzip the project into the `/packages` subdirectory of your project.
2. Rename the folder from `meteor-polymer` to `polymer`
3. Copy the `elements` folder from the package into the `public` subdirectory of your project
4. Update `import.html` to include any web components you are using in your project
5. Use the web components in your project and watch the magic happen

```
/
+--.meteor
+--packages
+--polymer
+--package.js
+--import.js
+--platform.js
+--smart.json
+--public
+--elements
+--...
+--...
+--import.html (this must be updated for your project-specific needs)
```
16 changes: 16 additions & 0 deletions elements/context-free-parser/.bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "context-free-parser",
"private": true,
"dependencies": {},
"homepage": "https://github.com/Polymer/context-free-parser",
"version": "0.3.3",
"_release": "0.3.3",
"_resolution": {
"type": "version",
"tag": "0.3.3",
"commit": "ed5593b5fcaebfe2205b7980674d872156b516c4"
},
"_source": "git://github.com/Polymer/context-free-parser.git",
"_target": ">=0.3.0 <1.0.0",
"_originalSource": "Polymer/context-free-parser"
}
4 changes: 4 additions & 0 deletions elements/context-free-parser/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
context-free-parser
===================

See the [component landing page](http://polymer.github.io/context-free-parser) for more information.
5 changes: 5 additions & 0 deletions elements/context-free-parser/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "context-free-parser",
"private": true,
"dependencies": {}
}
40 changes: 40 additions & 0 deletions elements/context-free-parser/context-free-parser.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<script src="context-free-parser.js"></script>
<link rel="import" href="../core-ajax/core-ajax.html">

<!--
Scrapes source documentation data from input text or url.
@class context-free-parser
-->
<polymer-element name="context-free-parser" attributes="url text data">
<template>

<core-ajax url="{{url}}" response="{{text}}" auto></core-ajax>

</template>
<script>

Polymer('context-free-parser', {

text: null,

textChanged: function() {
if (this.text) {
var entities = ContextFreeParser.parse(this.text);
if (!entities || entities.length === 0) {
entities = [
{name: this.url.split('/').pop(), description: '**Undocumented**'}
];
}
this.data = { classes: entities };
}
},

dataChanged: function() {
this.fire('data-ready');
}

});

</script>
</polymer-element>
105 changes: 105 additions & 0 deletions elements/context-free-parser/context-free-parser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
(function(scope) {

var ContextFreeParser = {
parse: function(text) {
var top = {};
var entities = [];
var current = top;
var subCurrent = {};

var scriptDocCommentClause = '\\/\\*\\*([\\s\\S]*?)\\*\\/';
var htmlDocCommentClause = '<!--([\\s\\S]*?)-->';

// matches text between /** and */ inclusive and <!-- and --> inclusive
var docCommentRegex = new RegExp(scriptDocCommentClause + '|' + htmlDocCommentClause, 'g');

// acquire all script doc comments
var docComments = text.match(docCommentRegex) || [];

// each match represents a single block of doc comments
docComments.forEach(function(m) {
// unify line ends, remove all comment characters, split into individual lines
var lines = m.replace(/\r\n/g, '\n').replace(/^\s*\/\*\*|^\s*\*\/|^\s*\* ?|^\s*\<\!-\-|^s*\-\-\>/gm, '').split('\n');

// pragmas (@-rules) must occur on a line by themselves
var pragmas = [];
// filter lines whose first non-whitespace character is @ into the pragma list
// (and out of the `lines` array)
lines = lines.filter(function(l) {
var m = l.match(/\s*@([\w-]*) (.*)/);
if (!m) {
return true;
}
pragmas.push(m);
});

// collect all other text into a single block
var code = lines.join('\n');

// process pragmas
pragmas.forEach(function(m) {
var pragma = m[1], content = m[2];
switch (pragma) {

// currently all entities are either @class or @element
case 'class':
case 'element':
current = {
name: content,
description: code
};
entities.push(current);
break;

// an entity may have these describable sub-features
case 'attribute':
case 'property':
case 'method':
case 'event':
subCurrent = {
name: content,
description: code
};
var label = pragma == 'property' ? 'properties' : pragma + 's';
makePragma(current, label, subCurrent);
break;

// sub-feature pragmas
case 'default':
case 'type':
subCurrent[pragma] = content;
break;

// everything else
default:
current[pragma] = content;
break;
}
});

// utility function, yay hoisting
function makePragma(object, pragma, content) {
var p$ = object;
var p = p$[pragma];
if (!p) {
p$[pragma] = p = [];
}
p.push(content);
}

});

if (entities.length === 0) {
entities.push({name: 'Entity', description: '**Undocumented**'});
}
return entities;
}
};

if (typeof module !== 'undefined' && module.exports) {
module.exports = ContextFreeParser;
} else {
scope.ContextFreeParser = ContextFreeParser;
}

})(this);
25 changes: 25 additions & 0 deletions elements/context-free-parser/demo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>

<title>context-free-parser</title>

<script src="../platform/platform.js"></script>

<link rel="import" href="context-free-parser.html">

</head>

<body unresolved>

<context-free-parser url="../core-ajax/core-ajax.html"></context-free-parser>

<script>
addEventListener('data-ready', function(event) {
console.dir(event.target.data);
});
</script>

</body>

</html>
23 changes: 23 additions & 0 deletions elements/context-free-parser/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!doctype html>
<!--
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
The complete set of authors may be found at http://polymer.github.io/AUTHORS
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
-->
<html>
<head>

<script src="../platform/platform.js"></script>
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../core-component-page/core-component-page.html">

</head>
<body unresolved>

<core-component-page></core-component-page>

</body>
</html>
18 changes: 18 additions & 0 deletions elements/core-ajax/.bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "core-ajax",
"private": true,
"dependencies": {
"polymer": "Polymer/polymer#>=0.3.0 <1.0.0"
},
"homepage": "https://github.com/Polymer/core-ajax",
"version": "0.3.3",
"_release": "0.3.3",
"_resolution": {
"type": "version",
"tag": "0.3.3",
"commit": "b9cb6d8e2a5b91cbe752bdb89f5c58cadf92fad6"
},
"_source": "git://github.com/Polymer/core-ajax.git",
"_target": ">=0.3.0 <1.0.0",
"_originalSource": "Polymer/core-ajax"
}
4 changes: 4 additions & 0 deletions elements/core-ajax/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
core-ajax
=========

See the [component page](http://polymer.github.io/core-ajax) for more information.
7 changes: 7 additions & 0 deletions elements/core-ajax/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "core-ajax",
"private": true,
"dependencies": {
"polymer": "Polymer/polymer#>=0.3.0 <1.0.0"
}
}
Loading

0 comments on commit 648effe

Please sign in to comment.