From 3d9123a259fd3859687805eb279aa63e8401c9e2 Mon Sep 17 00:00:00 2001 From: Buu Nguyen Date: Fri, 6 Jun 2014 17:38:50 -0700 Subject: [PATCH] Add editorconfig --- .editorconfig | 12 + src/adapter.github.js | 14 +- src/chrome/manifest.json | 2 +- src/constants.js | 4 +- src/main.js | 6 +- src/main.less | 558 +++++++++++++++++++-------------------- src/util.module.js | 2 +- src/view.options.js | 2 +- src/view.tree.js | 10 +- 9 files changed, 311 insertions(+), 299 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e9b235e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[src/**] +indent_size = 2 +indent_style = space +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = false + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/src/adapter.github.js b/src/adapter.github.js index a26fca2..aa6aea8 100644 --- a/src/adapter.github.js +++ b/src/adapter.github.js @@ -1,6 +1,6 @@ -const +const RESERVED_USER_NAMES = [ - 'settings', 'orgs', 'organizations', + 'settings', 'orgs', 'organizations', 'site', 'blog', 'about', 'explore', 'styleguide', 'showcases', 'trending', 'stars', 'dashboard', 'notifications' @@ -28,7 +28,7 @@ GitHub.prototype.selectSubmodule = function(url) { GitHub.prototype.selectFile = function(url) { var container = $(GH_PJAX_SEL) if (container.length) { - $.pjax({ + $.pjax({ url : url, container : container }) @@ -72,8 +72,8 @@ GitHub.prototype.getRepoFromPath = function() { // can actually check if *[data-master-branch] exists and remove all the checks above // but the current approach is less fragile in case of GitHub DOM changes var branch = $(GH_BRANCH_SEL).data('ref') || $(GH_BRANCH_BTN_SEL).text() || 'master' - return { - username : match[1], + return { + username : match[1], reponame : match[2], branch : branch } @@ -144,8 +144,8 @@ GitHub.prototype.fetchData = function(opts, cb) { } } - setTimeout(function() { - nextChunk(iteration + 1) + setTimeout(function() { + nextChunk(iteration + 1) }, 0) } }) diff --git a/src/chrome/manifest.json b/src/chrome/manifest.json index 1e9af66..336a70b 100755 --- a/src/chrome/manifest.json +++ b/src/chrome/manifest.json @@ -1,5 +1,5 @@ { - "name": "Octotree", + "name": "Octotree", "version": "1.2.0", "manifest_version": 2, "author": "Buu Nguyen", diff --git a/src/constants.js b/src/constants.js index b42a974..a28196b 100644 --- a/src/constants.js +++ b/src/constants.js @@ -1,4 +1,4 @@ -const +const PREFIX = 'octotree' , STORE = { @@ -10,7 +10,7 @@ const POPUP : 'octotree.popup_shown', SHOWN : 'octotree.sidebar_shown', } - + , EVENT = { TOGGLE : 'octotree:toggle', LOC_CHANGE : 'octotree:location', diff --git a/src/main.js b/src/main.js index 5908e85..002f00c 100755 --- a/src/main.js +++ b/src/main.js @@ -86,7 +86,7 @@ }) } else treeView.syncSelection() - } + } else { $toggleBtn.hide() toggleSidebar(false) @@ -107,7 +107,7 @@ if (visibility !== undefined) { if ($html.hasClass(PREFIX) === visibility) return toggleSidebar() - } + } else { $html.toggleClass(PREFIX) $document.trigger(EVENT.TOGGLE, $html.hasClass(PREFIX)) @@ -118,6 +118,6 @@ var width = $sidebar.width() adapter.updateLayout($html.hasClass(PREFIX), width) store.set(STORE.WIDTH, width) - } + } }) })() \ No newline at end of file diff --git a/src/main.less b/src/main.less index ea36419..d3a5c72 100755 --- a/src/main.less +++ b/src/main.less @@ -1,317 +1,317 @@ html, .header > .container, .repohead > .container, .site > .container { - transition: margin-left .2s ease; + transition: margin-left .2s ease; } .octotree_sidebar { - position: fixed; - padding-top: 41px; - overflow: visible; - top: 0; - right: 0; - left: 0; - bottom: 0; - background-color: #f7f7f7; - border-right: 1px solid #ddd; - z-index: 999991; - user-select: none; - transition: transform .2s ease; - transform: translate3d(-100%, 0, 0); + position: fixed; + padding-top: 41px; + overflow: visible; + top: 0; + right: 0; + left: 0; + bottom: 0; + background-color: #f7f7f7; + border-right: 1px solid #ddd; + z-index: 999991; + user-select: none; + transition: transform .2s ease; + transform: translate3d(-100%, 0, 0); - .ui-resizable-e { - position: absolute; - cursor: col-resize; - width: 5px; - right: 0; - top: 0; - bottom: 0; - } + .ui-resizable-e { + position: absolute; + cursor: col-resize; + width: 5px; + right: 0; + top: 0; + bottom: 0; + } } .octotree { - .octotree_sidebar { - transform: translate3d(0, 0, 0); - } - a.octotree_toggle { - right: 5px; - & > span:after { - content: '\f0a4'; - } + .octotree_sidebar { + transform: translate3d(0, 0, 0); + } + a.octotree_toggle { + right: 5px; + & > span:after { + content: '\f0a4'; } + } } .octotree_views { - height: 100%; - overflow: auto; + height: 100%; + overflow: auto; - .octotree_view { - display: none; - &.current { - display: block; - } - .octotree_view_header { - width: 100%; - position: absolute; - top: 0; - left: 0; - height: 46px; - font-size: 16px; - line-height: 2.7; - background-color: #f3f3f3; - background-image: linear-gradient(#f9f9f9, #f3f3f3); - background-repeat: repeat-x; - margin: -5px 0 0; - text-shadow: 0 1px 0 #fff; - border-bottom: 1px solid #e5e5e5; - } + .octotree_view { + display: none; + &.current { + display: block; + } + .octotree_view_header { + width: 100%; + position: absolute; + top: 0; + left: 0; + height: 46px; + font-size: 16px; + line-height: 2.7; + background-color: #f3f3f3; + background-image: linear-gradient(#f9f9f9, #f3f3f3); + background-repeat: repeat-x; + margin: -5px 0 0; + text-shadow: 0 1px 0 #fff; + border-bottom: 1px solid #e5e5e5; + } + } + + .octotree_treeview { + .octotree_view_header { + padding-left: 13px; + } + .octotree_header_repo { + font-size: 13px; + font-weight: bold; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .octotree_header_repo:before { + font-family: octicons; + content: '\f001'; + color: #bbb; + margin-right: 6px; + line-height: 28px; + } + .octotree_header_branch { + line-height: 1; + margin-top: -10px; + margin-bottom: 5px; + font-size: 12px; + margin-top: -6px; + font-size: 11px; + } + .octotree_header_branch:before { + font-family: octicons; + content: '\f020'; + color: #bbb; + margin-right: 8px; + margin-left: 3px; + } + .jstree-icon.tree:before { + content: '\f016'; + color: #80a6cd; + } + .jstree-icon.blob:before { + content: '\f011'; + color: #777; + } + .jstree-icon.commit:before { + content: '\f017'; + color: #777; + } + .jstree-anchor { + color: #4183c4 !important; + text-decoration: none; + outline: none; + & > span { + color: black; + } + } + .jstree-anchor:hover { + text-decoration: none !important; + } + .jstree-default { + .jstree-wholerow { + height: auto; + } + .jstree-wholerow-hovered { + background: #eee; + } + .jstree-wholerow-clicked { + background: #dbeeff; + } + .jstree-node { + line-height: 24px; + margin-left: 12px; + } + .jstree-icon.jstree-ocl { + margin-right: -6px; + } } - .octotree_treeview { - .octotree_view_header { - padding-left: 13px; - } - .octotree_header_repo { - font-size: 13px; - font-weight: bold; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .octotree_header_repo:before { - font-family: octicons; - content: '\f001'; - color: #bbb; - margin-right: 6px; - line-height: 28px; - } - .octotree_header_branch { - line-height: 1; - margin-top: -10px; - margin-bottom: 5px; - font-size: 12px; - margin-top: -6px; - font-size: 11px; - } - .octotree_header_branch:before { - font-family: octicons; - content: '\f020'; - color: #bbb; - margin-right: 8px; - margin-left: 3px; - } - .jstree-icon.tree:before { - content: '\f016'; - color: #80a6cd; - } - .jstree-icon.blob:before { - content: '\f011'; - color: #777; - } - .jstree-icon.commit:before { - content: '\f017'; - color: #777; - } - .jstree-anchor { - color: #4183c4 !important; - text-decoration: none; - outline: none; - & > span { - color: black; - } - } - .jstree-anchor:hover { - text-decoration: none !important; - } - .jstree-default { - .jstree-wholerow { - height: auto; - } - .jstree-wholerow-hovered { - background: #eee; - } - .jstree-wholerow-clicked { - background: #dbeeff; - } - .jstree-node { - line-height: 24px; - margin-left: 12px; - } - .jstree-icon.jstree-ocl { - margin-right: -6px; - } - } - - .jstree-icon.tree, .jstree-icon.blob, .jstree-icon.commit { - font: normal normal 16px octicons; - display: inline-block; - margin-right: 3px; - text-decoration: none; - font-smoothing: antialiased; - } - .jstree-default .jstree-icon, .jstree-default .jstree-icon:empty, .jstree-default .jstree-anchor { - line-height: 24px; - } + .jstree-icon.tree, .jstree-icon.blob, .jstree-icon.commit { + font: normal normal 16px octicons; + display: inline-block; + margin-right: 3px; + text-decoration: none; + font-smoothing: antialiased; } - - .octotree_errorview { - .octotree_view_header { - padding-left: 5px; - padding-top: 5px; - } - & > form { - div { - margin: 6px; - } - input { - width: 100%; - max-width: 350px; - } - .error { - color: #900; - } - .button { - margin-right: 5px; - } - } + .jstree-default .jstree-icon, .jstree-default .jstree-icon:empty, .jstree-default .jstree-anchor { + line-height: 24px; } + } - .octotree_optsview { - .octotree_view_header { - padding-left: 5px; - padding-top: 5px; - } - & > form { - margin: 6px; - & > div { - padding-top: 5px; - padding-bottom: 12px; - a { - display: inline-block; - float: right; - } - } - label { - font-weight: normal; - } - input[type=text], textarea { - width: 100%; - max-width: 350px; - } - } + .octotree_errorview { + .octotree_view_header { + padding-left: 5px; + padding-top: 5px; } + & > form { + div { + margin: 6px; + } + input { + width: 100%; + max-width: 350px; + } + .error { + color: #900; + } + .button { + margin-right: 5px; + } + } + } + + .octotree_optsview { + .octotree_view_header { + padding-left: 5px; + padding-top: 5px; + } + & > form { + margin: 6px; + & > div { + padding-top: 5px; + padding-bottom: 12px; + a { + display: inline-block; + float: right; + } + } + label { + font-weight: normal; + } + input[type=text], textarea { + width: 100%; + max-width: 350px; + } + } + } } a.octotree_toggle, a.octotree_opts { - position: absolute; - text-align: center; - line-height: 1; - z-index: 999992; - cursor: pointer; - color: black; + position: absolute; + text-align: center; + line-height: 1; + z-index: 999992; + cursor: pointer; + color: black; - & > span { - line-height: 1; - display: inline-block; - text-decoration: none; - } - &:hover, &.selected { - color: #4183C4; - } + & > span { + line-height: 1; + display: inline-block; + text-decoration: none; + } + &:hover, &.selected { + color: #4183C4; + } } a.octotree_opts { - width: 15px; - height: 15px; - top: 13px; - right: 42px; + width: 15px; + height: 15px; + top: 13px; + right: 42px; - & > span { - font: normal normal 12px octicons; - } - & > span:before { - content: '\f031'; - } + & > span { + font: normal normal 12px octicons; + } + & > span:before { + content: '\f031'; + } } a.octotree_toggle { - width: 30px; - height: 30px; - padding: 6px 6px !important; - top: 5px; - right: -35px; + width: 30px; + height: 30px; + padding: 6px 6px !important; + top: 5px; + right: -35px; - & > span { - font: normal normal 16px octicons; - } + & > span { + font: normal normal 16px octicons; + } + & > span:after { + content: '\f078'; + } + &.loading { & > span:after { - content: '\f078'; + content: ''; } - &.loading { - & > span:after { - content: ''; - } - .loader { - border-radius: 50%; - border: 2px solid #000; - border-top: 2px solid rgba(0,0,0,0); - border-left: 2px solid rgba(0,0,0,0); - width: 16px; - height: 16px; - animation: loading .5s infinite linear; - } - } - @keyframes loading { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + .loader { + border-radius: 50%; + border: 2px solid #000; + border-top: 2px solid rgba(0,0,0,0); + border-left: 2px solid rgba(0,0,0,0); + width: 16px; + height: 16px; + animation: loading .5s infinite linear; } + } + @keyframes loading { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } } .octotree_popup { - position: fixed; - cursor: pointer; - display: none; - opacity: 0; - top: 40px; - left: 5px; - z-index: 999993; - width: 260px; - text-align: left; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0,0,0,0.15); - border-radius: 5px; - box-shadow: 0 3px 12px rgba(0,0,0,0.25); - white-space: normal; - transition: opacity .3s linear; + position: fixed; + cursor: pointer; + display: none; + opacity: 0; + top: 40px; + left: 5px; + z-index: 999993; + width: 260px; + text-align: left; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0,0,0,0.15); + border-radius: 5px; + box-shadow: 0 3px 12px rgba(0,0,0,0.25); + white-space: normal; + transition: opacity .3s linear; - &.show { - opacity: 1; - } - & > .arrow, & > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - } - & > .arrow { - left: 15px; - top: -6px; - border-width: 6px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: rgba(0, 0, 0, .25); - } - & > .arrow:after { - border-width: 5px; - content: ''; - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #fff; - } - & > .content { - padding: 9px 14px; - font-size: 13px; - } + &.show { + opacity: 1; + } + & > .arrow, & > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } + & > .arrow { + left: 15px; + top: -6px; + border-width: 6px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, .25); + } + & > .arrow:after { + border-width: 5px; + content: ''; + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: #fff; + } + & > .content { + padding: 9px 14px; + font-size: 13px; + } } \ No newline at end of file diff --git a/src/util.module.js b/src/util.module.js index 1bfc968..583710d 100644 --- a/src/util.module.js +++ b/src/util.module.js @@ -1,5 +1,5 @@ // regexps from https://github.com/shockie/node-iniparser -const +const INI_SECTION = /^\s*\[\s*([^\]]*)\s*\]\s*$/ , INI_COMMENT = /^\s*;.*$/ , INI_PARAM = /^\s*([\w\.\-\_]+)\s*=\s*(.*?)\s*$/ diff --git a/src/view.options.js b/src/view.options.js index f66f7df..09b327d 100644 --- a/src/view.options.js +++ b/src/view.options.js @@ -17,7 +17,7 @@ function OptionsView($dom, store) { if (visibility !== undefined) { if ($view.hasClass('current') === visibility) return return toggle() - } + } if ($toggleBtn.hasClass('selected')) { $toggleBtn.removeClass('selected') $(self).trigger(EVENT.VIEW_CLOSE) diff --git a/src/view.tree.js b/src/view.tree.js index 25acdd7..35a0e36 100644 --- a/src/view.tree.js +++ b/src/view.tree.js @@ -14,8 +14,8 @@ function TreeView($dom, store, adapter) { if (!$target.is('a.jstree-anchor')) return var href = $target.attr('href') - , $icon = $target.children().length - ? $target.children(':first') + , $icon = $target.children().length + ? $target.children(':first') : $target.siblings(':first') // handles child links in submodule if ($icon.hasClass('commit')) adapter.selectSubmodule(href) @@ -27,7 +27,7 @@ function TreeView($dom, store, adapter) { }) } -TreeView.prototype.showHeader = function(repo) { +TreeView.prototype.showHeader = function(repo) { this.$view.find('.octotree_view_header').html( '
' + repo.username + ' / ' + repo.reponame + @@ -44,11 +44,11 @@ TreeView.prototype.show = function(repo, treeData) { , store = this.store , treeContainer = $view.find('.octotree_view_body') , tree = treeContainer.jstree(true) - + treeData = sort(treeData) if (store.get(STORE.COLLAPSE)) treeData = collapse(treeData) tree.settings.core.data = treeData - tree.settings.state.key = PREFIX + '.' + repo.username + '/' + repo.reponame + tree.settings.state.key = PREFIX + '.' + repo.username + '/' + repo.reponame treeContainer.one('refresh.jstree', function() { self.syncSelection()