diff --git a/.gitignore b/.gitignore index e14e49f3..49a04551 100644 --- a/.gitignore +++ b/.gitignore @@ -330,5 +330,6 @@ ASALocalRun/ .mfractor/ # Project specific -config.wyam.* +docs/cache/ +docs/output/ BuildArtifacts/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..daf63652 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "docs/theme"] + path = docs/theme + url = https://github.com/swissgrc/Docable.git diff --git a/docs/Documentation.csproj b/docs/Documentation.csproj new file mode 100644 index 00000000..ccc39fa1 --- /dev/null +++ b/docs/Documentation.csproj @@ -0,0 +1,15 @@ + + + + Exe + net9.0 + enable + enable + + + + + + + + diff --git a/docs/Program.cs b/docs/Program.cs new file mode 100644 index 00000000..5eb57f8c --- /dev/null +++ b/docs/Program.cs @@ -0,0 +1,11 @@ +return await Bootstrapper + .Factory + .CreateDocs(args) + .AddSetting(Docable.SiteKeys.Logo, "/assets/images/Icon.png") + .AddSetting(Keys.Host, "eoehen.github.io/arguard") + .AddSetting(Keys.LinksUseHttps, true) + .AddSetting(Docable.SiteKeys.RightSidebarHeadingLevel, 2) + .AddSetting(WebKeys.GenerateSearchIndex, true) + .AddSetting(WebKeys.AdditionalSearchResultFields, new List { Keys.Excerpt }) + .AddSetting(Statiq.Markdown.MarkdownKeys.MarkdownExtensions, "bootstrap") + .RunAsync(); \ No newline at end of file diff --git a/docs/config.wyam b/docs/config.wyam deleted file mode 100644 index a268a709..00000000 --- a/docs/config.wyam +++ /dev/null @@ -1,8 +0,0 @@ -#recipe Blog - -// Customize your settings and add new ones here -Settings[Keys.Host] = "https://eoehen.github.io/arguard"; -Settings[BlogKeys.Title] = "oehen.arguard"; -Settings[BlogKeys.Description] = "oehen.arguard library"; - -// Add any pipeline customizations here \ No newline at end of file diff --git a/docs/icons/android-icon-144x144.png b/docs/icons/android-icon-144x144.png deleted file mode 100644 index 372fc492..00000000 Binary files a/docs/icons/android-icon-144x144.png and /dev/null differ diff --git a/docs/icons/android-icon-192x192.png b/docs/icons/android-icon-192x192.png deleted file mode 100644 index 93677845..00000000 Binary files a/docs/icons/android-icon-192x192.png and /dev/null differ diff --git a/docs/icons/android-icon-36x36.png b/docs/icons/android-icon-36x36.png deleted file mode 100644 index 324137ea..00000000 Binary files a/docs/icons/android-icon-36x36.png and /dev/null differ diff --git a/docs/icons/android-icon-48x48.png b/docs/icons/android-icon-48x48.png deleted file mode 100644 index fc19379d..00000000 Binary files a/docs/icons/android-icon-48x48.png and /dev/null differ diff --git a/docs/icons/android-icon-72x72.png b/docs/icons/android-icon-72x72.png deleted file mode 100644 index 4bc9a5e0..00000000 Binary files a/docs/icons/android-icon-72x72.png and /dev/null differ diff --git a/docs/icons/android-icon-96x96.png b/docs/icons/android-icon-96x96.png deleted file mode 100644 index 3c2c29c3..00000000 Binary files a/docs/icons/android-icon-96x96.png and /dev/null differ diff --git a/docs/icons/apple-icon-114x114.png b/docs/icons/apple-icon-114x114.png deleted file mode 100644 index 4e05712a..00000000 Binary files a/docs/icons/apple-icon-114x114.png and /dev/null differ diff --git a/docs/icons/apple-icon-120x120.png b/docs/icons/apple-icon-120x120.png deleted file mode 100644 index 43568667..00000000 Binary files a/docs/icons/apple-icon-120x120.png and /dev/null differ diff --git a/docs/icons/apple-icon-144x144.png b/docs/icons/apple-icon-144x144.png deleted file mode 100644 index 372fc492..00000000 Binary files a/docs/icons/apple-icon-144x144.png and /dev/null differ diff --git a/docs/icons/apple-icon-152x152.png b/docs/icons/apple-icon-152x152.png deleted file mode 100644 index e3db7a14..00000000 Binary files a/docs/icons/apple-icon-152x152.png and /dev/null differ diff --git a/docs/icons/apple-icon-180x180.png b/docs/icons/apple-icon-180x180.png deleted file mode 100644 index 2bca3656..00000000 Binary files a/docs/icons/apple-icon-180x180.png and /dev/null differ diff --git a/docs/icons/apple-icon-57x57.png b/docs/icons/apple-icon-57x57.png deleted file mode 100644 index 5523fbb8..00000000 Binary files a/docs/icons/apple-icon-57x57.png and /dev/null differ diff --git a/docs/icons/apple-icon-60x60.png b/docs/icons/apple-icon-60x60.png deleted file mode 100644 index c83b27bf..00000000 Binary files a/docs/icons/apple-icon-60x60.png and /dev/null differ diff --git a/docs/icons/apple-icon-72x72.png b/docs/icons/apple-icon-72x72.png deleted file mode 100644 index 4bc9a5e0..00000000 Binary files a/docs/icons/apple-icon-72x72.png and /dev/null differ diff --git a/docs/icons/apple-icon-76x76.png b/docs/icons/apple-icon-76x76.png deleted file mode 100644 index 5aee474d..00000000 Binary files a/docs/icons/apple-icon-76x76.png and /dev/null differ diff --git a/docs/icons/apple-icon-precomposed.png b/docs/icons/apple-icon-precomposed.png deleted file mode 100644 index fb9cda19..00000000 Binary files a/docs/icons/apple-icon-precomposed.png and /dev/null differ diff --git a/docs/icons/apple-icon.png b/docs/icons/apple-icon.png deleted file mode 100644 index fb9cda19..00000000 Binary files a/docs/icons/apple-icon.png and /dev/null differ diff --git a/docs/icons/browserconfig.xml b/docs/icons/browserconfig.xml deleted file mode 100644 index c5541482..00000000 --- a/docs/icons/browserconfig.xml +++ /dev/null @@ -1,2 +0,0 @@ - -#ffffff \ No newline at end of file diff --git a/docs/icons/favicon-16x16.png b/docs/icons/favicon-16x16.png deleted file mode 100644 index fc67c28c..00000000 Binary files a/docs/icons/favicon-16x16.png and /dev/null differ diff --git a/docs/icons/favicon-32x32.png b/docs/icons/favicon-32x32.png deleted file mode 100644 index 1f101c57..00000000 Binary files a/docs/icons/favicon-32x32.png and /dev/null differ diff --git a/docs/icons/favicon-96x96.png b/docs/icons/favicon-96x96.png deleted file mode 100644 index 3c2c29c3..00000000 Binary files a/docs/icons/favicon-96x96.png and /dev/null differ diff --git a/docs/icons/favicon.ico b/docs/icons/favicon.ico deleted file mode 100644 index f18469fc..00000000 Binary files a/docs/icons/favicon.ico and /dev/null differ diff --git a/docs/icons/manifest.json b/docs/icons/manifest.json deleted file mode 100644 index 013d4a6a..00000000 --- a/docs/icons/manifest.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file diff --git a/docs/icons/ms-icon-144x144.png b/docs/icons/ms-icon-144x144.png deleted file mode 100644 index 372fc492..00000000 Binary files a/docs/icons/ms-icon-144x144.png and /dev/null differ diff --git a/docs/icons/ms-icon-150x150.png b/docs/icons/ms-icon-150x150.png deleted file mode 100644 index 3b6ad86c..00000000 Binary files a/docs/icons/ms-icon-150x150.png and /dev/null differ diff --git a/docs/icons/ms-icon-310x310.png b/docs/icons/ms-icon-310x310.png deleted file mode 100644 index f01a7741..00000000 Binary files a/docs/icons/ms-icon-310x310.png and /dev/null differ diff --git a/docs/icons/ms-icon-70x70.png b/docs/icons/ms-icon-70x70.png deleted file mode 100644 index 79ff4833..00000000 Binary files a/docs/icons/ms-icon-70x70.png and /dev/null differ diff --git a/docs/input/Shared/_Footer.cshtml b/docs/input/Shared/_Footer.cshtml new file mode 100644 index 00000000..dd1ce682 --- /dev/null +++ b/docs/input/Shared/_Footer.cshtml @@ -0,0 +1,8 @@ +
+
+
+ © @DateTime.Today.Year oehen.net and contributors - + Website generated By Statiq +
+
+
\ No newline at end of file diff --git a/docs/input/_Bottom.cshtml b/docs/input/_Bottom.cshtml deleted file mode 100644 index 1d078255..00000000 --- a/docs/input/_Bottom.cshtml +++ /dev/null @@ -1,50 +0,0 @@ -
- GitHub -
- - - - diff --git a/docs/input/_Footer.cshtml b/docs/input/_Footer.cshtml deleted file mode 100644 index 2c991f57..00000000 --- a/docs/input/_Footer.cshtml +++ /dev/null @@ -1,5 +0,0 @@ -

