Permalink
Browse files

got documentation generator running

  • Loading branch information...
1 parent 05c328b commit 1e84581c68b003120d39491698e188713d96e2ce @collin committed Aug 7, 2012
View
@@ -18,6 +18,7 @@ class PathologyDocumentFilter < Rake::Pipeline::Filter
end
end
+
output "docs"
input "./src" do
match "**/*.coffee" do
@@ -35,3 +36,8 @@ input "./src" do
concat "AlphaSimprini-docs.js"
end
end
+
+input "./src", "doc.coffee" do
+ coffee_script
+ concat "doc.js"
+end
View
@@ -71,22 +71,10 @@ task :upload => :test do
end
desc "Create json document object"
-task :jsondoc => [:phantomjs, :dist] do
- cmd = %|phantomjs src/gather-docs.coffee "file://localhost#{File.dirname(__FILE__)}/src/gather-docs.html"|
-
- err "Running tests"
- err cmd
- success = `#{cmd}`
-
- if success
- err "Built JSON".green
- FileUtils.safe_unlink "dist/docs.json"
- File.open("dist/docs.json", "w") {|f| f.write success }
- else
- err "Failed".red
- exit(1)
- end
-
+task :doc do
+ puts "Building Alpha Simprini Docs"
+ doc_build.invoke
+ done
end
task :phantomjs do
View
@@ -28,6 +28,9 @@ load File.expand_path("./Rakefile")
def build
Rake::Task["build"].reenable
Rake::Task["build"].invoke
+
+ Rake::Task["doc"].reenable
+ Rake::Task["doc"].invoke
end
watch "(test)(/.*)+.coffee" do |match|
Oops, something went wrong.
View
@@ -0,0 +1,130 @@
+(function() {
+ var $, each;
+
+ minispade.require("pathology");
+
+ minispade.require("underscore");
+
+ minispade.require("jquery");
+
+ minispade.require("coffeekup");
+
+ minispade.require("alpha_simprini");
+
+ minispade.register("rangy-core", "rangy = null");
+
+ minispade.register("jpicker", "null");
+
+ AS.require("client");
+
+ AS.require("css");
+
+ $ = jQuery;
+
+ each = _.each;
+
+ jQuery(function() {
+ var classdocs, classes;
+ console.time("RENDER");
+ classes = $("#classes");
+ classdocs = $("#classdocs");
+ each([Pathology.Object].concat(Pathology.Object.descendants), function(klass) {
+ var classArticle;
+ classes.append("<a href=\"#" + (klass.path()) + "\">" + (klass.path()) + "</a>");
+ classArticle = function() {
+ return article({
+ id: this.klass.path()
+ }, function() {
+ h1(this.klass.path());
+ h2("Ancestors");
+ nav({
+ "class": 'ancestors'
+ }, function() {
+ var ancestor, index, _len, _ref, _results;
+ _ref = this.klass.ancestors;
+ _results = [];
+ for (index = 0, _len = _ref.length; index < _len; index++) {
+ ancestor = _ref[index];
+ if (ancestor === this.klass) continue;
+ a({
+ href: "#" + (ancestor.path())
+ }, function() {
+ return ancestor.path();
+ });
+ if (index !== this.klass.ancestors.length - 1) {
+ _results.push(text(" < "));
+ } else {
+ _results.push(void 0);
+ }
+ }
+ return _results;
+ });
+ h2("Class Methods");
+ ul(function() {
+ var method, name, _i, _len, _ref, _results;
+ _ref = this.klass.classMethods || [];
+ _results = [];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ name = _ref[_i];
+ if (!(method = this.klass.classMethod(name))) continue;
+ if (method.definedOn !== this.klass.path()) continue;
+ _results.push(li({
+ id: this.klass.path() + ".classMethod." + name
+ }, function() {
+ h1(method.name);
+ span({
+ "class": "private"
+ }, function() {
+ if (method.private) return "private api";
+ });
+ a({
+ href: "#" + method.definedOn
+ }, function() {
+ return "defined on: " + method.definedOn;
+ });
+ return pre(h(method.desc) || "No Description Given");
+ }));
+ }
+ return _results;
+ });
+ h2("Instance Methods");
+ return ul(function() {
+ var method, name, _i, _len, _ref, _results;
+ _ref = this.klass.instanceMethods || [];
+ _results = [];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ name = _ref[_i];
+ if (!(method = this.klass.instanceMethod(name))) continue;
+ if (method.definedOn !== this.klass.path()) continue;
+ _results.push(li({
+ id: this.klass.path() + ".instanceMethod." + name
+ }, function() {
+ h1(method.name);
+ span({
+ "class": "private"
+ }, function() {
+ if (method.private) return "private api";
+ });
+ a({
+ href: "#" + method.definedOn
+ }, function() {
+ return "defined on: " + method.definedOn;
+ });
+ return pre(h(method.desc) || "No Description Given");
+ }));
+ }
+ return _results;
+ });
+ });
+ };
+ return classdocs.append(CoffeeKup.render(classArticle, {
+ klass: klass,
+ hardcode: {
+ each: each
+ }
+ }));
+ });
+ return console.timeEnd("RENDER");
+ });
+
+}).call(this);
View
@@ -0,0 +1,186 @@
+/*--------------------- Layout and Typography ----------------------------*/
+body {
+ font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
+ font-size: 15px;
+ line-height: 22px;
+ color: #252519;
+ margin: 0; padding: 0;
+}
+a {
+ color: #261a3b;
+}
+ a:visited {
+ color: #261a3b;
+ }
+p {
+ margin: 0 0 15px 0;
+}
+h1, h2, h3, h4, h5, h6 {
+ margin: 0px 0 15px 0;
+}
+ h1 {
+ margin-top: 40px;
+ }
+#container {
+ position: relative;
+}
+#background {
+ position: fixed;
+ top: 0; left: 525px; right: 0; bottom: 0;
+ background: #f5f5ff;
+ border-left: 1px solid #e5e5ee;
+ z-index: -1;
+}
+#jump_to, #jump_page {
+ background: white;
+ -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
+ -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
+ font: 10px Arial;
+ text-transform: uppercase;
+ cursor: pointer;
+ text-align: right;
+}
+#jump_to, #jump_wrapper {
+ position: fixed;
+ right: 0; top: 0;
+ padding: 5px 10px;
+}
+ #jump_wrapper {
+ padding: 0;
+ display: none;
+ }
+ #jump_to:hover #jump_wrapper {
+ display: block;
+ }
+ #jump_page {
+ padding: 5px 0 3px;
+ margin: 0 0 25px 25px;
+ }
+ #jump_page .source {
+ display: block;
+ padding: 5px 10px;
+ text-decoration: none;
+ border-top: 1px solid #eee;
+ }
+ #jump_page .source:hover {
+ background: #f5f5ff;
+ }
+ #jump_page .source:first-child {
+ }
+table td {
+ border: 0;
+ outline: 0;
+}
+ td.docs, th.docs {
+ max-width: 450px;
+ min-width: 450px;
+ min-height: 5px;
+ padding: 10px 25px 1px 50px;
+ overflow-x: hidden;
+ vertical-align: top;
+ text-align: left;
+ }
+ .docs pre {
+ margin: 15px 0 15px;
+ padding-left: 15px;
+ }
+ .docs p tt, .docs p code {
+ background: #f8f8ff;
+ border: 1px solid #dedede;
+ font-size: 12px;
+ padding: 0 0.2em;
+ }
+ .pilwrap {
+ position: relative;
+ }
+ .pilcrow {
+ font: 12px Arial;
+ text-decoration: none;
+ color: #454545;
+ position: absolute;
+ top: 3px; left: -20px;
+ padding: 1px 2px;
+ opacity: 0;
+ -webkit-transition: opacity 0.2s linear;
+ }
+ td.docs:hover .pilcrow {
+ opacity: 1;
+ }
+ td.code, th.code {
+ padding: 14px 15px 16px 25px;
+ width: 100%;
+ vertical-align: top;
+ background: #f5f5ff;
+ border-left: 1px solid #e5e5ee;
+ }
+ pre, tt, code {
+ font-size: 12px; line-height: 18px;
+ font-family: Monaco, Consolas, "Lucida Console", monospace;
+ margin: 0; padding: 0;
+ }
+
+
+/*---------------------- Syntax Highlighting -----------------------------*/
+td.linenos { background-color: #f0f0f0; padding-right: 10px; }
+span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
+body .hll { background-color: #ffffcc }
+body .c { color: #408080; font-style: italic } /* Comment */
+body .err { border: 1px solid #FF0000 } /* Error */
+body .k { color: #954121 } /* Keyword */
+body .o { color: #666666 } /* Operator */
+body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
+body .cp { color: #BC7A00 } /* Comment.Preproc */
+body .c1 { color: #408080; font-style: italic } /* Comment.Single */
+body .cs { color: #408080; font-style: italic } /* Comment.Special */
+body .gd { color: #A00000 } /* Generic.Deleted */
+body .ge { font-style: italic } /* Generic.Emph */
+body .gr { color: #FF0000 } /* Generic.Error */
+body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+body .gi { color: #00A000 } /* Generic.Inserted */
+body .go { color: #808080 } /* Generic.Output */
+body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+body .gs { font-weight: bold } /* Generic.Strong */
+body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+body .gt { color: #0040D0 } /* Generic.Traceback */
+body .kc { color: #954121 } /* Keyword.Constant */
+body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
+body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
+body .kp { color: #954121 } /* Keyword.Pseudo */
+body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
+body .kt { color: #B00040 } /* Keyword.Type */
+body .m { color: #666666 } /* Literal.Number */
+body .s { color: #219161 } /* Literal.String */
+body .na { color: #7D9029 } /* Name.Attribute */
+body .nb { color: #954121 } /* Name.Builtin */
+body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+body .no { color: #880000 } /* Name.Constant */
+body .nd { color: #AA22FF } /* Name.Decorator */
+body .ni { color: #999999; font-weight: bold } /* Name.Entity */
+body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+body .nf { color: #0000FF } /* Name.Function */
+body .nl { color: #A0A000 } /* Name.Label */
+body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+body .nt { color: #954121; font-weight: bold } /* Name.Tag */
+body .nv { color: #19469D } /* Name.Variable */
+body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+body .w { color: #bbbbbb } /* Text.Whitespace */
+body .mf { color: #666666 } /* Literal.Number.Float */
+body .mh { color: #666666 } /* Literal.Number.Hex */
+body .mi { color: #666666 } /* Literal.Number.Integer */
+body .mo { color: #666666 } /* Literal.Number.Oct */
+body .sb { color: #219161 } /* Literal.String.Backtick */
+body .sc { color: #219161 } /* Literal.String.Char */
+body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
+body .s2 { color: #219161 } /* Literal.String.Double */
+body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+body .sh { color: #219161 } /* Literal.String.Heredoc */
+body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+body .sx { color: #954121 } /* Literal.String.Other */
+body .sr { color: #BB6688 } /* Literal.String.Regex */
+body .s1 { color: #219161 } /* Literal.String.Single */
+body .ss { color: #19469D } /* Literal.String.Symbol */
+body .bp { color: #954121 } /* Name.Builtin.Pseudo */
+body .vc { color: #19469D } /* Name.Variable.Class */
+body .vg { color: #19469D } /* Name.Variable.Global */
+body .vi { color: #19469D } /* Name.Variable.Instance */
+body .il { color: #666666 } /* Literal.Number.Integer.Long */
Oops, something went wrong.

0 comments on commit 1e84581

Please sign in to comment.