commit
25820a9100
11 changed files with 1173 additions and 67 deletions
|
@ -2,6 +2,7 @@ require 'rack/builder'
|
|||
require 'rack/static'
|
||||
require 'tilt'
|
||||
require 'middleman-core/meta_pages/sitemap_tree'
|
||||
require 'middleman-core/meta_pages/config_setting'
|
||||
|
||||
module Middleman
|
||||
module MetaPages
|
||||
|
@ -58,8 +59,20 @@ module Middleman
|
|||
|
||||
# Inspect configuration
|
||||
def config(env)
|
||||
global_config = @middleman.inst.config.all_settings.map {|c| ConfigSetting.new(c) }
|
||||
extension_config = Hash[@middleman.inst.extensions.map do |ext_name, extension|
|
||||
opts = if extension.is_a?(::Middleman::Extension)
|
||||
extension.options.all_settings.map {|c| ConfigSetting.new(c) }
|
||||
else
|
||||
nil
|
||||
end
|
||||
[ext_name, opts]
|
||||
end]
|
||||
|
||||
template('config.html.erb', :config => @middleman.inst.config, :extensions => @middleman.inst.extensions, :registered_extensions => Middleman::Extensions.registered.dup)
|
||||
template('config.html.erb',
|
||||
:global_config => global_config,
|
||||
:extension_config => extension_config,
|
||||
:registered_extensions => Middleman::Extensions.registered.dup)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
.settings {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.settings li {
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.key, .extension, .value, .default-value {
|
||||
font-family: "Arvo","andale mono","lucida console",monospace;
|
||||
}
|
||||
|
||||
.key, .extension.active {
|
||||
font-weight: bold;
|
||||
color: #002B36;
|
||||
}
|
||||
|
||||
.default {
|
||||
font-style: italic;
|
||||
margin-left: .5em;
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
.value {
|
||||
color: #002B36;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.extensions .settings {
|
||||
margin-left: 1em;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
368
middleman-core/lib/middleman-core/meta_pages/assets/meta.css
Normal file
368
middleman-core/lib/middleman-core/meta_pages/assets/meta.css
Normal file
|
@ -0,0 +1,368 @@
|
|||
|
||||
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
|
||||
-moz-font-feature-settings: inherit;
|
||||
-moz-font-language-override: inherit;
|
||||
border: 0 none;
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
font-size-adjust: inherit;
|
||||
font-stretch: inherit;
|
||||
font-style: inherit;
|
||||
font-variant: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
html {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none outside none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
caption, th, td {
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
q, blockquote {
|
||||
quotes: none;
|
||||
}
|
||||
q:before, q:after, blockquote:before, blockquote:after {
|
||||
content: none;
|
||||
}
|
||||
a img {
|
||||
border: medium none;
|
||||
}
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
|
||||
display: block;
|
||||
}
|
||||
html {
|
||||
font-size: 100.01%;
|
||||
}
|
||||
body {
|
||||
color: #655740;
|
||||
font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
|
||||
font-size: 87.5%;
|
||||
line-height: 1.5;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #002B36;
|
||||
}
|
||||
h1 {
|
||||
font-size: 3em;
|
||||
line-height: 1.1;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
h2 {
|
||||
font-size: 2em;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.5em;
|
||||
line-height: 1.25;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
h4 {
|
||||
font-size: 1.2em;
|
||||
line-height: 1.3;
|
||||
margin-bottom: 1.25em;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
h6 {
|
||||
font-size: 1em;
|
||||
}
|
||||
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
a {
|
||||
color: #002B36;
|
||||
}
|
||||
a:visited, a:hover, a:focus, a:active {
|
||||
color: #002B36;
|
||||
}
|
||||
blockquote {
|
||||
color: #666666;
|
||||
font-style: italic;
|
||||
margin: 1.5em;
|
||||
}
|
||||
strong, dfn {
|
||||
font-weight: 700;
|
||||
}
|
||||
em, dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
sup, sub {
|
||||
line-height: 0;
|
||||
}
|
||||
abbr, acronym {
|
||||
border-bottom: 1px dotted #666666;
|
||||
}
|
||||
address {
|
||||
font-style: italic;
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
del {
|
||||
color: #666666;
|
||||
}
|
||||
pre {
|
||||
margin: 1.5em 0;
|
||||
white-space: pre;
|
||||
}
|
||||
pre, code, tt {
|
||||
font-family: "andale mono","lucida console",monospace;
|
||||
font-size: 1em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
ul, ol {
|
||||
margin: 0 1.5em 1.5em 0;
|
||||
padding-left: 1.5em;
|
||||
}
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
dl {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
dl dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
dl dd {
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
th {
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
th, td {
|
||||
padding: 2px 10px 2px 0;
|
||||
}
|
||||
body {
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQAgMAAADzfxo+AAAADFBMVEXx6tfv6NXs5dLg3czcnqHfAAAARUlEQVR4Xu2RsQkAIAwEE3UAR3KJOKRLuJeVCOZbBSvhrwjPw3NFxJxqQKTkpOsEJH0sPxZRRFE8lc3pA/Fuzh9tKKJoAr91xp3fgwThAAAAAElFTkSuQmCC") repeat scroll 0 0 #EFE8D5;
|
||||
margin: 0;
|
||||
}
|
||||
.container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
max-width: 83em;
|
||||
overflow: visible;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
position: relative;
|
||||
margin-top: 2em;
|
||||
}
|
||||
.container:after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.console {
|
||||
font-family: "Arvo","andale mono","lucida console",monospace;
|
||||
font-weight: 400;
|
||||
line-height: 1.2;
|
||||
word-spacing: 0.3em;
|
||||
}
|
||||
#main {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 4.21687%;
|
||||
margin-right: 4.21687%;
|
||||
width: 53.6145%;
|
||||
}
|
||||
#main h1:first-child {
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
}
|
||||
#main h2, #main h3 {
|
||||
margin-top: 1em;
|
||||
}
|
||||
#main pre {
|
||||
background: none repeat scroll 0 0 #F8F8F8;
|
||||
border-radius: 4px 4px 4px 4px;
|
||||
box-shadow: 0 1px 1px #A89A7A inset, 0 1px 0 white;
|
||||
margin: 1.5em 0;
|
||||
overflow: auto;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
#main footer {
|
||||
background: none repeat scroll 0 0 #C6BDA8;
|
||||
border-top: 1px solid #C6BDA8;
|
||||
overflow: hidden;
|
||||
padding: 1em 10px;
|
||||
}
|
||||
#main footer p {
|
||||
margin: 0;
|
||||
}
|
||||
#main footer p.left {
|
||||
display: inline;
|
||||
float: left;
|
||||
}
|
||||
#main footer p.right {
|
||||
display: inline;
|
||||
float: right;
|
||||
}
|
||||
.grid {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 1.20482%;
|
||||
width: 83.1325%;
|
||||
}
|
||||
.grid:after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.grid .toc-block {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 2.43902%;
|
||||
padding: 1em 0;
|
||||
width: 31.7073%;
|
||||
}
|
||||
.grid .toc-block:nth-child(3n) {
|
||||
float: right;
|
||||
margin-right: 0;
|
||||
}
|
||||
.grid .toc-block:nth-child(3n+1) {
|
||||
clear: left;
|
||||
}
|
||||
pre .comment, pre .template_comment, pre .diff .header, pre .doctype, pre .lisp .string, pre .javadoc {
|
||||
color: #93A1A1;
|
||||
font-style: italic;
|
||||
}
|
||||
pre .keyword, pre .css .rule .keyword, pre .winutils, pre .javascript .title, pre .method, pre .addition, pre .css .tag, pre .lisp .title {
|
||||
color: #859900;
|
||||
}
|
||||
pre .number, pre .command, pre .string, pre .tag .value, pre .phpdoc, pre .tex .formula, pre .regexp, pre .hexcolor {
|
||||
color: #2AA198;
|
||||
}
|
||||
pre .title, pre .localvars, pre .function .title, pre .chunk, pre .decorator, pre .builtin, pre .built_in, pre .lisp .title, pre .identifier, pre .title .keymethods, pre .id {
|
||||
color: #268BD2;
|
||||
}
|
||||
pre .attribute, pre .variable, pre .instancevar, pre .lisp .body, pre .smalltalk .number, pre .constant, pre .class .title, pre .parent, pre .haskell .label {
|
||||
color: #B58900;
|
||||
}
|
||||
pre .preprocessor, pre .pi, pre .shebang, pre .symbol, pre .diff .change, pre .special, pre .keymethods, pre .attr_selector, pre .important, pre .subst, pre .cdata {
|
||||
color: #CB4B16;
|
||||
}
|
||||
pre .deletion {
|
||||
color: #DC322F;
|
||||
}
|
||||
pre .tex .formula {
|
||||
background: none repeat scroll 0 0 #EEE8D5;
|
||||
}
|
||||
.grid {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 1.20482%;
|
||||
width: 100%;
|
||||
}
|
||||
.grid .toc-block {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 1.20482%;
|
||||
width: 100%;
|
||||
}
|
||||
.grid .toc-block:nth-child(3n) {
|
||||
float: left;
|
||||
margin-right: 1.20482%;
|
||||
}
|
||||
#header h1 {
|
||||
left: 1.20482%;
|
||||
}
|
||||
#header p {
|
||||
text-align: right;
|
||||
}
|
||||
#main {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 1.20482%;
|
||||
width: 66.2651%;
|
||||
}
|
||||
#header h1 {
|
||||
bottom: -22px;
|
||||
left: 0;
|
||||
width: 180px;
|
||||
}
|
||||
#header h1 .logo {
|
||||
background: none repeat scroll 0 0 #002B36;
|
||||
border-radius: 0 0 0 0;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
#header h1 .logo img {
|
||||
bottom: 0;
|
||||
height: 180px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 180px;
|
||||
}
|
||||
#header p {
|
||||
display: none;
|
||||
}
|
||||
#header .toc-nav-link {
|
||||
-moz-box-sizing: border-box;
|
||||
color: #002B36;
|
||||
display: inline;
|
||||
float: right;
|
||||
font-family: "Arvo","andale mono","lucida console",monospace;
|
||||
font-weight: 700;
|
||||
margin-right: 0;
|
||||
padding: 14px 0 16px;
|
||||
text-align: right;
|
||||
text-decoration: none;
|
||||
width: 41.6667%;
|
||||
}
|
||||
#header .toc-nav-link:before {
|
||||
font-size: 130%;
|
||||
line-height: 1;
|
||||
margin-right: 0.5em;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
#toc {
|
||||
display: inline;
|
||||
float: right;
|
||||
height: 0;
|
||||
margin-right: 0;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
#toc:target {
|
||||
height: auto;
|
||||
padding: 1em 0 5em;
|
||||
}
|
||||
#toc a {
|
||||
font-size: 120%;
|
||||
}
|
||||
#main {
|
||||
display: inline;
|
||||
float: left;
|
||||
font-size: 120%;
|
||||
margin-left: 0;
|
||||
margin-right: 1.20482%;
|
||||
width: 100%;
|
||||
}
|
||||
#main h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
#main h2 {
|
||||
font-size: 1.5em;
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
summary {
|
||||
display: block;
|
||||
font-family: "Arvo","andale mono","lucida console",monospace;
|
||||
color: #002B36;
|
||||
}
|
||||
|
||||
details > details {
|
||||
|
@ -7,9 +9,627 @@ details > details {
|
|||
}
|
||||
|
||||
details.resource > summary {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.resource-details {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
summary > i {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.resource-details table {
|
||||
margin-left: 1em;
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
.resource-details th, .resource-details td {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resource-details th {
|
||||
width: .1em;
|
||||
white-space: nowrap;
|
||||
padding-right: 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.resource-details td {
|
||||
font-family: "Arvo","andale mono","lucida console",monospace;
|
||||
}
|
||||
|
||||
details > summary:before {
|
||||
content: "" !important;
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-top: 1px;
|
||||
line-height: 14px;
|
||||
margin-right: 4px;
|
||||
vertical-align: text-top;
|
||||
background-image: url("glyphicons-halflings.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -456px -72px;
|
||||
}
|
||||
details.open > summary:before {
|
||||
background-position: -313px -119px;
|
||||
}
|
||||
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-top: 1px;
|
||||
*margin-right: .3em;
|
||||
line-height: 14px;
|
||||
vertical-align: text-top;
|
||||
background-image: url("glyphicons-halflings.png");
|
||||
background-position: 14px 14px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.icon-glass {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.icon-music {
|
||||
background-position: -24px 0;
|
||||
}
|
||||
|
||||
.icon-search {
|
||||
background-position: -48px 0;
|
||||
}
|
||||
|
||||
.icon-envelope {
|
||||
background-position: -72px 0;
|
||||
}
|
||||
|
||||
.icon-heart {
|
||||
background-position: -96px 0;
|
||||
}
|
||||
|
||||
.icon-star {
|
||||
background-position: -120px 0;
|
||||
}
|
||||
|
||||
.icon-star-empty {
|
||||
background-position: -144px 0;
|
||||
}
|
||||
|
||||
.icon-user {
|
||||
background-position: -168px 0;
|
||||
}
|
||||
|
||||
.icon-film {
|
||||
background-position: -192px 0;
|
||||
}
|
||||
|
||||
.icon-th-large {
|
||||
background-position: -216px 0;
|
||||
}
|
||||
|
||||
.icon-th {
|
||||
background-position: -240px 0;
|
||||
}
|
||||
|
||||
.icon-th-list {
|
||||
background-position: -264px 0;
|
||||
}
|
||||
|
||||
.icon-ok {
|
||||
background-position: -288px 0;
|
||||
}
|
||||
|
||||
.icon-remove {
|
||||
background-position: -312px 0;
|
||||
}
|
||||
|
||||
.icon-zoom-in {
|
||||
background-position: -336px 0;
|
||||
}
|
||||
|
||||
.icon-zoom-out {
|
||||
background-position: -360px 0;
|
||||
}
|
||||
|
||||
.icon-off {
|
||||
background-position: -384px 0;
|
||||
}
|
||||
|
||||
.icon-signal {
|
||||
background-position: -408px 0;
|
||||
}
|
||||
|
||||
.icon-cog {
|
||||
background-position: -432px 0;
|
||||
}
|
||||
|
||||
.icon-trash {
|
||||
background-position: -456px 0;
|
||||
}
|
||||
|
||||
.icon-home {
|
||||
background-position: 0 -24px;
|
||||
}
|
||||
|
||||
.icon-file {
|
||||
background-position: -24px -24px;
|
||||
}
|
||||
|
||||
.icon-time {
|
||||
background-position: -48px -24px;
|
||||
}
|
||||
|
||||
.icon-road {
|
||||
background-position: -72px -24px;
|
||||
}
|
||||
|
||||
.icon-download-alt {
|
||||
background-position: -96px -24px;
|
||||
}
|
||||
|
||||
.icon-download {
|
||||
background-position: -120px -24px;
|
||||
}
|
||||
|
||||
.icon-upload {
|
||||
background-position: -144px -24px;
|
||||
}
|
||||
|
||||
.icon-inbox {
|
||||
background-position: -168px -24px;
|
||||
}
|
||||
|
||||
.icon-play-circle {
|
||||
background-position: -192px -24px;
|
||||
}
|
||||
|
||||
.icon-repeat {
|
||||
background-position: -216px -24px;
|
||||
}
|
||||
|
||||
.icon-refresh {
|
||||
background-position: -240px -24px;
|
||||
}
|
||||
|
||||
.icon-list-alt {
|
||||
background-position: -264px -24px;
|
||||
}
|
||||
|
||||
.icon-lock {
|
||||
background-position: -287px -24px;
|
||||
}
|
||||
|
||||
.icon-flag {
|
||||
background-position: -312px -24px;
|
||||
}
|
||||
|
||||
.icon-headphones {
|
||||
background-position: -336px -24px;
|
||||
}
|
||||
|
||||
.icon-volume-off {
|
||||
background-position: -360px -24px;
|
||||
}
|
||||
|
||||
.icon-volume-down {
|
||||
background-position: -384px -24px;
|
||||
}
|
||||
|
||||
.icon-volume-up {
|
||||
background-position: -408px -24px;
|
||||
}
|
||||
|
||||
.icon-qrcode {
|
||||
background-position: -432px -24px;
|
||||
}
|
||||
|
||||
.icon-barcode {
|
||||
background-position: -456px -24px;
|
||||
}
|
||||
|
||||
.icon-tag {
|
||||
background-position: 0 -48px;
|
||||
}
|
||||
|
||||
.icon-tags {
|
||||
background-position: -25px -48px;
|
||||
}
|
||||
|
||||
.icon-book {
|
||||
background-position: -48px -48px;
|
||||
}
|
||||
|
||||
.icon-bookmark {
|
||||
background-position: -72px -48px;
|
||||
}
|
||||
|
||||
.icon-print {
|
||||
background-position: -96px -48px;
|
||||
}
|
||||
|
||||
.icon-camera {
|
||||
background-position: -120px -48px;
|
||||
}
|
||||
|
||||
.icon-font {
|
||||
background-position: -144px -48px;
|
||||
}
|
||||
|
||||
.icon-bold {
|
||||
background-position: -167px -48px;
|
||||
}
|
||||
|
||||
.icon-italic {
|
||||
background-position: -192px -48px;
|
||||
}
|
||||
|
||||
.icon-text-height {
|
||||
background-position: -216px -48px;
|
||||
}
|
||||
|
||||
.icon-text-width {
|
||||
background-position: -240px -48px;
|
||||
}
|
||||
|
||||
.icon-align-left {
|
||||
background-position: -264px -48px;
|
||||
}
|
||||
|
||||
.icon-align-center {
|
||||
background-position: -288px -48px;
|
||||
}
|
||||
|
||||
.icon-align-right {
|
||||
background-position: -312px -48px;
|
||||
}
|
||||
|
||||
.icon-align-justify {
|
||||
background-position: -336px -48px;
|
||||
}
|
||||
|
||||
.icon-list {
|
||||
background-position: -360px -48px;
|
||||
}
|
||||
|
||||
.icon-indent-left {
|
||||
background-position: -384px -48px;
|
||||
}
|
||||
|
||||
.icon-indent-right {
|
||||
background-position: -408px -48px;
|
||||
}
|
||||
|
||||
.icon-facetime-video {
|
||||
background-position: -432px -48px;
|
||||
}
|
||||
|
||||
.icon-picture {
|
||||
background-position: -456px -48px;
|
||||
}
|
||||
|
||||
.icon-pencil {
|
||||
background-position: 0 -72px;
|
||||
}
|
||||
|
||||
.icon-map-marker {
|
||||
background-position: -24px -72px;
|
||||
}
|
||||
|
||||
.icon-adjust {
|
||||
background-position: -48px -72px;
|
||||
}
|
||||
|
||||
.icon-tint {
|
||||
background-position: -72px -72px;
|
||||
}
|
||||
|
||||
.icon-edit {
|
||||
background-position: -96px -72px;
|
||||
}
|
||||
|
||||
.icon-share {
|
||||
background-position: -120px -72px;
|
||||
}
|
||||
|
||||
.icon-check {
|
||||
background-position: -144px -72px;
|
||||
}
|
||||
|
||||
.icon-move {
|
||||
background-position: -168px -72px;
|
||||
}
|
||||
|
||||
.icon-step-backward {
|
||||
background-position: -192px -72px;
|
||||
}
|
||||
|
||||
.icon-fast-backward {
|
||||
background-position: -216px -72px;
|
||||
}
|
||||
|
||||
.icon-backward {
|
||||
background-position: -240px -72px;
|
||||
}
|
||||
|
||||
.icon-play {
|
||||
background-position: -264px -72px;
|
||||
}
|
||||
|
||||
.icon-pause {
|
||||
background-position: -288px -72px;
|
||||
}
|
||||
|
||||
.icon-stop {
|
||||
background-position: -312px -72px;
|
||||
}
|
||||
|
||||
.icon-forward {
|
||||
background-position: -336px -72px;
|
||||
}
|
||||
|
||||
.icon-fast-forward {
|
||||
background-position: -360px -72px;
|
||||
}
|
||||
|
||||
.icon-step-forward {
|
||||
background-position: -384px -72px;
|
||||
}
|
||||
|
||||
.icon-eject {
|
||||
background-position: -408px -72px;
|
||||
}
|
||||
|
||||
.icon-chevron-left {
|
||||
background-position: -432px -72px;
|
||||
}
|
||||
|
||||
.icon-chevron-right {
|
||||
background-position: -456px -72px;
|
||||
}
|
||||
|
||||
.icon-plus-sign {
|
||||
background-position: 0 -96px;
|
||||
}
|
||||
|
||||
.icon-minus-sign {
|
||||
background-position: -24px -96px;
|
||||
}
|
||||
|
||||
.icon-remove-sign {
|
||||
background-position: -48px -96px;
|
||||
}
|
||||
|
||||
.icon-ok-sign {
|
||||
background-position: -72px -96px;
|
||||
}
|
||||
|
||||
.icon-question-sign {
|
||||
background-position: -96px -96px;
|
||||
}
|
||||
|
||||
.icon-info-sign {
|
||||
background-position: -120px -96px;
|
||||
}
|
||||
|
||||
.icon-screenshot {
|
||||
background-position: -144px -96px;
|
||||
}
|
||||
|
||||
.icon-remove-circle {
|
||||
background-position: -168px -96px;
|
||||
}
|
||||
|
||||
.icon-ok-circle {
|
||||
background-position: -192px -96px;
|
||||
}
|
||||
|
||||
.icon-ban-circle {
|
||||
background-position: -216px -96px;
|
||||
}
|
||||
|
||||
.icon-arrow-left {
|
||||
background-position: -240px -96px;
|
||||
}
|
||||
|
||||
.icon-arrow-right {
|
||||
background-position: -264px -96px;
|
||||
}
|
||||
|
||||
.icon-arrow-up {
|
||||
background-position: -289px -96px;
|
||||
}
|
||||
|
||||
.icon-arrow-down {
|
||||
background-position: -312px -96px;
|
||||
}
|
||||
|
||||
.icon-share-alt {
|
||||
background-position: -336px -96px;
|
||||
}
|
||||
|
||||
.icon-resize-full {
|
||||
background-position: -360px -96px;
|
||||
}
|
||||
|
||||
.icon-resize-small {
|
||||
background-position: -384px -96px;
|
||||
}
|
||||
|
||||
.icon-plus {
|
||||
background-position: -408px -96px;
|
||||
}
|
||||
|
||||
.icon-minus {
|
||||
background-position: -433px -96px;
|
||||
}
|
||||
|
||||
.icon-asterisk {
|
||||
background-position: -456px -96px;
|
||||
}
|
||||
|
||||
.icon-exclamation-sign {
|
||||
background-position: 0 -120px;
|
||||
}
|
||||
|
||||
.icon-gift {
|
||||
background-position: -24px -120px;
|
||||
}
|
||||
|
||||
.icon-leaf {
|
||||
background-position: -48px -120px;
|
||||
}
|
||||
|
||||
.icon-fire {
|
||||
background-position: -72px -120px;
|
||||
}
|
||||
|
||||
.icon-eye-open {
|
||||
background-position: -96px -120px;
|
||||
}
|
||||
|
||||
.icon-eye-close {
|
||||
background-position: -120px -120px;
|
||||
}
|
||||
|
||||
.icon-warning-sign {
|
||||
background-position: -144px -120px;
|
||||
}
|
||||
|
||||
.icon-plane {
|
||||
background-position: -168px -120px;
|
||||
}
|
||||
|
||||
.icon-calendar {
|
||||
background-position: -192px -120px;
|
||||
}
|
||||
|
||||
.icon-random {
|
||||
width: 16px;
|
||||
background-position: -216px -120px;
|
||||
}
|
||||
|
||||
.icon-comment {
|
||||
background-position: -240px -120px;
|
||||
}
|
||||
|
||||
.icon-magnet {
|
||||
background-position: -264px -120px;
|
||||
}
|
||||
|
||||
.icon-chevron-up {
|
||||
background-position: -288px -120px;
|
||||
}
|
||||
|
||||
.icon-chevron-down {
|
||||
background-position: -313px -119px;
|
||||
}
|
||||
|
||||
.icon-retweet {
|
||||
background-position: -336px -120px;
|
||||
}
|
||||
|
||||
.icon-shopping-cart {
|
||||
background-position: -360px -120px;
|
||||
}
|
||||
|
||||
.icon-folder-close {
|
||||
width: 16px;
|
||||
background-position: -384px -120px;
|
||||
}
|
||||
|
||||
.icon-folder-open {
|
||||
width: 16px;
|
||||
background-position: -408px -120px;
|
||||
}
|
||||
|
||||
.icon-resize-vertical {
|
||||
background-position: -432px -119px;
|
||||
}
|
||||
|
||||
.icon-resize-horizontal {
|
||||
background-position: -456px -118px;
|
||||
}
|
||||
|
||||
.icon-hdd {
|
||||
background-position: 0 -144px;
|
||||
}
|
||||
|
||||
.icon-bullhorn {
|
||||
background-position: -24px -144px;
|
||||
}
|
||||
|
||||
.icon-bell {
|
||||
background-position: -48px -144px;
|
||||
}
|
||||
|
||||
.icon-certificate {
|
||||
background-position: -72px -144px;
|
||||
}
|
||||
|
||||
.icon-thumbs-up {
|
||||
background-position: -96px -144px;
|
||||
}
|
||||
|
||||
.icon-thumbs-down {
|
||||
background-position: -120px -144px;
|
||||
}
|
||||
|
||||
.icon-hand-right {
|
||||
background-position: -144px -144px;
|
||||
}
|
||||
|
||||
.icon-hand-left {
|
||||
background-position: -168px -144px;
|
||||
}
|
||||
|
||||
.icon-hand-up {
|
||||
background-position: -192px -144px;
|
||||
}
|
||||
|
||||
.icon-hand-down {
|
||||
background-position: -216px -144px;
|
||||
}
|
||||
|
||||
.icon-circle-arrow-right {
|
||||
background-position: -240px -144px;
|
||||
}
|
||||
|
||||
.icon-circle-arrow-left {
|
||||
background-position: -264px -144px;
|
||||
}
|
||||
|
||||
.icon-circle-arrow-up {
|
||||
background-position: -288px -144px;
|
||||
}
|
||||
|
||||
.icon-circle-arrow-down {
|
||||
background-position: -312px -144px;
|
||||
}
|
||||
|
||||
.icon-globe {
|
||||
background-position: -336px -144px;
|
||||
}
|
||||
|
||||
.icon-wrench {
|
||||
background-position: -360px -144px;
|
||||
}
|
||||
|
||||
.icon-tasks {
|
||||
background-position: -384px -144px;
|
||||
}
|
||||
|
||||
.icon-filter {
|
||||
background-position: -408px -144px;
|
||||
}
|
||||
|
||||
.icon-briefcase {
|
||||
background-position: -432px -144px;
|
||||
}
|
||||
|
||||
.icon-fullscreen {
|
||||
background-position: -456px -144px;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
module Middleman
|
||||
module MetaPages
|
||||
# View class for a config entry
|
||||
class ConfigSetting
|
||||
include Padrino::Helpers::OutputHelpers
|
||||
include Padrino::Helpers::TagHelpers
|
||||
|
||||
def initialize(setting)
|
||||
@setting = setting
|
||||
end
|
||||
|
||||
def render
|
||||
content = ""
|
||||
key_classes = ['key']
|
||||
key_classes << 'modified' if @setting.value_set?
|
||||
content << content_tag(:span, @setting.key.inspect, :class => key_classes.join(' '))
|
||||
content << " = "
|
||||
content << content_tag(:span, CGI::escapeHTML(@setting.value.inspect), :class => 'value')
|
||||
if @setting.default
|
||||
content << content_tag(:span, :class => 'default') do
|
||||
if @setting.value_set?
|
||||
"Default: #{CGI::escapeHTML(@setting.default.inspect)}"
|
||||
else
|
||||
"(Default)"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if @setting.description
|
||||
content << content_tag(:p, :class => 'description') do
|
||||
CGI::escapeHTML(@setting.description)
|
||||
end
|
||||
end
|
||||
|
||||
content
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -11,11 +11,15 @@ module Middleman
|
|||
|
||||
def render
|
||||
content_tag :div, :class => 'resource-details' do
|
||||
content_tag :dl do
|
||||
content_tag :table do
|
||||
content = ""
|
||||
resource_properties.each do |label, value|
|
||||
content << content_tag(:dt, label)
|
||||
content << content_tag(:dd, value)
|
||||
content << content_tag(:tr) do
|
||||
row_content = ""
|
||||
row_content << content_tag(:th, label)
|
||||
row_content << content_tag(:td, value)
|
||||
row_content
|
||||
end
|
||||
end
|
||||
content
|
||||
end
|
||||
|
@ -24,13 +28,20 @@ module Middleman
|
|||
|
||||
# A hash of label to value for all the properties we want to display
|
||||
def resource_properties
|
||||
{
|
||||
props = {
|
||||
'Path' => @resource.path,
|
||||
'Output Path' => File.join(@resource.app.build_dir, @resource.destination_path),
|
||||
'Url' => content_tag(:a, @resource.url, :href => @resource.url),
|
||||
#'Metadata' => @resource.metadata,
|
||||
'Source' => @resource.source_file
|
||||
'Build Path' => @resource.destination_path,
|
||||
'URL' => content_tag(:a, @resource.url, :href => @resource.url),
|
||||
'Template' => @resource.source_file,
|
||||
}
|
||||
|
||||
data = @resource.data
|
||||
props['Data'] = data unless data.empty?
|
||||
|
||||
options = @resource.metadata[:options]
|
||||
props['Options'] = options unless options.empty?
|
||||
|
||||
props
|
||||
end
|
||||
|
||||
def css_classes
|
||||
|
|
|
@ -14,10 +14,30 @@ module Middleman
|
|||
|
||||
def render
|
||||
content = ""
|
||||
@children.keys.sort_by(&:downcase).each do |path_part|
|
||||
@children.keys.sort do |a,b|
|
||||
a_subtree = @children[a]
|
||||
b_subtree = @children[b]
|
||||
if a_subtree.is_a? SitemapResource
|
||||
if b_subtree.is_a? SitemapResource
|
||||
a.downcase <=> b.downcase
|
||||
else
|
||||
1
|
||||
end
|
||||
elsif b_subtree.is_a? SitemapResource
|
||||
if a_subtree.is_a? SitemapResource
|
||||
b.downcase <=> a.downcase
|
||||
else
|
||||
-1
|
||||
end
|
||||
else
|
||||
a.downcase <=> b.downcase
|
||||
end
|
||||
end.each do |path_part|
|
||||
subtree = @children[path_part]
|
||||
content << "<details class='#{subtree.css_classes.join(' ')}'>"
|
||||
content << "<summary>#{path_part}</summary>"
|
||||
content << "<summary>"
|
||||
content << "<i class='icon-folder-open'></i>" unless subtree.is_a? SitemapResource
|
||||
content << "#{path_part}</summary>"
|
||||
content << subtree.render
|
||||
content << "</details>"
|
||||
end
|
||||
|
|
|
@ -2,57 +2,44 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Middleman Config</title>
|
||||
<title>Middleman Configuration</title>
|
||||
<link type="text/css" rel="stylesheet" href="../assets/meta.css">
|
||||
<link type="text/css" rel="stylesheet" href="../assets/config.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Middleman Config</h1>
|
||||
<a href="../">More meta pages</a>
|
||||
<div class="container">
|
||||
<article id="main">
|
||||
<a href="../">« back</a>
|
||||
<h1>Middleman Configuration</h1>
|
||||
|
||||
<h2>Core Configuration</h2>
|
||||
<ul>
|
||||
<% config.all_settings.each do |setting| %>
|
||||
<li>
|
||||
<b><%= setting.key.inspect %></b>:
|
||||
<%= setting.value.inspect %>
|
||||
<% if setting.value_set? %>
|
||||
<br>
|
||||
Default: <%= setting.default.inspect %>
|
||||
<% else %>
|
||||
(Default)
|
||||
<% end %>
|
||||
<br>
|
||||
<i><%= setting.description %></i>
|
||||
</li>
|
||||
<p>This page shows the current configuration of your Middleman application.</p>
|
||||
|
||||
<p>
|
||||
<a href="#core">Core configuration</a>
|
||||
| <a href="#extensions">Extensions</a>
|
||||
</p>
|
||||
|
||||
<h2 id="core">Core Configuration</h2>
|
||||
<ul class="settings">
|
||||
<% global_config.each do |setting| %>
|
||||
<li class="setting"><%= setting.render %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<h2>Extensions</h2>
|
||||
<ul>
|
||||
<% extensions.each do |ext_name, extension| %>
|
||||
<h2 id="extensions">Extensions</h2>
|
||||
<ul class="extensions">
|
||||
<% extension_config.each do |ext_name, configs| %>
|
||||
<li>
|
||||
<% registered_extensions.delete(ext_name) %>
|
||||
|
||||
<b><%= ext_name.inspect %></b> (Active)
|
||||
<% if extension.is_a?(::Middleman::Extension) && !extension.options.all_settings.empty? %>
|
||||
<br>
|
||||
<b>Options:</b>
|
||||
<br>
|
||||
<ul>
|
||||
<% extension.options.all_settings.each do |setting| %>
|
||||
<li>
|
||||
<b><%= setting.key.inspect %></b>:
|
||||
<%= setting.value.inspect %>
|
||||
<% if setting.value_set? %>
|
||||
<br>
|
||||
Default: <%= setting.default.inspect %>
|
||||
<% else %>
|
||||
(Default)
|
||||
<% end %>
|
||||
<br>
|
||||
<i><%= setting.description %></i>
|
||||
</li>
|
||||
<span class="extension active"><%= ext_name.inspect %></span>
|
||||
|
||||
|
||||
<% if configs && !configs.empty? %>
|
||||
<ul class="settings">
|
||||
<% configs.each do |setting| %>
|
||||
<li class="setting"><%= setting.render %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
@ -61,10 +48,11 @@
|
|||
<% end %>
|
||||
|
||||
<% registered_extensions.keys.each do |ext_name| %>
|
||||
<li><b><%= ext_name.inspect %></b> (Inactive)</li>
|
||||
<li><span class="extension"><%= ext_name.inspect %></span> (Inactive)</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -2,19 +2,20 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Middleman Meta Pages</title>
|
||||
<title>Middleman Info</title>
|
||||
<link type="text/css" rel="stylesheet" href="assets/meta.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Middleman Meta Pages</h1>
|
||||
<div class="container">
|
||||
<h1>Middleman Information</h1>
|
||||
|
||||
<p>Peer into the bowels of your Middleman application with these handy views!</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="sitemap/">Sitemap</a></li>
|
||||
<li><a href="config/">Configuration</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="sitemap/">Sitemap</a></li>
|
||||
<li><a href="config/">Configuration</a></li>
|
||||
<li><a href="http://middlemanapp.com">Middleman Guides</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
<title>Middleman Sitemap</title>
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="../assets/meta.css">
|
||||
<link type="text/css" rel="stylesheet" href="../assets/sitemap.css">
|
||||
<script src="../assets/jquery-1.8.2.min.js"></script>
|
||||
<script src="../assets/jquery.details-1.6.min.js"></script>
|
||||
|
@ -12,10 +14,18 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Middleman Sitemap</h1>
|
||||
<a href="../">More meta pages</a>
|
||||
<div class="container">
|
||||
<article id="main">
|
||||
<a href="../">« back</a>
|
||||
<h1>Middleman Sitemap</h1>
|
||||
|
||||
<%= sitemap_tree.render %>
|
||||
<p>This page shows all of the pages in
|
||||
the <a href="http://middlemanapp.com/advanced/sitemap/">sitemap</a>,
|
||||
Middleman's view of your site.</p>
|
||||
|
||||
<%= sitemap_tree.render %>
|
||||
</article>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue