swiftfire-jekyll-theme 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +23 -0
  3. data/README.md +107 -0
  4. data/_data/cblocks.yml +31 -0
  5. data/_data/setup.yml +135 -0
  6. data/_data/text-for.yml +53 -0
  7. data/_includes/account-menus.html +82 -0
  8. data/_includes/banner-area.html +57 -0
  9. data/_includes/banner-icon.html +23 -0
  10. data/_includes/banner-title-area.html +30 -0
  11. data/_includes/cblock-row.html +18 -0
  12. data/_includes/cblock.html +20 -0
  13. data/_includes/disqus-comments.html +39 -0
  14. data/_includes/footer.html +16 -0
  15. data/_includes/google-analytics.html +21 -0
  16. data/_includes/head.html +74 -0
  17. data/_includes/menubar-icon.html +23 -0
  18. data/_includes/menubar.html +487 -0
  19. data/_includes/secondary-column.html +37 -0
  20. data/_includes/tertiary-column.html +8 -0
  21. data/_includes/vertical-menu.html +378 -0
  22. data/_includes/widgets/browser-info.html +16 -0
  23. data/_includes/widgets/categories.html +32 -0
  24. data/_includes/widgets/cookie-consent.html +21 -0
  25. data/_includes/widgets/older-posts.html +71 -0
  26. data/_includes/widgets/recent-posts.html +24 -0
  27. data/_includes/widgets/social-media-res/icon-github.html +7 -0
  28. data/_includes/widgets/social-media-res/icon-github.svg +1 -0
  29. data/_includes/widgets/social-media-res/icon-twitter.html +7 -0
  30. data/_includes/widgets/social-media-res/icon-twitter.svg +1 -0
  31. data/_includes/widgets/social-media.html +29 -0
  32. data/_includes/widgets/subscribe.html +18 -0
  33. data/_includes/widgets/youtube-player.html +38 -0
  34. data/_layouts/banner-layout.html +1 -0
  35. data/_layouts/category-page.html +51 -0
  36. data/_layouts/content-blocks.html +6 -0
  37. data/_layouts/default.html +152 -0
  38. data/_layouts/home.html +22 -0
  39. data/_layouts/page.html +30 -0
  40. data/_layouts/post.html +20 -0
  41. data/_sass/classic-jekyll-theme.scss +1178 -0
  42. data/_sass/classic/_banner-area.scss +552 -0
  43. data/_sass/classic/_body.scss +15 -0
  44. data/_sass/classic/_columns.scss +122 -0
  45. data/_sass/classic/_custom.scss +138 -0
  46. data/_sass/classic/_footer.scss +31 -0
  47. data/_sass/classic/_menubar.scss +530 -0
  48. data/_sass/classic/_normalize-override.scss +22 -0
  49. data/_sass/classic/_normalize.scss +447 -0
  50. data/_sass/classic/_page.scss +12 -0
  51. data/_sass/classic/_post.scss +10 -0
  52. data/_sass/classic/_swiftfire.scss +54 -0
  53. data/_sass/classic/_syntax-highlighting.scss +71 -0
  54. data/_sass/classic/_theme-internal.scss +37 -0
  55. data/_sass/classic/_theme-library.scss +85 -0
  56. data/_sass/classic/_vertical-menu.scss +252 -0
  57. data/_sass/classic/_widgets.scss +88 -0
  58. data/assets/img/banner-area-layout.png +0 -0
  59. data/assets/img/cog-wheels-120x68.png +0 -0
  60. data/assets/img/cog-wheels-240x135.png +0 -0
  61. data/assets/img/cog-wheels-30x17.png +0 -0
  62. data/assets/img/cog-wheels-60x43.png +0 -0
  63. data/assets/img/column-panel-layout.png +0 -0
  64. data/assets/img/test-pattern-110x83.png +0 -0
  65. data/assets/img/test-pattern-1280x800.png +0 -0
  66. data/assets/img/test-pattern-220x165.png +0 -0
  67. data/assets/img/test-pattern-55x42.png +0 -0
  68. data/assets/img/test-pattern-640x400.png +0 -0
  69. data/assets/img/top-level-layout.png +0 -0
  70. data/assets/js/cookieconsent.min.js +1 -0
  71. data/assets/main.scss +9 -0
  72. data/assets/templates/comment-section.sf.html +137 -0
  73. data/assets/templates/email-verification-text.sf.html +6 -0
  74. data/assets/templates/request-new-password-text.sf.txt +7 -0
  75. data/icons/android-chrome-192x192.png +0 -0
  76. data/icons/apple-touch-icon.png +0 -0
  77. data/icons/browserconfig.xml +9 -0
  78. data/icons/favicon-16x16.png +0 -0
  79. data/icons/favicon-32x32.png +0 -0
  80. data/icons/favicon.ico +0 -0
  81. data/icons/manifest.json +13 -0
  82. data/icons/mstile-150x150.png +0 -0
  83. data/icons/safari-pinned-tab.svg +14 -0
  84. data/pages/about/about.md +15 -0
  85. data/pages/account/comment-edit.sf.md +60 -0
  86. data/pages/account/comment-review.sf.md +80 -0
  87. data/pages/account/email-verification-failed.sf.md +11 -0
  88. data/pages/account/email-verification-success.sf.md +7 -0
  89. data/pages/account/error.sf.md +13 -0
  90. data/pages/account/forgot-password-continue.sf.md +9 -0
  91. data/pages/account/forgot-password.sf.md +25 -0
  92. data/pages/account/login.sf.md +19 -0
  93. data/pages/account/not-allowed.sf.md +7 -0
  94. data/pages/account/register-continue.sf.md +11 -0
  95. data/pages/account/register.sf.md +30 -0
  96. data/pages/account/request-new-password-failed.sf.md +13 -0
  97. data/pages/account/set-new-password-success.sf.md +7 -0
  98. data/pages/account/set-new-password.sf.md +25 -0
  99. data/pages/categories/classic.md +10 -0
  100. data/pages/categories/example.md +10 -0
  101. data/pages/categories/jekyll.md +10 -0
  102. data/pages/categories/update.md +10 -0
  103. data/pages/classic/01-features.md +36 -0
  104. data/pages/classic/02-setup.md +113 -0
  105. data/pages/classic/03-pages-and-posts.md +25 -0
  106. data/pages/classic/04-posts.md +18 -0
  107. data/pages/classic/05-menus.md +118 -0
  108. data/pages/classic/06-categories.md +38 -0
  109. data/pages/classic/07-terminology.md +35 -0
  110. data/pages/classic/08-versioning.md +23 -0
  111. data/pages/classic/09-problems.md +25 -0
  112. data/pages/contact/contact.md +18 -0
  113. data/pages/cookie-consent/cookie-consent.md +7 -0
  114. data/pages/download/download.md +10 -0
  115. data/pages/jekyll/01-jekyll.md +42 -0
  116. data/pages/jekyll/02-speed.md +88 -0
  117. data/pages/jekyll/03-ruby.md +19 -0
  118. data/pages/jekyll/04-cron-job.md +163 -0
  119. data/pages/layouts/banner-main.md +36 -0
  120. data/pages/layouts/blocks.md +11 -0
  121. data/pages/layouts/landing-page.md +21 -0
  122. data/pages/layouts/no-sec-no-ter.md +28 -0
  123. data/pages/layouts/sec-left-no-ter.md +28 -0
  124. data/pages/layouts/sec-left-ter-right.md +28 -0
  125. data/pages/layouts/sec-right-no-ter.md +28 -0
  126. data/pages/layouts/sec-right-ter-left.md +28 -0
  127. data/pages/menus/external-url.md +28 -0
  128. data/pages/menus/landing-page.md +8 -0
  129. data/pages/menus/submenu-subsections.md +72 -0
  130. data/pages/menus/submenu1.md +22 -0
  131. data/pages/menus/submenu2.md +21 -0
  132. data/pages/menus/submenu3.md +47 -0
  133. data/pages/menus/submenu4.md +36 -0
  134. data/pages/menus/subsubmenu3-1.md +21 -0
  135. data/pages/menus/subsubmenu3-2.md +21 -0
  136. data/pages/menus/subsubmenu4-1.md +31 -0
  137. data/pages/menus/subsubmenu4-2.md +31 -0
  138. metadata +269 -0
@@ -0,0 +1,88 @@
1
+ // Formatting for the widgets. Note that widgets are small.
2
+ .widget {
3
+ font-size: $small-2-font-size;
4
+ h1 { font-size: $small-1-font-size; font-weight: bold; }
5
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure { margin-bottom: 0; }
6
+ }
7
+
8
+ // The separator between widgets, a thin horizontal line.
9
+ .widget-separator {
10
+ margin-top: $vspacing-unit / 2;
11
+ margin-left: 0;
12
+ margin-bottom: $vspacing-unit / 2;
13
+ margin-right: 0;
14
+ border-bottom: 1px solid $widget-separator-color;
15
+ @if $widget-separator-display { display: block; } @else { display: none; }
16
+ }
17
+
18
+ // Separator between primary, secondary and tertiary
19
+ .secondary-widget-separator { @extend .widget-separator; }
20
+ .tertiary-widget-separator { @extend .widget-separator; }
21
+
22
+ // Used to include an iframe that scales with the column width in HD (16:9) format.
23
+ // To be used for the div that wraps an iframe like:
24
+ // <div class="scaling-iframe-wrapper-hd"><iframe>...</iframe></div>
25
+ // Very usefull for video players etc.
26
+ .scaling-iframe-wrapper-hd {
27
+ position: relative;
28
+ padding-bottom: 56.25%; // HD ratio is 16:9 => (9/16)*100%= 56.25%
29
+ padding-top: 30px;
30
+ overflow: hidden;
31
+ margin-top: $vspacing-unit;
32
+ margin-bottom: $vspacing-unit;
33
+ iframe {
34
+ // Allows component to extend over the padding area
35
+ position: absolute;
36
+ // Let the upper left corner be the upper left corner of the containg element
37
+ top: 0;
38
+ left: 0;
39
+ // Make the iframe as big as its container.
40
+ width: 100%;
41
+ height: 100%;
42
+ }
43
+ }
44
+
45
+ // Used by the older-posts widget
46
+ .older-posts {
47
+ h1 {
48
+ margin-bottom: $vspacing-unit/2;
49
+ }
50
+ .year-details {
51
+ summary {
52
+ outline: none; // Prevent blue input-active activity border
53
+ }
54
+ .month-details {
55
+ padding-left: $hspacing-unit;
56
+ p {
57
+ padding: 0 0 0 (2 * $hspacing-unit);
58
+ margin: 0 0 0 0;
59
+ text-indent: -$hspacing-unit;
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ // For the categories
66
+ .categories {
67
+
68
+ // Do not display the checkbox
69
+ input { display: none; }
70
+
71
+ p { margin: 0 }
72
+
73
+ a {
74
+ text-decoration: none;
75
+ display: block;
76
+ background: $category-item-background;
77
+ }
78
+ a:hover { background: $category-item-background-hover; }
79
+
80
+ label h1 { background: $category-header-background; }
81
+ label h1:hover { background: $category-header-background-hover; }
82
+
83
+ .title { padding: $category-item-padding; }
84
+
85
+ // Only display the categories when the cat input checkbox is active
86
+ .title { display: none; }
87
+ input:checked ~ { .title { display: block; } }
88
+ }
@@ -0,0 +1 @@
1
+ !function(){if(!window.hasCookieConsent){window.hasCookieConsent=!0;var e="cookieconsent_options",t="update_cookieconsent_options",n="cookieconsent_dismissed",i="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/";if(!(document.cookie.indexOf(n)>-1)){"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var o,s={isArray:function(e){var t=Object.prototype.toString.call(e);return"[object Array]"==t},isObject:function(e){return"[object Object]"==Object.prototype.toString.call(e)},each:function(e,t,n,i){if(s.isObject(e)&&!i)for(var o in e)e.hasOwnProperty(o)&&t.call(n,e[o],o,e);else for(var r=0,c=e.length;c>r;r++)t.call(n,e[r],r,e)},merge:function(e,t){e&&s.each(t,function(t,n){s.isObject(t)&&s.isObject(e[n])?s.merge(e[n],t):e[n]=t})},bind:function(e,t){return function(){return e.apply(t,arguments)}},queryObject:function(e,t){var n,i=0,o=e;for(t=t.split(".");(n=t[i++])&&o.hasOwnProperty(n)&&(o=o[n]);)if(i===t.length)return o;return null},setCookie:function(e,t,n,i,o){n=n||365;var s=new Date;s.setDate(s.getDate()+n);var r=[e+"="+t,"expires="+s.toUTCString(),"path="+o||"/"];i&&r.push("domain="+i),document.cookie=r.join(";")},addEventListener:function(e,t,n){e.addEventListener?e.addEventListener(t,n):e.attachEvent("on"+t,n)}},r=function(){var e="data-cc-event",t="data-cc-if",n=function(e,t,i){return s.isArray(t)?s.each(t,function(t){n(e,t,i)}):void(e.addEventListener?e.addEventListener(t,i):e.attachEvent("on"+t,i))},i=function(e,t){return e.replace(/\{\{(.*?)\}\}/g,function(e,n){for(var i,o,r=n.split("||");o=r.shift();){if(o=o.trim(),'"'===o[0])return o.slice(1,o.length-1);if(i=s.queryObject(t,o))return i}return""})},o=function(e){var t=document.createElement("div");return t.innerHTML=e,t.children[0]},r=function(e,t,n){var i=e.parentNode.querySelectorAll("["+t+"]");s.each(i,function(e){var i=e.getAttribute(t);n(e,i)},window,!0)},c=function(t,i){r(t,e,function(e,t){var o=t.split(":"),r=s.queryObject(i,o[1]);n(e,o[0],s.bind(r,i))})},a=function(e,n){r(e,t,function(e,t){var i=s.queryObject(n,t);i||e.parentNode.removeChild(e)})};return{build:function(e,t){s.isArray(e)&&(e=e.join("")),e=i(e,t);var n=o(e);return c(n,t),a(n,t),n}}}(),c={options:{message:"This website uses cookies to ensure you get the best experience on our website. ",dismiss:"Got it!",learnMore:"More info",link:null,target:"_self",container:null,theme:"light-floating",domain:null,path:"/",expiryDays:365,markup:['<div class="cc_banner-wrapper {{containerClasses}}">','<div class="cc_banner cc_container cc_container--open">','<a href="#null" data-cc-event="click:dismiss" target="_blank" class="cc_btn cc_btn_accept_all">{{options.dismiss}}</a>','<p class="cc_message">{{options.message}} <a data-cc-if="options.link" target="{{ options.target }}" class="cc_more_info" href="{{options.link || "#null"}}">{{options.learnMore}}</a></p>','<a class="cc_logo" target="_blank" href="http://silktide.com/cookieconsent">Cookie Consent plugin for the EU cookie law</a>',"</div>","</div>"]},init:function(){var t=window[e];t&&this.setOptions(t),this.setContainer(),this.options.theme?this.loadTheme(this.render):this.render()},setOptionsOnTheFly:function(e){this.setOptions(e),this.render()},setOptions:function(e){s.merge(this.options,e)},setContainer:function(){this.options.container?this.container=document.querySelector(this.options.container):this.container=document.body,this.containerClasses="",navigator.appVersion.indexOf("MSIE 8")>-1&&(this.containerClasses+=" cc_ie8")},loadTheme:function(e){var t=this.options.theme;-1===t.indexOf(".css")&&(t=i+t+".css");var n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.href=t;var o=!1;n.onload=s.bind(function(){!o&&e&&(e.call(this),o=!0)},this),document.getElementsByTagName("head")[0].appendChild(n)},render:function(){this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),delete this.element),this.element=r.build(this.options.markup,this),this.container.firstChild?this.container.insertBefore(this.element,this.container.firstChild):this.container.appendChild(this.element)},dismiss:function(e){e.preventDefault&&e.preventDefault(),e.returnValue=!1,this.setDismissedCookie(),this.container.removeChild(this.element)},setDismissedCookie:function(){s.setCookie(n,"yes",this.options.expiryDays,this.options.domain,this.options.path)}},a=!1;(o=function(){a||"complete"!=document.readyState||(c.init(),a=!0,window[t]=s.bind(c.setOptionsOnTheFly,c))})(),s.addEventListener(document,"readystatechange",o)}}}();
@@ -0,0 +1,9 @@
1
+ ---
2
+ # Only the main Sass file needs front matter (the dashes are enough)
3
+ ---
4
+ @charset "utf-8";
5
+
6
+ // Note: This content has been removed in favour of the definitions in Classic-Jekyll-Theme.scss.
7
+
8
+ // Import partials from the theme.
9
+ @import "classic-jekyll-theme";
@@ -0,0 +1,137 @@
1
+ <style>
2
+ p { margin: 0; display: block; }
3
+ input { color: black; }
4
+ textarea { color: black; box-sizing: border-box; max-width: 100%; min-width: 100%; height: 150px; margin-bottom: 1em; }
5
+ .comment-section {
6
+ display: flex;
7
+ flex-direction: column;
8
+ width: 100%;
9
+ border-top: 1px solid lightgrey;
10
+ margin-top: 2em;
11
+ }
12
+ .comment-block {
13
+ display: flex;
14
+ flex-direction: row;
15
+ width: 100%;
16
+ margin-bottom: 1em;
17
+ }
18
+ .block-ident {
19
+ width: 20px;
20
+ }
21
+ .block-details {
22
+ border-top: 1px solid #dddddd;
23
+ display: flex;
24
+ flex-direction: column;
25
+ flex-grow: 1;
26
+ }
27
+ .details-header {
28
+ padding: 0.5em 0 0.5em 0;
29
+ font-size: .8em;
30
+ }
31
+ .details-text {
32
+ padding: .5em;
33
+ background-color: #f5f5f5;
34
+ font-size: .9em;
35
+ }
36
+ .details-footer {
37
+ display: none;
38
+ flex-direction: row;
39
+ justify-content: flex-end;
40
+ align-items: baseline;
41
+ }
42
+ .is-user-.show($account.uuid) {
43
+ display: flex;
44
+ }
45
+ .if($account.is-domain-admin, true)
46
+ .is-admin {
47
+ display: flex;
48
+ }
49
+ .end()
50
+ .if($account.is-moderator, true)
51
+ .is-moderator {
52
+ display: flex;
53
+ }
54
+ .end()
55
+ .small-button {
56
+ background-color: #e8e8e8;
57
+ border: 0;
58
+ margin-top: 2px;
59
+ margin-left: 4px;
60
+ font-size: .8em;
61
+ color: darkblue;
62
+ }
63
+ .comment-input {
64
+ border-top: 1px solid #dddddd;
65
+ width: 100%;
66
+ padding-top: 1em;
67
+ }
68
+ .input-form {
69
+ display: flex;
70
+ flex-direction: column;
71
+ }
72
+ .input-form-button {
73
+ margin-top: 1em;
74
+
75
+ }
76
+ .grey-text { color: lightgrey; }
77
+ .small-grey { color: grey; font-size: .8em; }
78
+ </style>
79
+
80
+ <div class="comment-section">
81
+ <p style="margin: 1em 0 1em 0;">Comments:</p>
82
+
83
+ .if($info.has-comments, false)
84
+ <p style="margin-top: 2em;">There are no comments yet</p>
85
+
86
+ .else()
87
+ .cached($request.comment-section-identifier, $info.afterstamp)
88
+ .for(comments, $request.comment-section-identifier)
89
+ .if($info.comment-removed, true)
90
+ <div class="comment-block">
91
+ <p>This comment has been removed.</p>
92
+ </div>
93
+ .else()
94
+ <div class="comment-block">
95
+ <div class="block-ident"></div>
96
+ <form class="block-details" method="post">
97
+ <div class="details-header">
98
+ <p>(.show($info.ind)) .show($info.dname)<span class="grey-text"> wrote on .show($info.ftimp).if($account.name, equal, $info.aname) edit: .show($info.ftime).end():</span></p>
99
+ </div>
100
+ <div class="details-text">
101
+ <p>.show($info.html)</p>
102
+ </div>
103
+ <div class="details-footer is-admin is-moderator is-user-.show($info.auuid)">
104
+ <input type="hidden" name="next-url" value=".show($service.relative-resource-path)">
105
+ <input type="hidden" name="comment-account-id" value=".show($info.auuid)">
106
+ <input type="hidden" name="comment-original-timestamp" value=".show($info.timp)">
107
+ <input type="hidden" name="comment-text" value=".show($info.orig)">
108
+ <input type="hidden" name="comment-section-identifier" value=".show($request.comment-section-identifier)">
109
+ <input class="small-button" type="submit" name="edit-button" value="Edit/Remove" formAction="/command/edit-comment">
110
+ </div>
111
+ </form>
112
+ </div>
113
+ .end(if-comment-removed)
114
+ .end(for-comments)
115
+ .end(cached)
116
+ .end()
117
+ .if($info.comments-enabled, true)
118
+ <div class="comment-input">
119
+ <form class="input-form" action="/command/post-comment" method="post">
120
+ <textarea name="comment-text" placeholder="Your comments"></textarea>
121
+ <p class="small-grey">Use [i]..[/i] for italic, [b]..[/b] for bold. Links will not be clickable.</p>
122
+ .if($account.name, nil)
123
+ <p class="small-grey">Anonymous comments need approval by a moderator and cannot be edited or deleted. New users will have their first few posts moderated.</p>
124
+ <p class="small-grey"><a href="/pages/login.sf.html">Login first</a> to enable editing and removal of comments.</p>
125
+ <input class="input-form-button" type="text" name="display-name" placeholder="Anonymous">
126
+ .end()
127
+ <input type="hidden" name="next-url" value=".show($service.relative-resource-path)">
128
+ <input type="hidden" name="comment-section-identifier" value=".show($request.comment-section-identifier)">
129
+ <input class="input-form-button" type="submit" value="Submit">
130
+ </form>
131
+ </div>
132
+ .else()
133
+ <div>
134
+ <p>Anonymous comments are not allowed, please login to comment.</p>
135
+ </div>
136
+ .end()
137
+ </div>
@@ -0,0 +1,6 @@
1
+ <p>Please visit this <a href=".show($request.link)">link</a> to complete the verification process<p>
2
+ <br>
3
+ <p>If the above link is not rendered correctly, copy and paste the following URL into a browser:</p>
4
+ <br>
5
+ <p>.show($request.link)</p>
6
+
@@ -0,0 +1,7 @@
1
+ Somebody requested a new password for your user account at Demo.
2
+
3
+ If that was not you, please ignore this email. Your current password will stay valid.
4
+
5
+ If that was you, please visit this <a href=".show($request.link)">.show($request.link)<a> within the next 24 hours to change your password.
6
+
7
+ If the link does not show, copy & paste the following url into a browser: .show($request.link)
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="/mstile-150x150.png"/>
6
+ <TileColor>#da532c</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>
Binary file
Binary file
Binary file
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "",
3
+ "icons": [
4
+ {
5
+ "src": "/android-chrome-192x192.png",
6
+ "sizes": "192x192",
7
+ "type": "image/png"
8
+ }
9
+ ],
10
+ "theme_color": "#ffffff",
11
+ "background_color": "#ffffff",
12
+ "display": "standalone"
13
+ }
Binary file
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="240.000000pt" height="240.000000pt" viewBox="0 0 240.000000 240.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.11, written by Peter Selinger 2001-2013
9
+ </metadata>
10
+ <g transform="translate(0.000000,240.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ <path d="M0 1195 l0 -675 1200 0 1200 0 0 675 0 675 -1200 0 -1200 0 0 -675z"/>
13
+ </g>
14
+ </svg>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: page
3
+ title: About this site
4
+ menuInclude: yes
5
+ menuLink: yes
6
+ menuTopTitle: About
7
+ menuTopIndex: 100
8
+ excerpt: A short introduction to the content of this site.
9
+ # end of description at 156 characters ----------| (last 3 chars will be replaced by '...' on overflow)
10
+ ---
11
+ This is a placeholder in the theme.
12
+
13
+ You can edit this page in the file `pages/about/about.md`
14
+
15
+ This is the 'Classic-Jekyll-Theme'. See "Jekyll -> Static Generator" for a general description of what Jekyll is.
@@ -0,0 +1,60 @@
1
+ ---
2
+ layout: page
3
+ title: Edit Comment
4
+ menuInclude: no
5
+ ---
6
+ <style>
7
+ p { margin: 0; display: block; }
8
+ input { color: black; }
9
+ textarea { color: black; box-sizing: border-box; max-width: 100%; min-width: 100%; height: 150px; margin-bottom: 1em; }
10
+ .comment-input {
11
+ border-top: 1px solid #dddddd;
12
+ width: 100%;
13
+ padding-top: 1em;
14
+ }
15
+ .input-form {
16
+ display: flex;
17
+ flex-direction: column;
18
+ }
19
+ .input-form-button {
20
+ margin-top: 1em;
21
+
22
+ }
23
+ .details-text {
24
+ margin: 1em 0 1em 0;
25
+ padding: .5em;
26
+ background-color: #f5f5f5;
27
+ font-size: .9em;
28
+ }
29
+ .small-grey {
30
+ color: grey;
31
+ font-size: .8em;
32
+ }
33
+ .preview {
34
+ margin: 2em 0 1em 0;
35
+ }
36
+ .remove-button {
37
+ margin-top: 2em;
38
+ }
39
+ </style>
40
+
41
+ <div class="comment-input">
42
+ <form class="input-form" method="post">
43
+ <textarea name="comment-text">.show($request.comment-text)</textarea>
44
+ <p class="small-grey">Use [i]..[/i] for italic, [b]..[/b] for bold. Links will not be clickable.</p>
45
+ <input type="hidden" name="next-url" value=".show($request.next-url)">
46
+ <input type="hidden" name="comment-section-identifier" value=".show($request.comment-section-identifier)">
47
+ <input type="hidden" name="comment-account-id" value=".show($request.comment-account-id)">
48
+ <input type="hidden" name="comment-original-timestamp" value=".show($request.comment-original-timestamp)">
49
+ <input class="input-form-button" formaction="/command/update-comment" type="submit" value="Submit">
50
+ <input class="input-form-button" formaction="/command/edit-comment" type="submit" value="Update Preview">
51
+ <input class="input-form-button" formaction="/command/cancel-update-comment" type="submit" value="Cancel">
52
+ <p class="small-grey remove-button">Remove is final.</p>
53
+ <input class="input-form-button" formAction="/command/remove-comment" style="color:red;" type="submit" value="Remove" >
54
+
55
+ </form>
56
+ </div>
57
+ <div>
58
+ <div class="preview">Preview:</div>
59
+ <div class="details-text"><p>.show($request.preview)</p></div>
60
+ </div>
@@ -0,0 +1,80 @@
1
+ ---
2
+ layout: page
3
+ title: Review Comments for Approval
4
+ menuInclude: no
5
+ menuTopTitle: Admin
6
+ menuSubTitle: Review comments for approval
7
+ ---
8
+ <style>
9
+ input { color: black; }
10
+ textarea { color: black; }
11
+ p { margin: 0; }
12
+ </style>
13
+
14
+ .if($account, nil)
15
+ .assign(illegal, true)
16
+ .else()
17
+ .if($account.is-moderator, true)
18
+ .assign(illegal, false)
19
+ .else()
20
+ .if($account.is-domain-admin, true)
21
+ .assign(illegal, false)
22
+ .else()
23
+ .assign(illegal, true)
24
+ .end()
25
+ .end()
26
+ .end()
27
+
28
+ .if($info.illegal, true)
29
+ <div style="width: 100%;">
30
+ <p>Insufficient acces rights, please <a href="/pages/login.sf.html">login</a> with an administrator or moderator account</p>
31
+ </div>
32
+
33
+ .else()
34
+ .setup(first-comment-to-approve)
35
+ <div style="width: 100%; display: flex; flex-direction: column;">
36
+
37
+ .if($info.none, true)
38
+ <div style="width: 100%;">
39
+ <p>There are no comments waiting for approval</p><br>
40
+ </div>
41
+
42
+ .else()
43
+ <div>
44
+ <p style="display: block; margin-bottom: 1em;">Comment by: .show($info.dname)</p>
45
+ </div>
46
+ <form method="post" action="/command/comment-review">
47
+ <input type="hidden" name="account-id" value=".show($info.auuid)">
48
+ <input type="hidden" name="comment-uuid" value=".show($info.uuid)">
49
+ <input type="hidden" name="comment-section-identifier" value=".show($info.csid)">
50
+ <input type="hidden" name="next-url" value="/pages/comment-review.sf.html">
51
+ <input type="hidden" name="comment-original-timestamp" value=".show($info.timp)">
52
+ <div style="width: 100%; display: flex; flex-direction: column;">
53
+ <div style="width: 100%; margin-left: auto; margin-right: auto; border: 1px solid lightgrey;">
54
+ <p style="display: block; width:100%; margin: 0; padding: 0;" disabled>.show($info.html)</p>
55
+ </div>
56
+ <div style="width: 100%; display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; margin-top: 1em;">
57
+ <p style="display: block; margin-bottom: 1em; color: grey;">Note: 'Reject' is final.</p>
58
+ <div style="display: flex; flex-direction: row; align-items: baseline; justify-content: flex-end;">
59
+ <input type="submit" name="button" value="Accept" style="margin-right: 1em">
60
+ <input type="submit" name="button" value="Reject" style="color: red; margin-right: 1em">
61
+ <input type="button" name="button" value="Show Article" formaction=".show($info.original-url)" formtarget="_blank">
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <div style="width: 100%; display: flex; flex-direction: column; margin-top: 2em;">
66
+ <p style="display: block; margin-bottom: 1em;">The original text may be modified below:</p>
67
+ <textarea style="max-width:100%; min-width:100%; height:200px; border: 1px solid lightgrey; box-sizing: border-box;" name="comment-text">.show($info.orig)</textarea>
68
+ <div style="width: 100%; display: flex; flex-direction: row; align-items: baseline; justify-content: space-between;">
69
+ <p style="display: block; margin-bottom: 1em; color: grey;">Note: 'Preview' updates the original comment.</p>
70
+ <div style="display: flex; flex-direction: row; align-items: baseline; justify-content: flex-end; margin-top: 1em;">
71
+ <input type="submit" name="button" value="Preview" style="margin-right: 1em">
72
+ <input type="submit" name="button" value="Update and Accept">
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </form>
77
+ .end(if-else-info-none)
78
+
79
+ </div>
80
+ .end(if-illegal)