{"action":"created","comment":{"url":"https://api.github.com/repos/beautyjoy/llab/pulls/comments/35509614","id":35509614,"diff_hunk":"@@ -41,174 +42,267 @@\n \n */\n \n+// FIXME -- this is for node! This needs to be a require() in the future!\n+if (typeof llab === 'undefined') {\n+    llab = {};\n+}\n+\n /* The allowed tags for easy entry.\n  * e.g.   h1: Some Text [maybe/a/link/too]\n  */\n-llab.tags = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"];\n-\n+llab.topicKeywords = {};\n+llab.topicKeywords.resources = [\"quiz\", \"assignment\", \"resource\",\n+                                \"forum\", \"video\", \"extresource\",\n+                                \"reading\", \"group\"];\n+llab.topicKeywords.headings = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"heading\"];\n+llab.topicKeywords.info = [\"big-idea\", \"learning-goal\"]\n \n+/* TODO: comment...\n \n-llab.renderFull = function(data, ignored1, ignored2) {\n-    var FULL   = llab.selectors.FULL,\n-        params = llab.getURLParameters(),\n-        course = params.course;\n-\n-\n-    if (course) {\n-        if (course.indexOf(\"://\") === -1) {\n-            course = llab.courses_path + course;\n-        }\n-        $(FULL).append($(document.createElement(\"a\")).attr(\n-            {\"class\":\"course_link\", \"href\": course }\n-            ).html(llab.strings.goMain));\n-    }\n+*/\n+llab.parseTopicFile = function parser(data) {\n \n     llab.file = llab.topic;\n \n     data = data.replace(/(\\r)/gm,\"\"); // normalize line endings\n     var lines = data.split(\"\\n\");\n-    var line;\n-    var in_topic = false;\n-    var topic;\n-    var item;\n-    var learningGoal = false;\n-    var bigIdea = false;\n-    var list;\n-    var raw = false;\n-    var text;\n-    var isHidden;\n-    var num = 0;\n-    var indent = \"\";\n-    var url = document.URL;\n+    // TODO: If we support multiple topics per file -- this should have a URL field and maybe this should just be contents?\n+    var line, topic_model, item, list, text, content, section, indent,\n+        topics = { topics: [] },\n+        in_topic = false, raw = false;\n+    // TODO: Verify this isn't necessary!\n+    // var url = document.URL;\n     for (var i = 0; i < lines.length; i++) {\n-        line = lines[i];\n-        line = llab.stripComments(line);\n-        // TODO: Refactor this line\n-        isHidden = params.hasOwnProperty('no' + $.trim(line.slice(0, line.indexOf(':'))));\n-        if (line.length && !raw && !isHidden) {\n-            if (line.slice(0, 6) === \"title:\") {\n-                // TODO: Refractor to a set title function!\n-                var titleHTML = line.slice(6);\n-                $('.navbar-title').html(titleHTML);\n-                $('.title-small-screen').html(titleHTML);\n-                var titleText = $('.navbar-title').text();\n-                // SPECIAL-CASE for 'Snap' in titles.\n-                titleText = titleText.replace('snap', 'Snap!');\n-                document.title = titleText;\n-                learningGoal = false;\n-                bigIdea = false;\n-            } else if (line.slice(0, 8) == \"raw-html\") {\n+        line = llab.stripComments(lines[i]);\n+        line = line.trim();\n+        if (line.length && !raw) {\n+            if (line.match(/^title:/)) {\n+                topics.title = line.slice(6);\n+            } else if (line.match(/^topic:/)) {\n+                topic_model.title = line.slice(6);\n+            } else if (line.match(/^raw-html/)) {\n                 raw = true;\n             } else if (line[0] == \"{\") {\n-                in_topic = true;\n-                topic = $(document.createElement(\"div\")).attr({'class': 'topic'});\n-                $(FULL).append(topic);\n-                learningGoal = false;\n-                bigIdea = false;\n-            } else if (line.slice(0, 6) == \"topic:\") {\n-                // FIXME -- style\n-                item = $(document.createElement(\"div\")).attr({'class': 'topic_header'}).append(line.slice(6));\n-                topic.append(item);\n-                learningGoal = false;\n-                bigIdea = false;\n-            } else if (line.slice(0, 8) == \"heading:\") {\n-                item = $(document.createElement(\"h3\")).append(line.slice(8));\n-                topic.append(item);\n-                learningGoal = false;\n-                bigIdea = false;\n+                topic_model = { type: 'topic', url: llab.topic, contents: [] };\n+                topics.topics.push(topic_model);\n+                section = { title: '', contents: [], type: 'section' };\n+                topic_model.contents.push(section);\n+            } else if (llab.isHeading(line)) {\n+                headingType = llab.getKeyword(line, llab.topicKeywords.headings);\n+                if (section.contents.length > 0) {\n+                    section = { title: '', contents: [], type: 'section' };\n+                    topic_model.contents.push(section);\n+                }\n+                section.title = llab.getContent(line)['text'];\n+                section.headingType = headingType;\n             } else if (line[0] == \"}\") {\n-                in_topic = false;\n-                learningGoal = false;\n-                bigIdea = false;\n-            } else if (line.slice(0, 13) == \"learning-goal\") {\n-                bigIdea = false;\n-                if (learningGoal) {\n-                    list.append($(document.createElement(\"li\")).append(line.slice(14)));\n-                } else {\n-                    indent = llab.indentString(line);\n-                    line = $.trim(line);\n-                    learningGoal = true;\n-                    item = $(document.createElement(\"div\")).attr({'class': 'learninggoals' + indent});\n-                    list = $(document.createElement(\"ul\"));\n-                    list.append($(document.createElement(\"li\")).append(line.slice(14)));\n-                    item.append(list);\n-                    topic.append(item);\n-                };\n-            } else if (line.slice(0, 8) == \"big-idea\") {\n-                learningGoal = false;\n-                if (bigIdea) {\n-                    list.append($(document.createElement(\"li\")).append(line.slice(9)));\n-                } else {\n-                    indent = llab.indentString(line);\n-                    line = $.trim(line);\n-                    bigIdea = true;\n-                    item = $(document.createElement(\"div\")).attr({'class': 'bigideas' + indent});\n-                    list = $(document.createElement(\"ul\"));\n-                    list.append($(document.createElement(\"li\")).append(line.slice(9)));\n-                    item.append(list);\n-                    topic.append(item);\n+                // shouldn't matter\n+            } else if (llab.isInfo(line)) {\n+                tag = llab.getKeyword(line, llab.topicKeywords.info);\n+                indent = llab.indentLevel(line);\n+                content = llab.getContent(line)['text']; // ?\n+                // TODO: do we really need indentation now?\n+                // if so, I think it should be added to the type\n+                // and only if indentation levels != nested levels.\n+                item = { type: tag, contents: content, indent: indent };\n+                section.contents.push(item);\n+            } else if (llab.isResource(line) || true) {\n+                // FIXME: dumb way to handle lines without a known tag\n+                // Shouldn't this just be an else case?\n+                tag = llab.getKeyword(line, llab.topicKeywords.resources);\n+                indent = llab.indentLevel(line);\n+                content = llab.getContent(line);\n+                item = {\n+                    type: tag,\n+                    indent: indent,\n+                    contents: content.text,\n+                    url: content.url\n                 };\n-            } else {\n-                indent = llab.indentString(line);\n-                line = $.trim(line);\n-                learningGoal = false;\n-                bigIdea = false;\n-                var sepIdx = line.indexOf(\":\");\n-                if (sepIdx != -1 && llab.isTag(line.slice(0, sepIdx))) {\n-                    item = $(document.createElement(line.slice(0, sepIdx)));\n-                } else if (sepIdx != -1) {\n-                    item = $(document.createElement(\"div\")).attr({'class': line.split(\":\")[0] + indent});\n-                } else {\n-                    item = $(document.createElement(\"div\"));\n-                }\n-                if (line.indexOf(\"[\") != -1) {\n-                    var temp = $(document.createElement(\"a\"));\n-                    var query = params;\n-                    text = line.slice(sepIdx + 1, line.indexOf(\"[\"))\n-                    temp.append($.trim(text));\n-                    url = (line.slice(line.indexOf(\"[\") + 1, line.indexOf(\"]\")));\n-                    if (url.indexOf(\"http\") != -1) {\n-                        query = $.extend({}, query, { src: url, title: text });\n-                        url = llab.empty_curriculum_page_path;\n-                    } else if (url.indexOf(llab.rootURL) == -1 && url.indexOf(\"..\") == -1) {\n-                        var slash = url[0] == \"/\" ? '' : '/';\n-                        url = llab.rootURL + slash + url;\n-                    }\n-                    url += (url.indexOf('?') !== -1 ? '&' : '?') + llab.QS.stringify(query);\n-                    num += 1;\n-                    temp.attr({'href': url});\n-                    item.append(temp);\n-                } else {\n-                    item.append(line.slice(sepIdx + 1));\n-                }\n-                topic.append(item);\n+                section.contents.push(item);\n             }\n-        } else if (line.length == 1) {\n-            learningGoal = false;\n-            bigIdea = false;\n+        } else if (line.length == 0) {\n             raw = false;\n-        } else if (raw) {\n-            var raw_html = \"\";\n-            while (line.length > 1 && line.slice[0] != \"}\") {\n-                raw_html += \" \" + line;\n+        }\n+        if (raw) {\n+            var raw_html = [];\n+            text = llab.getContent(line)['text']; // in case they start the raw html on the same line\n+            if (text) {\n+                raw_html.push(text)","path":"script/topic.js","position":232,"original_position":232,"commit_id":"46315899914338cd99b16b2f06f73195784fe6ba","original_commit_id":"46315899914338cd99b16b2f06f73195784fe6ba","user":{"login":"houndci","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"User","site_admin":false},"body":"Identifier 'raw_html' is not in camel case.<br>Missing semicolon.","created_at":"2015-07-27T07:00:46Z","updated_at":"2015-07-27T07:00:46Z","html_url":"https://github.com/beautyjoy/llab/pull/149#discussion_r35509614","pull_request_url":"https://api.github.com/repos/beautyjoy/llab/pulls/149","_links":{"self":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/comments/35509614"},"html":{"href":"https://github.com/beautyjoy/llab/pull/149#discussion_r35509614"},"pull_request":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/149"}}},"pull_request":{"url":"https://api.github.com/repos/beautyjoy/llab/pulls/149","id":40875091,"html_url":"https://github.com/beautyjoy/llab/pull/149","diff_url":"https://github.com/beautyjoy/llab/pull/149.diff","patch_url":"https://github.com/beautyjoy/llab/pull/149.patch","issue_url":"https://api.github.com/repos/beautyjoy/llab/issues/149","number":149,"state":"open","locked":false,"title":"Node Node Node Node Objects Eggs and Node","user":{"login":"cycomachead","id":1505907,"avatar_url":"https://avatars.githubusercontent.com/u/1505907?v=3","gravatar_id":"","url":"https://api.github.com/users/cycomachead","html_url":"https://github.com/cycomachead","followers_url":"https://api.github.com/users/cycomachead/followers","following_url":"https://api.github.com/users/cycomachead/following{/other_user}","gists_url":"https://api.github.com/users/cycomachead/gists{/gist_id}","starred_url":"https://api.github.com/users/cycomachead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cycomachead/subscriptions","organizations_url":"https://api.github.com/users/cycomachead/orgs","repos_url":"https://api.github.com/users/cycomachead/repos","events_url":"https://api.github.com/users/cycomachead/events{/privacy}","received_events_url":"https://api.github.com/users/cycomachead/received_events","type":"User","site_admin":false},"body":null,"created_at":"2015-07-27T07:00:37Z","updated_at":"2015-07-27T07:00:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b4f56198c47e3a9dd2d93effd60e7c61ba0db175","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/beautyjoy/llab/pulls/149/commits","review_comments_url":"https://api.github.com/repos/beautyjoy/llab/pulls/149/comments","review_comment_url":"https://api.github.com/repos/beautyjoy/llab/pulls/comments{/number}","comments_url":"https://api.github.com/repos/beautyjoy/llab/issues/149/comments","statuses_url":"https://api.github.com/repos/beautyjoy/llab/statuses/46315899914338cd99b16b2f06f73195784fe6ba","head":{"label":"beautyjoy:node","ref":"node","sha":"46315899914338cd99b16b2f06f73195784fe6ba","user":{"login":"beautyjoy","id":5014906,"avatar_url":"https://avatars.githubusercontent.com/u/5014906?v=3","gravatar_id":"","url":"https://api.github.com/users/beautyjoy","html_url":"https://github.com/beautyjoy","followers_url":"https://api.github.com/users/beautyjoy/followers","following_url":"https://api.github.com/users/beautyjoy/following{/other_user}","gists_url":"https://api.github.com/users/beautyjoy/gists{/gist_id}","starred_url":"https://api.github.com/users/beautyjoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beautyjoy/subscriptions","organizations_url":"https://api.github.com/users/beautyjoy/orgs","repos_url":"https://api.github.com/users/beautyjoy/repos","events_url":"https://api.github.com/users/beautyjoy/events{/privacy}","received_events_url":"https://api.github.com/users/beautyjoy/received_events","type":"Organization","site_admin":false},"repo":{"id":15123287,"name":"llab","full_name":"beautyjoy/llab","owner":{"login":"beautyjoy","id":5014906,"avatar_url":"https://avatars.githubusercontent.com/u/5014906?v=3","gravatar_id":"","url":"https://api.github.com/users/beautyjoy","html_url":"https://github.com/beautyjoy","followers_url":"https://api.github.com/users/beautyjoy/followers","following_url":"https://api.github.com/users/beautyjoy/following{/other_user}","gists_url":"https://api.github.com/users/beautyjoy/gists{/gist_id}","starred_url":"https://api.github.com/users/beautyjoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beautyjoy/subscriptions","organizations_url":"https://api.github.com/users/beautyjoy/orgs","repos_url":"https://api.github.com/users/beautyjoy/repos","events_url":"https://api.github.com/users/beautyjoy/events{/privacy}","received_events_url":"https://api.github.com/users/beautyjoy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/beautyjoy/llab","description":"Lightweight lab curriculum system","fork":false,"url":"https://api.github.com/repos/beautyjoy/llab","forks_url":"https://api.github.com/repos/beautyjoy/llab/forks","keys_url":"https://api.github.com/repos/beautyjoy/llab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/beautyjoy/llab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/beautyjoy/llab/teams","hooks_url":"https://api.github.com/repos/beautyjoy/llab/hooks","issue_events_url":"https://api.github.com/repos/beautyjoy/llab/issues/events{/number}","events_url":"https://api.github.com/repos/beautyjoy/llab/events","assignees_url":"https://api.github.com/repos/beautyjoy/llab/assignees{/user}","branches_url":"https://api.github.com/repos/beautyjoy/llab/branches{/branch}","tags_url":"https://api.github.com/repos/beautyjoy/llab/tags","blobs_url":"https://api.github.com/repos/beautyjoy/llab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/beautyjoy/llab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/beautyjoy/llab/git/refs{/sha}","trees_url":"https://api.github.com/repos/beautyjoy/llab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/beautyjoy/llab/statuses/{sha}","languages_url":"https://api.github.com/repos/beautyjoy/llab/languages","stargazers_url":"https://api.github.com/repos/beautyjoy/llab/stargazers","contributors_url":"https://api.github.com/repos/beautyjoy/llab/contributors","subscribers_url":"https://api.github.com/repos/beautyjoy/llab/subscribers","subscription_url":"https://api.github.com/repos/beautyjoy/llab/subscription","commits_url":"https://api.github.com/repos/beautyjoy/llab/commits{/sha}","git_commits_url":"https://api.github.com/repos/beautyjoy/llab/git/commits{/sha}","comments_url":"https://api.github.com/repos/beautyjoy/llab/comments{/number}","issue_comment_url":"https://api.github.com/repos/beautyjoy/llab/issues/comments{/number}","contents_url":"https://api.github.com/repos/beautyjoy/llab/contents/{+path}","compare_url":"https://api.github.com/repos/beautyjoy/llab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/beautyjoy/llab/merges","archive_url":"https://api.github.com/repos/beautyjoy/llab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/beautyjoy/llab/downloads","issues_url":"https://api.github.com/repos/beautyjoy/llab/issues{/number}","pulls_url":"https://api.github.com/repos/beautyjoy/llab/pulls{/number}","milestones_url":"https://api.github.com/repos/beautyjoy/llab/milestones{/number}","notifications_url":"https://api.github.com/repos/beautyjoy/llab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/beautyjoy/llab/labels{/name}","releases_url":"https://api.github.com/repos/beautyjoy/llab/releases{/id}","created_at":"2013-12-12T00:41:29Z","updated_at":"2015-05-08T10:19:21Z","pushed_at":"2015-07-27T07:00:38Z","git_url":"git://github.com/beautyjoy/llab.git","ssh_url":"git@github.com:beautyjoy/llab.git","clone_url":"https://github.com/beautyjoy/llab.git","svn_url":"https://github.com/beautyjoy/llab","homepage":null,"size":6797,"stargazers_count":1,"watchers_count":1,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":102,"forks":7,"open_issues":102,"watchers":1,"default_branch":"master"}},"base":{"label":"beautyjoy:master","ref":"master","sha":"d1589ce8e04af01522ef1ae56e4670bf427c4a51","user":{"login":"beautyjoy","id":5014906,"avatar_url":"https://avatars.githubusercontent.com/u/5014906?v=3","gravatar_id":"","url":"https://api.github.com/users/beautyjoy","html_url":"https://github.com/beautyjoy","followers_url":"https://api.github.com/users/beautyjoy/followers","following_url":"https://api.github.com/users/beautyjoy/following{/other_user}","gists_url":"https://api.github.com/users/beautyjoy/gists{/gist_id}","starred_url":"https://api.github.com/users/beautyjoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beautyjoy/subscriptions","organizations_url":"https://api.github.com/users/beautyjoy/orgs","repos_url":"https://api.github.com/users/beautyjoy/repos","events_url":"https://api.github.com/users/beautyjoy/events{/privacy}","received_events_url":"https://api.github.com/users/beautyjoy/received_events","type":"Organization","site_admin":false},"repo":{"id":15123287,"name":"llab","full_name":"beautyjoy/llab","owner":{"login":"beautyjoy","id":5014906,"avatar_url":"https://avatars.githubusercontent.com/u/5014906?v=3","gravatar_id":"","url":"https://api.github.com/users/beautyjoy","html_url":"https://github.com/beautyjoy","followers_url":"https://api.github.com/users/beautyjoy/followers","following_url":"https://api.github.com/users/beautyjoy/following{/other_user}","gists_url":"https://api.github.com/users/beautyjoy/gists{/gist_id}","starred_url":"https://api.github.com/users/beautyjoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beautyjoy/subscriptions","organizations_url":"https://api.github.com/users/beautyjoy/orgs","repos_url":"https://api.github.com/users/beautyjoy/repos","events_url":"https://api.github.com/users/beautyjoy/events{/privacy}","received_events_url":"https://api.github.com/users/beautyjoy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/beautyjoy/llab","description":"Lightweight lab curriculum system","fork":false,"url":"https://api.github.com/repos/beautyjoy/llab","forks_url":"https://api.github.com/repos/beautyjoy/llab/forks","keys_url":"https://api.github.com/repos/beautyjoy/llab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/beautyjoy/llab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/beautyjoy/llab/teams","hooks_url":"https://api.github.com/repos/beautyjoy/llab/hooks","issue_events_url":"https://api.github.com/repos/beautyjoy/llab/issues/events{/number}","events_url":"https://api.github.com/repos/beautyjoy/llab/events","assignees_url":"https://api.github.com/repos/beautyjoy/llab/assignees{/user}","branches_url":"https://api.github.com/repos/beautyjoy/llab/branches{/branch}","tags_url":"https://api.github.com/repos/beautyjoy/llab/tags","blobs_url":"https://api.github.com/repos/beautyjoy/llab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/beautyjoy/llab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/beautyjoy/llab/git/refs{/sha}","trees_url":"https://api.github.com/repos/beautyjoy/llab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/beautyjoy/llab/statuses/{sha}","languages_url":"https://api.github.com/repos/beautyjoy/llab/languages","stargazers_url":"https://api.github.com/repos/beautyjoy/llab/stargazers","contributors_url":"https://api.github.com/repos/beautyjoy/llab/contributors","subscribers_url":"https://api.github.com/repos/beautyjoy/llab/subscribers","subscription_url":"https://api.github.com/repos/beautyjoy/llab/subscription","commits_url":"https://api.github.com/repos/beautyjoy/llab/commits{/sha}","git_commits_url":"https://api.github.com/repos/beautyjoy/llab/git/commits{/sha}","comments_url":"https://api.github.com/repos/beautyjoy/llab/comments{/number}","issue_comment_url":"https://api.github.com/repos/beautyjoy/llab/issues/comments{/number}","contents_url":"https://api.github.com/repos/beautyjoy/llab/contents/{+path}","compare_url":"https://api.github.com/repos/beautyjoy/llab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/beautyjoy/llab/merges","archive_url":"https://api.github.com/repos/beautyjoy/llab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/beautyjoy/llab/downloads","issues_url":"https://api.github.com/repos/beautyjoy/llab/issues{/number}","pulls_url":"https://api.github.com/repos/beautyjoy/llab/pulls{/number}","milestones_url":"https://api.github.com/repos/beautyjoy/llab/milestones{/number}","notifications_url":"https://api.github.com/repos/beautyjoy/llab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/beautyjoy/llab/labels{/name}","releases_url":"https://api.github.com/repos/beautyjoy/llab/releases{/id}","created_at":"2013-12-12T00:41:29Z","updated_at":"2015-05-08T10:19:21Z","pushed_at":"2015-07-27T07:00:38Z","git_url":"git://github.com/beautyjoy/llab.git","ssh_url":"git@github.com:beautyjoy/llab.git","clone_url":"https://github.com/beautyjoy/llab.git","svn_url":"https://github.com/beautyjoy/llab","homepage":null,"size":6797,"stargazers_count":1,"watchers_count":1,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":102,"forks":7,"open_issues":102,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/149"},"html":{"href":"https://github.com/beautyjoy/llab/pull/149"},"issue":{"href":"https://api.github.com/repos/beautyjoy/llab/issues/149"},"comments":{"href":"https://api.github.com/repos/beautyjoy/llab/issues/149/comments"},"review_comments":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/149/comments"},"review_comment":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/beautyjoy/llab/pulls/149/commits"},"statuses":{"href":"https://api.github.com/repos/beautyjoy/llab/statuses/46315899914338cd99b16b2f06f73195784fe6ba"}}}}