From 3fe43917cbc95149d891d44b96d0798828021705 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 23 Sep 2022 11:36:36 -0400 Subject: [PATCH] ci: remove contrib/doxygen/ #20303 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: - The layout of the doxygen HTML "dev docs" has been broken for 1+ years. - There is no evidence that anyone uses the doxygen HTML. - In the meantime since we introduced the doxygen HTML pages, the Nvim C docstrings have been surfaced in other ways: - Nvim LSP client - Generated :help docs like ":help api" and ":help ui". Solution: - Remove `contrib/doxygen/` from neovim repo. - Note: keep `src/Doxyfile`, it is used by `scripts/gen_vimdoc.py`. ☠️ - Remove `doc/dev/` from website. https://github.com/neovim/neovim.github.io/pull/291 - Remove doxygen job from the neovim/doc repo. https://github.com/neovim/doc/pull/28 - Future/ongoing: ":help dev" and other :help docs will continue to be improved as the "source of truth" for developer-related docs. ref https://github.com/neovim/neovim/pull/824 --- contrib/doxygen/customdoxygen.css | 757 ----------------------------- contrib/doxygen/extra.css | 777 ------------------------------ contrib/doxygen/footer.html | 23 - contrib/doxygen/header.html | 36 -- contrib/doxygen/logo-devdoc.png | Bin 27382 -> 0 bytes 5 files changed, 1593 deletions(-) delete mode 100644 contrib/doxygen/customdoxygen.css delete mode 100644 contrib/doxygen/extra.css delete mode 100644 contrib/doxygen/footer.html delete mode 100644 contrib/doxygen/header.html delete mode 100644 contrib/doxygen/logo-devdoc.png diff --git a/contrib/doxygen/customdoxygen.css b/contrib/doxygen/customdoxygen.css deleted file mode 100644 index 019073805a..0000000000 --- a/contrib/doxygen/customdoxygen.css +++ /dev/null @@ -1,757 +0,0 @@ - -/* - * Title, should be H1 - */ - -.title { - font-family: 'Lato', sans-serif; - font-size: 2em; - margin: 0.67em 0 0; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - - -div.qindex, div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.line { - font-family: monospace, fixed; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; -} - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - white-space: pre; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -hr { - height: 0px; - border: none; - display: none; -} - -dl { - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.note { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -/* - * Centered container for all content - */ - -div.contents, -div.header > *, -ul.tablist, -.navpath ul { - margin:0 15px; -} -@media (min-width: 568px) { - div.contents, - div.header > *, - ul.tablist, - .navpath ul { - margin: 0 auto; - width: 90%; - max-width: 1200px; - } -} - -/* - * padding inside content - */ - -div.contents > * { - padding-top: 8px; - padding-bottom: 8px; -} - -@media (min-width: 568px) { - div.contents > h2, - div.contents > div.textblock, - div.contents > div.memitem, - div.contents > table.memberdecls h2, - div.contents > p { - padding-top: 30px; - } -} - -div.contents h2 { - margin-top: 0px; -} - -div.summary { - display: none; -} - -/* - * Tabs - * - * Based on doxygen tabs.css - */ - -.tabs, .tabs2, .tabs3 { - width: 100%; - background-color: #f4f4f4; - border-top: solid 1px #ececec; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 30px 0 0; -} - -.tabs3 .tablist a { - padding: 0 20px 0 0; -} - -.tablist li.current a { - color: #54a23d; -} - -/* - * Navpath - */ - -.navpath ul -{ - padding:20px 0px; -} - -.navpath li -{ - list-style-type:none; - padding-right: 10px; - float:left; -} - -.navpath li.navelem a -{ - padding-left: 10px; -} - -.navpath li.navelem:before { - content: "/"; - color: #777; -} - -/* - * Member - * - * Styles for detailed member documentation - */ - -.memitem { - border-top: solid 1px #c9c9c9; -} - -.memname { - font-weight: bold; - font-family: monospace; -} - -td.memname { - color: #54a23d; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - font-weight: bold; -} - -.memdoc, dl.reflist dd { -} - -/* - * Parameters - */ - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #aa0e0e; - white-space: nowrap; -} - -.paramname em { - font-style: normal; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params td { - padding-right: 1em; - padding-bottom: 0.5em; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -/* - * Inline Label etc. - */ - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -/* - * Member Descriptions - */ - -table.memberdecls { - font-family: monospace; - border-spacing: 0px; - padding: 0px; -} - -.memSeparator { - line-height: 1px; - margin: 0px; - padding: 0 0 0.2em 0; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* - * Fieldtable (Enums) - */ - -.fieldtable td, .fieldtable th { - padding: 0 1em 0.2em 0; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - vertical-align: top; -} - -/* - * Directory - */ - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; -} - -.directory tr.even { - padding-left: 6px; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3c92d1; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #54a23d; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2folderopen.png'); - background-position: 0px 0px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2folderclosed.png'); - background-position: 0px 0px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('ftv2doc.png'); - background-position: 0px -1px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -/* - * Data Structure Index - * - * Hardcoded style attribute - */ - -.contents > table[style] { - margin: 20px auto !important; -} - -/* - * Search Box - */ - -#MSearchBox { - right: 4%; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - diff --git a/contrib/doxygen/extra.css b/contrib/doxygen/extra.css deleted file mode 100644 index 59e0c25848..0000000000 --- a/contrib/doxygen/extra.css +++ /dev/null @@ -1,777 +0,0 @@ -/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined in IE 8/9. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -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 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9. - * Hide the `template` element in IE, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9, Safari 5, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari 5 and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - 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: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9. - */ - -img { - border: 0; -} - -/** - * Correct overflow displayed oddly in IE 9. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari 5. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * 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 5, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10. - */ - -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+, 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"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 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 { - border: 0; - padding: 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 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * 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 { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9. - */ - -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; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} - -/* neovim.io/css/main.css */ - -* { - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -body { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 15px; - line-height: 1.4; - color: #444; - background-color: #fbfbfb; -} -@media (min-width: 568px) { - body { - font-size: 17px; - } -} - -a { - color: #3c92d1; - text-decoration: none; -} - -h1, -h2, -h3 { - font-family: 'Lato', sans-serif; -} - -h2 { - font-size: 24px; - font-weight: 400; - color: #54a23d; - margin-bottom: 0; -} -@media (min-width: 568px) { - h2 { - font-size: 30px; - } -} -h3 { - /* color: #54a23d; */ -} - -blockquote { - border-left: 5px solid #eeeeee; - margin-left: 0; - padding-left: 15px; -} - -/* - * Content container - * - * Centered container for all content - */ - -.container { - margin: 0 15px; -} -@media (min-width: 568px) { - .container { - margin: 0 auto; - width: 90%; - max-width: 1200px; - } -} - -/* - * Navbar - * - * Logo and navigation at the top of the page - */ - -.navbar { - padding: 12px 0; -} -@media (min-width: 568px) { - .navbar { - padding-top: 30px; - padding-bottom: 30px; - } -} - -.logo { - width: 120px; - position: relative; - top: 4px; -} -@media (min-width: 568px) { - .logo { - width: 180px; - } -} - -.site-nav { - display: none; -} -@media (min-width: 568px) { - .site-nav { - display: block; - float: right; - } - .site-nav ul { - list-style: none; - } - .site-nav li { - display: inline-block; - margin-top: 5px; - margin-left: 20px; - font-size: 18px; - font-family: 'Lato', sans-serif; - } -} - -/* - * Masthead - * - * Big intro billboard - */ - -.masthead { - border-top: solid 1px #ececec; - border-bottom: solid 1px #ececec; - text-align: center; - padding: 20px 12px; -} -@media (min-width: 568px) { - .masthead { - padding-top: 40px; - padding-bottom: 40px; - } -} - -.masthead .container { -} -@media (min-width: 568px) { - .masthead .container { - width: 568px; - margin: 0 auto; - } -} - -.masthead h1 { - font-size: 20px; - font-weight: 400; -} -@media (min-width: 568px) { - .masthead h1 { - font-size: 40px; - margin-bottom: 50px; - } -} - -.masthead .lead { - font-weight: 900; - color: #54a23d; - font-family: 'Lato', sans-serif; - font-size: 16px; - font-weight: 900; -} -@media (min-width: 568px) { - .masthead .lead { - font-size: 26px; - } -} - -/* - * Columns - * - * Two columns utilizing the golden ratio - */ - -.col-wide, -.col-narrow { - display: block; -} -@media (min-width: 568px) { - .col-wide { - display: table-cell; - width: 61.8%; - vertical-align: top; - } - .col-narrow { - display: table-cell; - width: 38.2%; - padding-left: 6%; - vertical-align: top; - } -} - -/* - * Front page - * - * Big section blocks for the front page - */ - -.front-section { - padding: 8px 0; -} -@media (min-width: 568px) { - .front-section { - padding-top: 30px; - padding-bottom: 30px; - display: table; - width: 100%; - } - .front-section h2:first-child { - margin-top: 0; - } -} - -.front-section.shaded { - background-color: #f4f4f4; -} - -/* - * FAQs - * - * Formatted as a definition list - */ - -.faqs dt { - font-weight: 700; -} - -.faqs dd { - color: #777; - font-size: 15px; - margin-left: 0; - margin-bottom: 20px; -} - -/* - * Buttons - * - * Fun to click - */ - -.btn { - display: inline-block; - text-align: center; - vertical-align: middle; - background-color: #3c92d1; - color: #fff; - font-family: 'Lato', sans-serif; - border-radius: 4px; - padding: 15px 30px; -} - -.btn:hover { - background-color: #3889c4; -} - -.btn.full-width { - width: 100%; -} - -/* - * Sponsors - * - * Callout-style box - */ -.sponsors { - background-color: #f5f5f5; - padding: 5px 20px; - border-radius: 4px; - margin-top: 10px; -} - -.sponsors h3 { - color: #54a23d; -} - -.first-level-sponsor { - margin-bottom: 20px; -} - -.first-level-sponsor img { - max-width: 100%; -} - -.second-level-sponsors { - width: 100%; -} - -.second-level-sponsors td { - width: 50%; - padding: 12px 0; - text-align: center; - vertical-align: middle; -} - -.second-level-sponsors img { - width: 80%; -} -@media (min-width: 568px) { - .second-level-sponsor img { - width: auto; - } -} - -/* - * Footer - * - * Links, legalese, etc. - */ - -footer .container { - border-top: solid 1px #ececec; - padding: 20px 0 50px; - font-size: 12px; - color: #777; -} -@media (min-width: 568px) { - footer .container { - font-size: 14px; - display: table; - } -} - -footer a { - color: #444; -} - - -/* - * Misc - * - * Odds 'n ends - */ - -.light { - color: #777; -} - -.light a { - color: #444; -} - -.small { - font-size: 70%; -} - -/* - * Newsletter CSS - */ - -.newsletter h1 { - margin-bottom: 0px; -} - diff --git a/contrib/doxygen/footer.html b/contrib/doxygen/footer.html deleted file mode 100644 index a6d8bb1ee4..0000000000 --- a/contrib/doxygen/footer.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - diff --git a/contrib/doxygen/header.html b/contrib/doxygen/header.html deleted file mode 100644 index c9c1509d86..0000000000 --- a/contrib/doxygen/header.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - -$projectname: $title -$title - - -$treeview -$search -$mathjax - -$extrastylesheet - - - -
- - - - - diff --git a/contrib/doxygen/logo-devdoc.png b/contrib/doxygen/logo-devdoc.png deleted file mode 100644 index a25ef2b9d77edbcc3cb86ba8d4bb3d18489fd6dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27382 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 a{^xgAJl^y?<@g!UWdfeAelF{r5}E*Rx!fB7