diff --git a/assets/public/css/styles.css b/assets/public/css/styles.css index ea5bdb4a..0edf6705 100644 --- a/assets/public/css/styles.css +++ b/assets/public/css/styles.css @@ -1,416 +1,151 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS and IE text size adjust after device orientation change, - * without disabling user zoom. - */ +/* NORMALIZE CSS */ html { font-family: sans-serif; - /* 1 */ -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ + -webkit-text-size-adjust: 100% } - -/** - * Remove default margin. - */ - body { - margin: 0; + margin: 0 } - -/* HTML5 display definitions - ========================================================================== */ - - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { - display: block; +article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { + display: block } - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - audio, canvas, progress, video { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ + display: inline-block } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - audio:not([controls]) { display: none; - height: 0; + height: 0 } - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. - */ - -[hidden], template { - display: none; +progress { + vertical-align: baseline +} +template, [hidden] { + display: none } - -/* Links - ========================================================================== */ - - -/** - * Remove the gray background color from active links in IE 10. - */ - a { background-color: transparent; + -webkit-text-decoration-skip: objects } - -/** - * Improve readability of focused elements when they are also in an - * active/hover state. - */ - a:active, a:hover { - outline: 0; + outline-width: 0 } - -/* Text-level semantics - ========================================================================== */ - - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - abbr[title] { - border-bottom: 1px dotted; + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted } - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - b, strong { - font-weight: 500; + font-weight: inherit +} +b, strong { + font-weight: bolder } - -/** - * Address styling not present in Safari and Chrome. - */ - dfn { - font-style: italic; + font-style: italic } - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - h1 { font-size: 2em; - margin: 0.67em 0; + margin: 0.67em 0 } - -/** - * Address styling not present in IE 8/9. - */ - mark { - color: #000; - background: #ff0; + background-color: #ff0; + color: #000 } - -/** - * Address inconsistent and variable font size in all browsers. - */ - small { - font-size: 80%; + font-size: 80% } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - sub, sup { font-size: 75%; line-height: 0; position: relative; - vertical-align: baseline; -} -sup { - top: -.5em; + vertical-align: baseline } sub { - bottom: -.25em; + bottom: -0.25em +} +sup { + top: -0.5em } - -/* Embedded content - ========================================================================== */ - - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - img { - max-width: 100%; - border: 0; + border-style: none } - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - svg:not(:root) { - overflow: hidden; + overflow: hidden +} +code, kbd, pre, samp { + font-family: monospace, monospace; + font-size: 1em } - -/* Grouping content - ========================================================================== */ - - -/** - * Address margin not present in IE 8/9 and Safari. - */ - figure { - margin: 1em 40px; + margin: 1em 40px } - -/** - * Address differences between Firefox and other browsers. - */ - hr { box-sizing: content-box; height: 0; + overflow: visible } - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, kbd, pre, samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, input, optgroup, select, textarea { - /* 1 */ +button, input, select, textarea { font: inherit; - /* 2 */ - margin: 0; - color: inherit; - /* 3 */ + margin: 0 } - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, html input[type='button'], -/* 1 */ - -input[type='reset'], input[type='submit'] { - /* 2 */ - cursor: pointer; - -webkit-appearance: button; - /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; - border: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type='checkbox'], input[type='radio'] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. - */ - -input[type='search'] { - /* 1 */ - box-sizing: content-box; - -webkit-appearance: textfield; - /* 2 */ -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; - border: 1px solid #c0c0c0; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - /* 1 */ - padding: 0; - border: 0; - /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - optgroup { - font-weight: bold; + font-weight: bold } - -/* Tables - ========================================================================== */ - - -/** - * Remove most spacing between table cells. - */ - -table { - border-spacing: 0; - border-collapse: collapse; +button, input { + overflow: visible } -td, th { +button, select { + text-transform: none +} +button, html [type="button"], [type="reset"], [type="submit"] { + -webkit-appearance: button +} +button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0 +} +button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em +} +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; padding: 0; + white-space: normal +} +textarea { + overflow: auto +} +[type="checkbox"], [type="radio"] { + box-sizing: border-box; + padding: 0 +} +[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { + height: auto +} +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px +} +[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { + -webkit-appearance: none +} +::-webkit-input-placeholder { + color: inherit; + opacity: 0.54 +} +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit } /* TANANANA */ @@ -751,20 +486,20 @@ i.spin { /* EDITOR */ -.editor .frontmatter { +#editor .frontmatter { border: 1px solid #ddd; background: #fff; } -.editor label { +#editor label { display: inline-block; width: 19%; } -.editor fieldset { +#editor fieldset { margin: 0; padding: 0; border: 0; background-color: rgba(0, 0, 0, .05); } -.editor button { +#editor button { display: none; } diff --git a/assets/public/js/application.js b/assets/public/js/application.js index b17ca5af..0dbf5953 100644 --- a/assets/public/js/application.js +++ b/assets/public/js/application.js @@ -416,5 +416,15 @@ document.addEventListener("DOMContentLoaded", function (event) { }, false); } + + if (document.getElementById('editor')) { + handleEditorPage(); + } + return false; }); + +var handleEditorPage = function() { + + return false; +} diff --git a/assets/templates/editor.tmpl b/assets/templates/editor.tmpl index 53d324a1..c97dda00 100644 --- a/assets/templates/editor.tmpl +++ b/assets/templates/editor.tmpl @@ -1,5 +1,5 @@ {{ define "content" }} -
+
{{ if or (eq .Class "frontmatter-only") (eq .Class "complete") }}
diff --git a/filemanager.go b/filemanager.go index 40de0453..7444d0bf 100644 --- a/filemanager.go +++ b/filemanager.go @@ -104,6 +104,8 @@ func ErrorToHTTPCode(err error) int { switch { case os.IsPermission(err): return http.StatusForbidden + case os.IsNotExist(err): + return http.StatusNotFound case os.IsExist(err): return http.StatusGone default: diff --git a/listing.go b/listing.go index b2794579..a4a7db9d 100644 --- a/listing.go +++ b/listing.go @@ -77,6 +77,14 @@ func (l byName) Swap(i, j int) { l.Items[i], l.Items[j] = l.Items[j], l.Items[i] // Treat upper and lower case equally func (l byName) Less(i, j int) bool { + if l.Items[i].IsDir && !l.Items[j].IsDir { + return true + } + + if !l.Items[i].IsDir && l.Items[j].IsDir { + return false + } + return strings.ToLower(l.Items[i].Name) < strings.ToLower(l.Items[j].Name) } @@ -126,7 +134,7 @@ func (l Listing) applySort() { case "time": sort.Sort(byTime(l)) default: - // If not one of the above, do nothing + sort.Sort(byName(l)) return } }