- Copyright © oehen.net and contributors. -
- Website generated by Wyam -

diff --git a/docs/input/_Navbar.cshtml b/docs/input/_Navbar.cshtml deleted file mode 100644 index 82b2b9b6..00000000 --- a/docs/input/_Navbar.cshtml +++ /dev/null @@ -1,12 +0,0 @@ -@{ - List> pages = new List> - { - Tuple.Create("Documentation", Context.GetLink("docs")), - Tuple.Create("API", Context.GetLink("api/oehen.arguard")) - }; - foreach(Tuple p in pages) - { - string active = Context.GetLink(Document).StartsWith(p.Item2) ? "active" : null; -
  • @Html.Raw(p.Item1)
  • - } -} \ No newline at end of file diff --git a/docs/input/assets/css/override.less b/docs/input/assets/css/override.less deleted file mode 100644 index 629247e0..00000000 --- a/docs/input/assets/css/override.less +++ /dev/null @@ -1,144 +0,0 @@ -/* Control the margin for bootstrap alert boxes */ -.alert > p { - margin-top: 0px; -} - -/* Control the look and feel of the copy box applied to code sections */ -.btn-copy[disabled] .clippy { - opacity: .3; -} -pre .btn-copy { - -webkit-transition: opacity 0.3s ease-in-out; - -o-transition: opacity 0.3s ease-in-out; - transition: opacity 0.3s ease-in-out; - opacity: 0; - padding: 2px 6px; - float: right; -} -pre:hover .btn-copy { - opacity: 1; -} -.tooltipped { - position: relative -} -.tooltipped:after { - position: absolute; - z-index: 1000000; - display: none; - padding: 5px 8px; - font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; - color: #fff; - text-align: center; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-wrap: break-word; - white-space: pre; - pointer-events: none; - content: attr(aria-label); - background: rgba(0, 0, 0, 0.8); - border-radius: 3px; - -webkit-font-smoothing: subpixel-antialiased -} -.tooltipped:before { - position: absolute; - z-index: 1000001; - display: none; - width: 0; - height: 0; - color: rgba(0, 0, 0, 0.8); - pointer-events: none; - content: ""; - border: 5px solid transparent -} -.tooltipped:hover:before, .tooltipped:hover:after, .tooltipped:active:before, .tooltipped:active:after, .tooltipped:focus:before, .tooltipped:focus:after { - display: inline-block; - text-decoration: none -} -.tooltipped-s:after, .tooltipped-se:after, .tooltipped-sw:after { - top: 100%; - right: 50%; - margin-top: 5px -} -.tooltipped-s:before, .tooltipped-se:before, .tooltipped-sw:before { - top: auto; - right: 50%; - bottom: -5px; - margin-right: -5px; - border-bottom-color: rgba(0, 0, 0, 0.8) -} - -@font-family-sans-serif: "Roboto", Helvetica, Arial, sans-serif; - -/* For Gitter and GitHub */ -.bottom-footer { - margin-bottom: 40px !important; // Make room for Gitter and GitHub buttons -} - -.gitter-open-chat-button { - background-color: #3c8dbc; - font-family: @font-family-sans-serif; - letter-spacing: normal; - right: 90px; -} - -.gitter-open-chat-button:focus, .gitter-open-chat-button:hover, -.github-button:focus, .github-button:hover, -{ - background-color: #4EABDD; - color: #fff; -} - -.gitter-chat-embed { - top: 49px; - border-top: 1px solid #000; - z-index: 10000; -} - -.github-button { - z-index: 100; - position: fixed; - bottom: 0px; - right: 240px; - padding: 1em 3em; - background-color: #367fa9; - border: 0; - border-top-left-radius: 0.5em; - border-top-right-radius: 0.5em; - font-family: sans-serif; - font-size: 9pt; - text-transform: uppercase; - text-align: center; - text-decoration: none; - cursor: pointer; - cursor: hand; - -webkit-transition: all .3s ease; - transition: all .3s ease; - color: #fff; - a, a:active, a:hover, a:focus { - color: #fff; - } -} - -/* For feature list */ - -.feature-list li { - display: block; -} - -.feature-list li:before { - /*Using a Bootstrap glyphicon as the bullet point*/ - content: "\e013"; - font-family: 'Glyphicons Halflings'; - font-size: 12px; - float: left; - margin-top: 1px; - margin-left: -25px; - color: green; -} - -/* Image responsibility */ -img.ImgResponsibility { - max-width: 100%; -} diff --git a/docs/logo/Icon.pdn b/docs/input/assets/images/Icon.pdn similarity index 100% rename from docs/logo/Icon.pdn rename to docs/input/assets/images/Icon.pdn diff --git a/docs/input/assets/img/Icon.png b/docs/input/assets/images/Icon.png similarity index 100% rename from docs/input/assets/img/Icon.png rename to docs/input/assets/images/Icon.png diff --git a/docs/logo/arguardlogo_1000x400.jpg b/docs/input/assets/images/arguardlogo_1000x400.jpg similarity index 100% rename from docs/logo/arguardlogo_1000x400.jpg rename to docs/input/assets/images/arguardlogo_1000x400.jpg diff --git a/docs/logo/arguardlogo_1000x400.pdn b/docs/input/assets/images/arguardlogo_1000x400.pdn similarity index 100% rename from docs/logo/arguardlogo_1000x400.pdn rename to docs/input/assets/images/arguardlogo_1000x400.pdn diff --git a/docs/logo/arguardlogo_1000x400.png b/docs/input/assets/images/arguardlogo_1000x400.png similarity index 100% rename from docs/logo/arguardlogo_1000x400.png rename to docs/input/assets/images/arguardlogo_1000x400.png diff --git a/docs/logo/arguardlogo_1280x640.pdn b/docs/input/assets/images/arguardlogo_1280x640.pdn similarity index 100% rename from docs/logo/arguardlogo_1280x640.pdn rename to docs/input/assets/images/arguardlogo_1280x640.pdn diff --git a/docs/logo/arguardlogo_1280x640.png b/docs/input/assets/images/arguardlogo_1280x640.png similarity index 100% rename from docs/logo/arguardlogo_1280x640.png rename to docs/input/assets/images/arguardlogo_1280x640.png diff --git a/docs/logo/arguardlogo_400x200.png b/docs/input/assets/images/arguardlogo_400x200.png similarity index 100% rename from docs/logo/arguardlogo_400x200.png rename to docs/input/assets/images/arguardlogo_400x200.png diff --git a/docs/logo/arguardlogo_800x400.pdn b/docs/input/assets/images/arguardlogo_800x400.pdn similarity index 100% rename from docs/logo/arguardlogo_800x400.pdn rename to docs/input/assets/images/arguardlogo_800x400.pdn diff --git a/docs/logo/arguardlogo_800x400.png b/docs/input/assets/images/arguardlogo_800x400.png similarity index 100% rename from docs/logo/arguardlogo_800x400.png rename to docs/input/assets/images/arguardlogo_800x400.png diff --git a/docs/input/assets/images/clippy.svg b/docs/input/assets/images/clippy.svg deleted file mode 100644 index e1b17035..00000000 --- a/docs/input/assets/images/clippy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/input/assets/img/favicon.ico b/docs/input/assets/img/favicon.ico deleted file mode 100644 index f18469fc..00000000 Binary files a/docs/input/assets/img/favicon.ico and /dev/null differ diff --git a/docs/input/assets/img/logo.png b/docs/input/assets/img/logo.png deleted file mode 100644 index 945af14c..00000000 Binary files a/docs/input/assets/img/logo.png and /dev/null differ diff --git a/docs/input/assets/js/anchor.min.js b/docs/input/assets/js/anchor.min.js deleted file mode 100644 index 7f34489f..00000000 --- a/docs/input/assets/js/anchor.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * AnchorJS - v3.2.2 - 2016-10-05 - * https://github.com/bryanbraun/anchorjs - * Copyright (c) 2016 Bryan Braun; Licensed MIT - */ -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";function A(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function n(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style"),t=" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",n=" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",i=' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',o=" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }";e.className="anchorjs",e.appendChild(document.createTextNode("")),A=document.head.querySelector('[rel="stylesheet"], style'),void 0===A?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(t,e.sheet.cssRules.length),e.sheet.insertRule(n,e.sheet.cssRules.length),e.sheet.insertRule(o,e.sheet.cssRules.length),e.sheet.insertRule(i,e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var i,o,s,c,r,a,h,l,u,d,f,p,w=[];if(e(this.options),p=this.options.visible,"touch"===p&&(p=this.isTouchDevice()?"always":"hover"),A||(A="h1, h2, h3, h4, h5, h6"),i=t(A),0===i.length)return!1;for(n(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}return A}); diff --git a/docs/input/assets/js/clipboard.min.js b/docs/input/assets/js/clipboard.min.js deleted file mode 100644 index 1d7c5d5d..00000000 --- a/docs/input/assets/js/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v1.5.16 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e,t,n;return function e(t,n,i){function o(a,c){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return o(n?n:e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function e(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function e(){var t=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var i=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.addEventListener("focus",window.scrollTo(0,i)),this.fakeElem.style.top=i+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,o.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function e(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function e(){this.selectedText=(0,o.default)(this.target),this.copyText()}},{key:"copyText",value:function e(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function e(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function e(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function e(){this.removeFake()}},{key:"action",set:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function e(){return this._action}},{key:"target",set:function e(t){if(void 0!==t){if(!t||"object"!==("undefined"==typeof t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function e(){return this._target}}]),e}();e.exports=c})},{select:5}],8:[function(t,n,i){!function(o,r){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof i)r(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};r(a,o.clipboardAction,o.tinyEmitter,o.goodListener),o.clipboard=a.exports}}(this,function(e,t,n,i){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var s=o(t),u=o(n),f=o(i),d=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText}},{key:"listenClick",value:function e(t){var n=this;this.listener=(0,f.default)(t,"click",function(e){return n.onClick(e)})}},{key:"onClick",value:function e(t){var n=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})}},{key:"defaultAction",value:function e(t){return l("action",t)}},{key:"defaultTarget",value:function e(t){var n=l("target",t);if(n)return document.querySelector(n)}},{key:"defaultText",value:function e(t){return l("text",t)}},{key:"destroy",value:function e(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}]),t}(u.default);e.exports=h})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file diff --git a/docs/input/docs/index.cshtml b/docs/input/docs/index.cshtml deleted file mode 100644 index 0610eb5b..00000000 --- a/docs/input/docs/index.cshtml +++ /dev/null @@ -1,13 +0,0 @@ ---- -Title: Documentation ---- -@foreach(IDocument child in Model.DocumentList(Keys.Children).OrderBy(x => x.Get(DocsKeys.Order, 1000))) -{ -

    @(child.String(Keys.Title))

    - if(child.ContainsKey(DocsKeys.Description)) - { -

    @Html.Raw(child.String(DocsKeys.Description))

    - } - - @Html.Partial("_ChildPages", child) -} \ No newline at end of file diff --git a/docs/input/docs/usage/index.cshtml b/docs/input/docs/usage/index.cshtml deleted file mode 100644 index c68e32f0..00000000 --- a/docs/input/docs/usage/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 10 -Description: How to obtain, configure, and use oehen.arguard. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/usage/nuget_button.png b/docs/input/docs/usage/nuget_button.png deleted file mode 100644 index 1ca4e2f5..00000000 Binary files a/docs/input/docs/usage/nuget_button.png and /dev/null differ diff --git a/docs/input/docs/documentation/features.md b/docs/input/documentation/features.md similarity index 100% rename from docs/input/docs/documentation/features.md rename to docs/input/documentation/features.md diff --git a/docs/input/docs/documentation/index.cshtml b/docs/input/documentation/index.md similarity index 54% rename from docs/input/docs/documentation/index.cshtml rename to docs/input/documentation/index.md index 83de8054..b169e28c 100644 --- a/docs/input/docs/documentation/index.cshtml +++ b/docs/input/documentation/index.md @@ -2,6 +2,3 @@ Order: 10 Description: Documentation about the oehen.arguard argument validation library. --- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/documentation/introduction.md b/docs/input/documentation/introduction.md similarity index 100% rename from docs/input/docs/documentation/introduction.md rename to docs/input/documentation/introduction.md diff --git a/docs/input/index.cshtml b/docs/input/index.cshtml index 12a1574e..53347931 100644 --- a/docs/input/index.cshtml +++ b/docs/input/index.cshtml @@ -1,36 +1,20 @@ --- Title: oehen.arguard -NoSidebar: true NoContainer: true -NoGutter: true +NoTitle: true --- -
    -
    -

    oehen.arguardoehen.arguard

    -

    - Argument and parameter validation extension library for .NET.
    -

    - Learn more - API documentation +@section Splash { +
    +
    +
    +
    +
    oehen.arguardoehen.arguard
    +

    + Argument and parameter validation extension library for .NET. +

    +
    +
    +
    -
    - -
    -

    - GitHub - GitHub release (latest SemVer) - Nuget - - -

    -

    - oehen.arguard is a argument and parameter validation extension library for .NET. -

    -

    - - oehen.arguard - -

    - oehen.arguard -
    \ No newline at end of file +} diff --git a/docs/input/docs/usage/examples.md b/docs/input/usage/examples.md similarity index 100% rename from docs/input/docs/usage/examples.md rename to docs/input/usage/examples.md diff --git a/docs/input/usage/index.md b/docs/input/usage/index.md new file mode 100644 index 00000000..3a25df10 --- /dev/null +++ b/docs/input/usage/index.md @@ -0,0 +1,4 @@ +--- +Order: 10 +Description: How to obtain, configure, and use oehen.arguard. +--- diff --git a/docs/input/docs/usage/installation.md b/docs/input/usage/installation.md similarity index 100% rename from docs/input/docs/usage/installation.md rename to docs/input/usage/installation.md diff --git a/docs/input/assets/images/nuget_button.png b/docs/input/usage/nuget_button.png similarity index 100% rename from docs/input/assets/images/nuget_button.png rename to docs/input/usage/nuget_button.png diff --git a/docs/input/web.config b/docs/input/web.config new file mode 100644 index 00000000..5f0a366f --- /dev/null +++ b/docs/input/web.config @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/logo/Icon.png b/docs/logo/Icon.png deleted file mode 100644 index f58795a8..00000000 Binary files a/docs/logo/Icon.png and /dev/null differ diff --git a/docs/theme b/docs/theme new file mode 160000 index 00000000..83446be4 --- /dev/null +++ b/docs/theme @@ -0,0 +1 @@ +Subproject commit 83446be455499627412f55bbbfa303408fd3fffa diff --git a/recipe.cake b/recipe.cake index aee09fd4..f2071bca 100644 --- a/recipe.cake +++ b/recipe.cake @@ -32,6 +32,51 @@ ToolSettings.SetToolSettings( testCoverageExcludeByFile: "*/*Designer.cs;*/*.g.cs;*/*.g.i.cs" ); +//************************************************************************************************* +// Task overrides +//************************************************************************************************* + +// Cake.Recipe uses Wyam for documentation +((CakeTask)BuildParameters.Tasks.PreviewDocumentationTask.Task).Actions.Clear(); +BuildParameters.Tasks.PreviewDocumentationTask.Does((data) => { + var argumentBuilder = + new ProcessArgumentBuilder() + .Append("preview") + .Append("--output \"{0}\"", data.RepositoryRootDirectory.Combine(BuildParameters.Paths.Directories.PublishedDocumentation)); + + if (Context.Log.Verbosity == Verbosity.Verbose || Context.Log.Verbosity == Verbosity.Diagnostic) + { + string statiqVerbosity; + switch (Context.Log.Verbosity) + { + case Verbosity.Quiet: + statiqVerbosity = "None"; + break; + case Verbosity.Minimal: + statiqVerbosity = "Error"; + break; + case Verbosity.Normal: + statiqVerbosity = "Warning"; + break; + case Verbosity.Verbose: + statiqVerbosity = "Debug"; + break; + case Verbosity.Diagnostic: + statiqVerbosity = "Trace"; + break; + default: + statiqVerbosity = "Warning"; + break; + } + + argumentBuilder.Append("-l {0}", statiqVerbosity); + } + + DotNetCoreRun( + BuildParameters.WyamRootDirectoryPath.CombineWithFilePath("Documentation.csproj").FullPath, + argumentBuilder); +}); + //************************************************************************************************* // Execution //*************************************************************************************************