ADDED src/default.css Index: src/default.css ================================================================== --- /dev/null +++ src/default.css @@ -0,0 +1,882 @@ +/* This CSS file holds the default implementations for all of fossil's + CSS classes. When /style.css is requested, the rules in this file + are emitted first, followed by (1) page-specific CSS (if any) and + (2) skin-specific CSS. +*/ +div.sidebox { + float: right; + background-color: white; + border-width: medium; + border-style: double; + margin: 10px; +} +div.sideboxTitle { + display: inline; + font-weight: bold; +} +div.sideboxDescribed { + display: inline; + font-weight: bold; +} +span.disabled { + color: red; +} +table.timelineTable { + border-spacing: 0px 2px; +} +.timelineDate { + white-space: nowrap; +} +span.timelineDisabled { + font-style: italic; + font-size: small; +} +tr.timelineCurrent { + padding: .1em .2em; + border: 1px dashed #446979; + box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); +} +.timelineSelected { + padding: .1em .2em; + border: 2px solid lightgray; + background-color: #ffc; + box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); +} +.timelineSecondary { + background-color: #cff; +} +tr.timelineSelected td { + border-radius: 0; + border-width: 0; +} +tr.timelineCurrent td { + border-radius: 0; + border-width: 0; +} +span.timelineLeaf { + font-weight: bold; +} +span.timelineHistDsp { + font-weight: bold; +} +td.timelineTime { + vertical-align: top; + text-align: right; + white-space: nowrap; +} +td.timelineGraph { + width: 20px; + text-align: left; + vertical-align: top; +} +span.timelineCompactComment { + cursor: pointer; +} +span.timelineEllipsis { + cursor: pointer; +} +.timelineModernCell, .timelineColumnarCell, .timelineDetailCell { + vertical-align: top; + text-align: left; + padding: 0.75em; + border-radius: 1em; +} +.timelineModernCell[id], .timelineColumnarCell[id], .timelineDetailCell[id] { + background-color: #efefef; +} +.timelineModernDetail { + font-size: 80%; + text-align: right; + float: right; + opacity: 0.75; + margin-top: 0.5em; + margin-left: 1em; +} +.tl-canvas { + margin: 0 6px 0 10px; +} +.tl-rail { + width: 18px; +} +.tl-mergeoffset { + width: 2px; +} +.tl-nodemark { + margin-top: 5px; +} +.tl-node { + width: 10px; + height: 10px; + border: 1px solid #000; + background: #fff; + cursor: pointer; +} +.tl-node.leaf:after { + content: ''; + position: absolute; + top: 3px; + left: 3px; + width: 4px; + height: 4px; + background: #000; +} +.tl-node.sel:after { + content: ''; + position: absolute; + top: 2px; + left: 2px; + width: 6px; + height: 6px; + background: red; +} +.tl-arrow { + width: 0; + height: 0; + transform: scale(.999); + border: 0 solid transparent; +} +.tl-arrow.u { + margin-top: -1px; + border-width: 0 3px; + border-bottom: 7px solid #000; +} +.tl-arrow.u.sm { + border-bottom: 5px solid #000; +} +.tl-line { + background: #000; + width: 2px; +} +.tl-arrow.merge { + height: 1px; + border-width: 2px 0; +} +.tl-arrow.merge.l { + border-right: 3px solid #000; +} +.tl-arrow.merge.r { + border-left: 3px solid #000; +} +.tl-line.merge { + width: 1px; +} +.tl-arrow.cherrypick { + height: 1px; + border-width: 2px 0; +} +.tl-arrow.cherrypick.l { + border-right: 3px solid #000; +} +.tl-arrow.cherrypick.r { + border-left: 3px solid #000; +} +.tl-line.cherrypick.h { + width: 0px; + border-top: 1px dashed #000; + border-left: 0px dashed #000; + background: rgba(255,255,255,0); +} +.tl-line.cherrypick.v { + width: 0px; + border-top: 0px dashed #000; + border-left: 1px dashed #000; + background: rgba(255,255,255,0); +} +.tl-arrow.warp { + margin-left: 1px; + border-width: 3px 0; + border-left: 7px solid #600000; +} +.tl-line.warp { + background: #600000; +} +.tl-line.dotted.v { + width: 0px; + border-left-width: 2px; + border-left-style: dotted; + background: rgba(255,255,255,0); +} +.tl-tooltip { + text-align: center; + padding: 5px 1em; + border: 1px solid black; + border-radius: 6px; + position: absolute; + z-index: 100; + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.75); +} + +span.tagDsp { + font-weight: bold; +} +span.wikiError { + font-weight: bold; + color: red; +} +span.infoTagCancelled { + font-weight: bold; + text-decoration: line-through; +} +span.infoTag { + font-weight: bold; +} +span.wikiTagCancelled { + text-decoration: line-through; +} +div.columns { + padding: 0 2em 0 2em; + max-width: 1000px; +} +div.columns > ul { + margin: 0; + padding: 0 0 0 1em; +} +div.columns > ul li:first-child { + margin-top:0px; +} +.columns li { + break-inside: avoid; + page-break-inside: avoid; +} +.filetree { + margin: 1em 0; + line-height: 1.5; +} +.filetree > ul { + display: inline-block; +} +.filetree ul { + margin: 0; + padding: 0; + list-style: none; +} +.filetree ul.collapsed { + display: none; +} +.filetree ul ul { + position: relative; + margin: 0 0 0 21px; +} +.filetree li { + position: relative; + margin: 0; + padding: 0; +} +.filetree li li:before { + content: ''; + position: absolute; + top: -.8em; + left: -14px; + width: 14px; + height: 1.5em; + border-left: 2px solid #aaa; + border-bottom: 2px solid #aaa; +} +.filetree li > ul:before { + content: ''; + position: absolute; + top: -1.5em; + bottom: 0; + left: -35px; + border-left: 2px solid #aaa; +} +.filetree li.last > ul:before { + display: none; +} +.filetree a { + position: relative; + z-index: 1; + display: table-cell; + min-height: 16px; + padding-left: 21px; + background-image: url("data:image/gif;base64,R0lGODlhEAAQAJEAAP\/\/\/y\ +EhIf\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAIvlIKpxqcfmgOUvoaqDSCxrEEfF14GqFX\ +ImJZsu73wepJzVMNxrtNTj3NATMKhpwAAOw=="); + background-position: center left; + background-repeat: no-repeat; +} +ul.browser { + list-style-type: none; + padding: 10px; + margin: 0px; + white-space: nowrap; +} +ul.browser li.file { + background-image: url("data:image/gif;base64,R0lGODlhEAAQAJEAAP\/\/\/\ +yEhIf\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAIvlIKpxqcfmgOUvoaqDSCxrEEfF14Gq\ +FXImJZsu73wepJzVMNxrtNTj3NATMKhpwAAOw=="); + background-repeat: no-repeat; + background-position: 0px center; + padding-left: 20px; + padding-top: 2px; +} +ul.browser li.dir { + background-image: url("data:image/gif;base64,R0lGODlhEAAQAJEAAP/WVCIiI\ +v\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAInlI9pwa3XYniCgQtkrAFfLXkiFo1jaXpo+\ +jUs6b5Z/K4siDu5RPUFADs="); + background-repeat: no-repeat; + background-position: 0px center; + padding-left: 20px; + padding-top: 2px; +} +div.filetreeline { + display: table; + width: 100%; + white-space: nowrap; +} +.filetree .dir > div.filetreeline > a { + background-image: url("data:image/gif;base64,R0lGODlhEAAQAJEAAP/WVCIiI\ +v\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAInlI9pwa3XYniCgQtkrAFfLXkiFo1jaXpo\ ++jUs6b5Z/K4siDu5RPUFADs="); +} +div.filetreeage { + display: table-cell; + padding-left: 3em; + text-align: right; +} +div.filetreeline:hover { + background-color: #eee; +} +table.login_out { + text-align: left; + margin-right: 10px; + margin-left: 10px; + margin-top: 10px; +} +div.captcha { + text-align: center; + padding: 1ex; +} +table.captcha { + margin: auto; + padding: 10px; + border-width: 4px; + border-style: double; + border-color: black; +} +pre.captcha { + font-size: 50%; +} +td.login_out_label { + text-align: center; +} +span.loginError { + color: red; +} +span.note { + font-weight: bold; +} +span.textareaLabel { + font-weight: bold; +} +table.usetupLayoutTable { + outline-style: none; + padding: 0; + margin: 25px; +} +td.usetupColumnLayout { + vertical-align: top +} +table.usetupUserList { + outline-style: double; + outline-width: 1px; + padding: 10px; +} +th.usetupListUser { + text-align: right; + padding-right: 20px; +} +th.usetupListCap { + text-align: center; + padding-right: 15px; +} +th.usetupListCon { + text-align: left; +} +td.usetupListUser { + text-align: right; + padding-right: 20px; + white-space:nowrap; +} +td.usetupListCap { + text-align: center; + padding-right: 15px; +} +td.usetupListCon { + text-align: left +} +div.ueditCapBox { + margin-right: 20px; + margin-bottom: 20px; +} +td.usetupEditLabel { + text-align: right; + vertical-align: top; + white-space: nowrap; +} +span.ueditInheritNobody { + color: green; + padding: .2em; +} +span.ueditInheritDeveloper { + color: red; + padding: .2em; +} +span.ueditInheritReader { + color: black; + padding: .2em; +} +span.ueditInheritAnonymous { + color: blue; + padding: .2em; +} +span.capability { + font-weight: bold; +} +span.usertype { + font-weight: bold; +} +span.usertype:before { + content:"'"; +} +span.usertype:after { + content:"'"; +} +div.selectedText { + font-weight: bold; + color: blue; + background-color: #d5d5ff; + border: 1px blue solid; +} +p.missingPriv { + color: blue; +} +span.wikiruleHead { + font-weight: bold; +} +td.tktDspLabel { + text-align: right; +} +td.tktDspValue { + text-align: left; + vertical-align: top; + background-color: #d0d0d0; +} +td.tktTlOpen { + color: #800; +} +td.tktTlClosed { + color: #888; +} +span.tktError { + color: red; + font-weight: bold; +} +table.rpteditex { + float: right; + margin: 0; + padding: 0; + width: 125px; + text-align: center; + border-collapse: collapse; + border-spacing: 0; +} +table.report { + border-collapse:collapse; + border: 1px solid #999; + margin: 1em 0 1em 0; + cursor: pointer; +} +td.rpteditex { + border-width: thin; + border-color: #000000; + border-style: solid; +} +div.endContent { + clear: both; +} +p.generalError { + color: red; +} +p.tktsetupError { + color: red; + font-weight: bold; +} +p.xfersetupError { + color: red; + font-weight: bold; +} +p.thmainError { + color: red; + font-weight: bold; +} +span.thTrace { + color: red; +} +p.reportError { + color: red; + font-weight: bold; +} +blockquote.reportError { + color: red; + font-weight: bold; +} +p.noMoreShun { + color: blue; +} +p.shunned { + color: blue; +} +span.brokenlink { + color: red; +} +ul.filelist { + margin-top: 3px; + line-height: 100%; +} +ul.filelist li { + padding-top: 1px; +} +table.sbsdiffcols { + width: 90%; + border-spacing: 0; + font-size: xx-small; +} +table.sbsdiffcols td { + padding: 0; + vertical-align: top; +} +table.sbsdiffcols pre { + margin: 0; + padding: 0; + border: 0; + font-size: inherit; + background: inherit; + color: inherit; +} +div.difflncol { + padding-right: 1em; + text-align: right; + color: #a0a0a0; +} +div.difftxtcol { + width: 45em; + overflow-x: auto; +} +div.diffmkrcol { + padding: 0 1em; +} +span.diffchng { + background-color: #c0c0ff; +} +span.diffadd { + background-color: #c0ffc0; +} +span.diffrm { + background-color: #ffc8c8; +} +span.diffhr { + display: inline-block; + margin: .5em 0 1em; + color: #0000ff; +} +span.diffln { + color: #a0a0a0; +} +span.modpending { + color: #b03800; + font-style: italic; +} +pre.th1result { + white-space: pre-wrap; + word-wrap: break-word; +} +pre.th1error { + white-space: pre-wrap; + word-wrap: break-word; + color: red; +} +pre.textPlain { + white-space: pre-wrap; + word-wrap: break-word; +} +.statistics-report-graph-line { + background-color: #446979; +} +.statistics-report-table-events th { + padding: 0 1em 0 1em; +} +.statistics-report-table-events td { + padding: 0.1em 1em 0.1em 1em; +} +.statistics-report-row-year { + text-align: left; +} +.statistics-report-week-number-label { + text-align: right; + font-size: 0.8em; +} +.statistics-report-week-of-year-list { + font-size: 0.8em; +} +#usetupEditCapability { + font-weight: bold; +} +table.adminLogTable { + text-align: left; +} +.adminLogTable .adminTime { + text-align: left; + vertical-align: top; + white-space: nowrap; +} +.fileage table { + border-spacing: 0; +} +.fileage tr:hover { + background-color: #eee; +} +.fileage td { + vertical-align: top; + text-align: left; + border-top: 1px solid #ddd; + padding-top: 3px; +} +.fileage td:first-child { + white-space: nowrap; +} +.fileage td:nth-child(2) { + padding-left: 1em; + padding-right: 1em; +} +.fileage td:nth-child(3) { + word-wrap: break-word; + max-width: 50%; +} +.brlist table { + border-spacing: 0; +} +.brlist table th { + text-align: left; + padding: 0px 1em 0.5ex 0px; + vertical-align: bottom; +} +.brlist table td { + padding: 0px 2em 0px 0px; + white-space: nowrap; +} +th.sort:after { + margin-left: .4em; + cursor: pointer; + text-shadow: 0 0 0 #000; +} +th.sort.none:after { + content: '\2666'; +} +th.sort.asc:after { + content: '\2193'; +} +th.sort.desc:after { + content: '\2191'; +} +span.snippet>mark { + background-color: inherit; + font-weight: bold; +} +div.searchForm { + text-align: center; +} +p.searchEmpty { + font-style: italic; +} +.clutter { + display: none; +} +table.label-value th { + vertical-align: top; + text-align: right; + padding: 0.2ex 1ex; +} +table.forum_post { + margin-top: 1ex; + margin-bottom: 1ex; + margin-left: 0; + margin-right: 0; + border-spacing: 0; +} +span.forum_author { + color: #888; + font-size: 75%; +} +span.forum_author::after { + content: " | "; +} +span.forum_age { + color: #888; + font-size: 85%; +} +span.forum_buttons { + font-size: 85%; +} +span.forum_buttons::before { + color: #888; + content: " | "; +} +span.forum_npost { + color: #888; + font-size: 75%; +} +table.forumeditform td { + vertical-align: top; + border-collapse: collapse; + padding: 1px; +} +div.forum_body p { + margin-top: 0; +} +td.form_label { + vertical-align: top; + text-align: right; +} +.debug { + background-color: #ffc; + border: 2px solid #ff0; +} +div.forumEdit { + border: 1px solid black; + padding-left: 1ex; + padding-right: 1ex; +} +div.forumTimeline { + border: 1px solid black; + padding-left: 1ex; + padding-right: 1ex; + max-width: 50em; + overflow: auto; +} +div.forumTimeline code { + white-space: pre-wrap; +} +div.markdown code { + white-space: pre-wrap; +} +div.forumHier, div.forumTime { + border: 1px solid black; + padding-left: 1ex; + padding-right: 1ex; + margin-top: 1ex; +} +div.forumPostBody { + max-height: 40em; + overflow: auto; +} +div.forumSel { + background-color: #cef; +} +div.forumObs { + color: #bbb; +} +#capabilitySummary { + text-align: center; +} +#capabilitySummary td { + padding-left: 3ex; + padding-right: 3ex; +} +#capabilitySummary th { + padding-left: 1ex; + padding-right: 1ex; +} +.capsumOff { + background-color: #bbb; +} +.capsumRead { + background-color: #bfb; +} +.capsumWrite { + background-color: #ffb; +} +label { + white-space: nowrap; +} +.copy-button { + display: inline-block; + width: 14px; + height: 14px; +/*Note: .24em is slightly smaller than the average width of a normal space.*/ + margin: -2px .24em 0 0; + padding: 0; + border: 0; + vertical-align: middle; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' \ +viewBox='0,0,14,14'%3E%3Cpath style='fill:black;opacity:0' \ +d='M14,14H0V0h14v14z'/%3E%3Cpath style='fill:rgb(240,240,240)' \ +d='M1,0h6.6l2,2h1l3.4,3.4v8.6h-10v-2h-3z'/%3E%3Cpath style='fill:rgb(64,64,64)' \ +d='M2,1h5l3,3v7h-8z'/%3E%3Cpath style='fill:rgb(248,248,248)' \ +d='M3,2h3.6l2.4,2.4v5.6h-6z'/%3E%3Cpath style='fill:rgb(80,128,208)' \ +d='M4,5h4v1h-4zm0,2h4v1h-4z'/%3E%3Cpath style='fill:rgb(64,64,64)' \ +d='M5,3h5l3,3v7h-8z'/%3E%3Cpath style='fill:rgb(248,248,248)' \ +d='M10,4.4v1.6h1.6zm-4,-0.6h3v3h-3zm0,3h6v5.4h-6z'/%3E%3Cpath style='fill:rgb(80,128,208)' \ +d='M7,8h4v1h-4zm0,2h4v1h-4z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: center; + cursor: pointer; +} +.copy-button-flipped { +/*Note: .16em is suitable for element grouping.*/ + margin-left: .16em; + margin-right: 0; +} +.nobr { + white-space: nowrap; +} +.accordion { + cursor: pointer; +} +.accordion_btn { + display: inline-block; + width: 16px; + height: 16px; + margin-right: .5em; + vertical-align: middle; +} +/* Note: the order of the next 3 entries should be + maintained for the hierarchical cascade to work. */ +.accordion > .accordion_btn_plus { + display: none; +} +.accordion_closed > .accordion_btn_minus { + display: none; +} +.accordion_closed > .accordion_btn_plus { + display: inline-block; +} +.accordion_panel { + overflow: hidden; + transition: max-height 0.25s ease-out; +} +.error { + color: darkred; + background: yellow; +} +.warning { + color: darkred; + background: yellow; + opacity: 0.7; +} +.hidden { + position: absolute; + opacity: 0; + pointer-events: none; + display: none; +} +input { + max-width: 95%; +} +textarea { + max-width: 95%; +} +img { + max-width: 100%; + height: auto; +} DELETED src/default_css.txt Index: src/default_css.txt ================================================================== --- src/default_css.txt +++ /dev/null @@ -1,885 +0,0 @@ -// This is the template file for the default CSS for Fossil. Lines -// beginning with "//" are stripped out by the pre-processor and never -// reach the web browser. -// -// Each repository skin has skin-specific CSS. The rules contained in this -// file are appended to the skin-CSS as required. Each rule is evaluated -// separately and is only appended to the final CSS if there is not an -// overriding rule with the same selector in the skin-CSS. -// -div.sidebox { - float: right; - background-color: white; - border-width: medium; - border-style: double; - margin: 10px; -} -div.sideboxTitle { - display: inline; - font-weight: bold; -} -div.sideboxDescribed { - display: inline; - font-weight: bold; -} -span.disabled { - color: red; -} -table.timelineTable { - border-spacing: 0px 2px; -} -.timelineDate { - white-space: nowrap; -} -span.timelineDisabled { - font-style: italic; - font-size: small; -} -tr.timelineCurrent { - padding: .1em .2em; - border: 1px dashed #446979; - box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); -} -.timelineSelected { - padding: .1em .2em; - border: 2px solid lightgray; - background-color: #ffc; - box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); -} -.timelineSecondary { - background-color: #cff; -} -tr.timelineSelected td { - border-radius: 0; - border-width: 0; -} -tr.timelineCurrent td { - border-radius: 0; - border-width: 0; -} -span.timelineLeaf { - font-weight: bold; -} -span.timelineHistDsp { - font-weight: bold; -} -td.timelineTime { - vertical-align: top; - text-align: right; - white-space: nowrap; -} -td.timelineGraph { - width: 20px; - text-align: left; - vertical-align: top; -} -span.timelineCompactComment { - cursor: pointer; -} -span.timelineEllipsis { - cursor: pointer; -} -.timelineModernCell, .timelineColumnarCell, .timelineDetailCell { - vertical-align: top; - text-align: left; - padding: 0.75em; - border-radius: 1em; -} -.timelineModernCell[id], .timelineColumnarCell[id], .timelineDetailCell[id] { - background-color: #efefef; -} -.timelineModernDetail { - font-size: 80%; - text-align: right; - float: right; - opacity: 0.75; - margin-top: 0.5em; - margin-left: 1em; -} -.tl-canvas { - margin: 0 6px 0 10px; -} -.tl-rail { - width: 18px; -} -.tl-mergeoffset { - width: 2px; -} -.tl-nodemark { - margin-top: 5px; -} -.tl-node { - width: 10px; - height: 10px; - border: 1px solid #000; - background: #fff; - cursor: pointer; -} -.tl-node.leaf:after { - content: ''; - position: absolute; - top: 3px; - left: 3px; - width: 4px; - height: 4px; - background: #000; -} -.tl-node.sel:after { - content: ''; - position: absolute; - top: 2px; - left: 2px; - width: 6px; - height: 6px; - background: red; -} -.tl-arrow { - width: 0; - height: 0; - transform: scale(.999); - border: 0 solid transparent; -} -.tl-arrow.u { - margin-top: -1px; - border-width: 0 3px; - border-bottom: 7px solid #000; -} -.tl-arrow.u.sm { - border-bottom: 5px solid #000; -} -.tl-line { - background: #000; - width: 2px; -} -.tl-arrow.merge { - height: 1px; - border-width: 2px 0; -} -.tl-arrow.merge.l { - border-right: 3px solid #000; -} -.tl-arrow.merge.r { - border-left: 3px solid #000; -} -.tl-line.merge { - width: 1px; -} -.tl-arrow.cherrypick { - height: 1px; - border-width: 2px 0; -} -.tl-arrow.cherrypick.l { - border-right: 3px solid #000; -} -.tl-arrow.cherrypick.r { - border-left: 3px solid #000; -} -.tl-line.cherrypick.h { - width: 0px; - border-top: 1px dashed #000; - border-left: 0px dashed #000; - background: rgba(255,255,255,0); -} -.tl-line.cherrypick.v { - width: 0px; - border-top: 0px dashed #000; - border-left: 1px dashed #000; - background: rgba(255,255,255,0); -} -.tl-arrow.warp { - margin-left: 1px; - border-width: 3px 0; - border-left: 7px solid #600000; -} -.tl-line.warp { - background: #600000; -} -.tl-line.dotted.v { - width: 0px; - border-left-width: 2px; - border-left-style: dotted; - background: rgba(255,255,255,0); -} -.tl-tooltip { - text-align: center; - padding: 5px 1em; - border: 1px solid black; - border-radius: 6px; - position: absolute; - z-index: 100; - box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.75); -} - -span.tagDsp { - font-weight: bold; -} -span.wikiError { - font-weight: bold; - color: red; -} -span.infoTagCancelled { - font-weight: bold; - text-decoration: line-through; -} -span.infoTag { - font-weight: bold; -} -span.wikiTagCancelled { - text-decoration: line-through; -} -div.columns { - padding: 0 2em 0 2em; - max-width: 1000px; -} -div.columns > ul { - margin: 0; - padding: 0 0 0 1em; -} -div.columns > ul li:first-child { - margin-top:0px; -} -.columns li { - break-inside: avoid; - page-break-inside: avoid; -} -.filetree { - margin: 1em 0; - line-height: 1.5; -} -.filetree > ul { - display: inline-block; -} -.filetree ul { - margin: 0; - padding: 0; - list-style: none; -} -.filetree ul.collapsed { - display: none; -} -.filetree ul ul { - position: relative; - margin: 0 0 0 21px; -} -.filetree li { - position: relative; - margin: 0; - padding: 0; -} -.filetree li li:before { - content: ''; - position: absolute; - top: -.8em; - left: -14px; - width: 14px; - height: 1.5em; - border-left: 2px solid #aaa; - border-bottom: 2px solid #aaa; -} -.filetree li > ul:before { - content: ''; - position: absolute; - top: -1.5em; - bottom: 0; - left: -35px; - border-left: 2px solid #aaa; -} -.filetree li.last > ul:before { - display: none; -} -.filetree a { - position: relative; - z-index: 1; - display: table-cell; - min-height: 16px; - padding-left: 21px; - background-image: url(data:image/gif;base64,R0lGODlhEAAQAJEAAP\/\/\/yEhIf\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAIvlIKpxqcfmgOUvoaqDSCxrEEfF14GqFXImJZsu73wepJzVMNxrtNTj3NATMKhpwAAOw==); - background-position: center left; - background-repeat: no-repeat; -} -ul.browser { - list-style-type: none; - padding: 10px; - margin: 0px; - white-space: nowrap; -} -ul.browser li.file { - background-image: url(data:image/gif;base64,R0lGODlhEAAQAJEAAP\/\/\/yEhIf\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAIvlIKpxqcfmgOUvoaqDSCxrEEfF14GqFXImJZsu73wepJzVMNxrtNTj3NATMKhpwAAOw==); - background-repeat: no-repeat; - background-position: 0px center; - padding-left: 20px; - padding-top: 2px; -} -ul.browser li.dir { - background-image: url(data:image/gif;base64,R0lGODlhEAAQAJEAAP/WVCIiIv\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAInlI9pwa3XYniCgQtkrAFfLXkiFo1jaXpo+jUs6b5Z/K4siDu5RPUFADs=); - background-repeat: no-repeat; - background-position: 0px center; - padding-left: 20px; - padding-top: 2px; -} -div.filetreeline { - display: table; - width: 100%; - white-space: nowrap; -} -.filetree .dir > div.filetreeline > a { - background-image: url(data:image/gif;base64,R0lGODlhEAAQAJEAAP/WVCIiIv\/\/\/wAAACH5BAEHAAIALAAAAAAQABAAAAInlI9pwa3XYniCgQtkrAFfLXkiFo1jaXpo+jUs6b5Z/K4siDu5RPUFADs=); -} -div.filetreeage { - display: table-cell; - padding-left: 3em; - text-align: right; -} -div.filetreeline:hover { - background-color: #eee; -} -table.login_out { - text-align: left; - margin-right: 10px; - margin-left: 10px; - margin-top: 10px; -} -div.captcha { - text-align: center; - padding: 1ex; -} -table.captcha { - margin: auto; - padding: 10px; - border-width: 4px; - border-style: double; - border-color: black; -} -pre.captcha { - font-size: 50%; -} -td.login_out_label { - text-align: center; -} -span.loginError { - color: red; -} -span.note { - font-weight: bold; -} -span.textareaLabel { - font-weight: bold; -} -table.usetupLayoutTable { - outline-style: none; - padding: 0; - margin: 25px; -} -td.usetupColumnLayout { - vertical-align: top -} -table.usetupUserList { - outline-style: double; - outline-width: 1px; - padding: 10px; -} -th.usetupListUser { - text-align: right; - padding-right: 20px; -} -th.usetupListCap { - text-align: center; - padding-right: 15px; -} -th.usetupListCon { - text-align: left; -} -td.usetupListUser { - text-align: right; - padding-right: 20px; - white-space:nowrap; -} -td.usetupListCap { - text-align: center; - padding-right: 15px; -} -td.usetupListCon { - text-align: left -} -div.ueditCapBox { - margin-right: 20px; - margin-bottom: 20px; -} -td.usetupEditLabel { - text-align: right; - vertical-align: top; - white-space: nowrap; -} -span.ueditInheritNobody { - color: green; - padding: .2em; -} -span.ueditInheritDeveloper { - color: red; - padding: .2em; -} -span.ueditInheritReader { - color: black; - padding: .2em; -} -span.ueditInheritAnonymous { - color: blue; - padding: .2em; -} -span.capability { - font-weight: bold; -} -span.usertype { - font-weight: bold; -} -span.usertype:before { - content:"'"; -} -span.usertype:after { - content:"'"; -} -div.selectedText { - font-weight: bold; - color: blue; - background-color: #d5d5ff; - border: 1px blue solid; -} -p.missingPriv { - color: blue; -} -span.wikiruleHead { - font-weight: bold; -} -td.tktDspLabel { - text-align: right; -} -td.tktDspValue { - text-align: left; - vertical-align: top; - background-color: #d0d0d0; -} -td.tktTlOpen { - color: #800; -} -td.tktTlClosed { - color: #888; -} -span.tktError { - color: red; - font-weight: bold; -} -table.rpteditex { - float: right; - margin: 0; - padding: 0; - width: 125px; - text-align: center; - border-collapse: collapse; - border-spacing: 0; -} -table.report { - border-collapse:collapse; - border: 1px solid #999; - margin: 1em 0 1em 0; - cursor: pointer; -} -td.rpteditex { - border-width: thin; - border-color: #000000; - border-style: solid; -} -div.endContent { - clear: both; -} -p.generalError { - color: red; -} -p.tktsetupError { - color: red; - font-weight: bold; -} -p.xfersetupError { - color: red; - font-weight: bold; -} -p.thmainError { - color: red; - font-weight: bold; -} -span.thTrace { - color: red; -} -p.reportError { - color: red; - font-weight: bold; -} -blockquote.reportError { - color: red; - font-weight: bold; -} -p.noMoreShun { - color: blue; -} -p.shunned { - color: blue; -} -span.brokenlink { - color: red; -} -ul.filelist { - margin-top: 3px; - line-height: 100%; -} -ul.filelist li { - padding-top: 1px; -} -table.sbsdiffcols { - width: 90%; - border-spacing: 0; - font-size: xx-small; -} -table.sbsdiffcols td { - padding: 0; - vertical-align: top; -} -table.sbsdiffcols pre { - margin: 0; - padding: 0; - border: 0; - font-size: inherit; - background: inherit; - color: inherit; -} -div.difflncol { - padding-right: 1em; - text-align: right; - color: #a0a0a0; -} -div.difftxtcol { - width: 45em; - overflow-x: auto; -} -div.diffmkrcol { - padding: 0 1em; -} -span.diffchng { - background-color: #c0c0ff; -} -span.diffadd { - background-color: #c0ffc0; -} -span.diffrm { - background-color: #ffc8c8; -} -span.diffhr { - display: inline-block; - margin: .5em 0 1em; - color: #0000ff; -} -span.diffln { - color: #a0a0a0; -} -span.modpending { - color: #b03800; - font-style: italic; -} -pre.th1result { - white-space: pre-wrap; - word-wrap: break-word; -} -pre.th1error { - white-space: pre-wrap; - word-wrap: break-word; - color: red; -} -pre.textPlain { - white-space: pre-wrap; - word-wrap: break-word; -} -.statistics-report-graph-line { - background-color: #446979; -} -.statistics-report-table-events th { - padding: 0 1em 0 1em; -} -.statistics-report-table-events td { - padding: 0.1em 1em 0.1em 1em; -} -.statistics-report-row-year { - text-align: left; -} -.statistics-report-week-number-label { - text-align: right; - font-size: 0.8em; -} -.statistics-report-week-of-year-list { - font-size: 0.8em; -} -#usetupEditCapability { - font-weight: bold; -} -table.adminLogTable { - text-align: left; -} -.adminLogTable .adminTime { - text-align: left; - vertical-align: top; - white-space: nowrap; -} -.fileage table { - border-spacing: 0; -} -.fileage tr:hover { - background-color: #eee; -} -.fileage td { - vertical-align: top; - text-align: left; - border-top: 1px solid #ddd; - padding-top: 3px; -} -.fileage td:first-child { - white-space: nowrap; -} -.fileage td:nth-child(2) { - padding-left: 1em; - padding-right: 1em; -} -.fileage td:nth-child(3) { - word-wrap: break-word; - max-width: 50%; -} -.brlist table { - border-spacing: 0; -} -.brlist table th { - text-align: left; - padding: 0px 1em 0.5ex 0px; - vertical-align: bottom; -} -.brlist table td { - padding: 0px 2em 0px 0px; - white-space: nowrap; -} -th.sort:after { - margin-left: .4em; - cursor: pointer; - text-shadow: 0 0 0 #000; -} -th.sort.none:after { - content: '\2666'; -} -th.sort.asc:after { - content: '\2193'; -} -th.sort.desc:after { - content: '\2191'; -} -span.snippet>mark { - background-color: inherit; - font-weight: bold; -} -div.searchForm { - text-align: center; -} -p.searchEmpty { - font-style: italic; -} -.clutter { - display: none; -} -table.label-value th { - vertical-align: top; - text-align: right; - padding: 0.2ex 1ex; -} -table.forum_post { - margin-top: 1ex; - margin-bottom: 1ex; - margin-left: 0; - margin-right: 0; - border-spacing: 0; -} -span.forum_author { - color: #888; - font-size: 75%; -} -span.forum_author::after { - content: " | "; -} -span.forum_age { - color: #888; - font-size: 85%; -} -span.forum_buttons { - font-size: 85%; -} -span.forum_buttons::before { - color: #888; - content: " | "; -} -span.forum_npost { - color: #888; - font-size: 75%; -} -table.forumeditform td { - vertical-align: top; - border-collapse: collapse; - padding: 1px; -} -div.forum_body p { - margin-top: 0; -} -td.form_label { - vertical-align: top; - text-align: right; -} -.debug { - background-color: #ffc; - border: 2px solid #ff0; -} -div.forumEdit { - border: 1px solid black; - padding-left: 1ex; - padding-right: 1ex; -} -div.forumTimeline { - border: 1px solid black; - padding-left: 1ex; - padding-right: 1ex; - max-width: 50em; - overflow: auto; -} -div.forumTimeline code { - white-space: pre-wrap; -} -div.markdown code { - white-space: pre-wrap; -} -div.forumHier, div.forumTime { - border: 1px solid black; - padding-left: 1ex; - padding-right: 1ex; - margin-top: 1ex; -} -div.forumPostBody { - max-height: 40em; - overflow: auto; -} -div.forumSel { - background-color: #cef; -} -div.forumObs { - color: #bbb; -} -#capabilitySummary { - text-align: center; -} -#capabilitySummary td { - padding-left: 3ex; - padding-right: 3ex; -} -#capabilitySummary th { - padding-left: 1ex; - padding-right: 1ex; -} -.capsumOff { - background-color: #bbb; -} -.capsumRead { - background-color: #bfb; -} -.capsumWrite { - background-color: #ffb; -} -label { - white-space: nowrap; -} -.copy-button { - display: inline-block; - width: 14px; - height: 14px; -//Note: .24em is slightly smaller than the average width of a normal space. - margin: -2px .24em 0 0; - padding: 0; - border: 0; - vertical-align: middle; -//Note: the mkcss utility does not support line breaks in data URIs. - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0,0,14,14'%3E%3Cpath style='fill:black;opacity:0' d='M14,14H0V0h14v14z'/%3E%3Cpath style='fill:rgb(240,240,240)' d='M1,0h6.6l2,2h1l3.4,3.4v8.6h-10v-2h-3z'/%3E%3Cpath style='fill:rgb(64,64,64)' d='M2,1h5l3,3v7h-8z'/%3E%3Cpath style='fill:rgb(248,248,248)' d='M3,2h3.6l2.4,2.4v5.6h-6z'/%3E%3Cpath style='fill:rgb(80,128,208)' d='M4,5h4v1h-4zm0,2h4v1h-4z'/%3E%3Cpath style='fill:rgb(64,64,64)' d='M5,3h5l3,3v7h-8z'/%3E%3Cpath style='fill:rgb(248,248,248)' d='M10,4.4v1.6h1.6zm-4,-0.6h3v3h-3zm0,3h6v5.4h-6z'/%3E%3Cpath style='fill:rgb(80,128,208)' d='M7,8h4v1h-4zm0,2h4v1h-4z'/%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: center; - cursor: pointer; -} -.copy-button-flipped { -//Note: .16em is suitable for element grouping. - margin-left: .16em; - margin-right: 0; -} -.nobr { - white-space: nowrap; -} -.accordion { - cursor: pointer; -} -.accordion_btn { - display: inline-block; - width: 16px; - height: 16px; - margin-right: .5em; - vertical-align: middle; -} -// Note: the order of the next 3 entries should be -// maintained for the hierarchical cascade to work. -.accordion > .accordion_btn_plus { - display: none; -} -.accordion_closed > .accordion_btn_minus { - display: none; -} -.accordion_closed > .accordion_btn_plus { - display: inline-block; -} -.accordion_panel { - overflow: hidden; - transition: max-height 0.25s ease-out; -} -#setup_skinedit_css_defaults { - max-width: 98%; - font-family: monospace; -// These are for the UL-based implementation: - column-width: auto; - column-count: 2; - padding-top: 1em; -} -// These are for the alternate table-based skinedit CSS list: -// #setup_skinedit_css_defaults > tbody > tr > td { -// font-family: monospace; -// white-space: pre-wrap; -// border: 1px solid black; -// vertical-align: top; -// } -// #setup_skinedit_css_defaults > tbody > tr > td:nth-of-type(2) > div { -// max-width: 30em; -// overflow: auto; -// } -.error { - color: darkred; - background: yellow; -} -.warning { - color: darkred; - background: yellow; - opacity: 0.7; -} -.hidden { - position: absolute; - opacity: 0; - pointer-events: none; - display: none; -} -input { - max-width: 95%; -} -textarea { - max-width: 95%; -} Index: src/main.mk ================================================================== --- src/main.mk +++ src/main.mk @@ -218,10 +218,11 @@ $(SRCDIR)/../skins/xekri/footer.txt \ $(SRCDIR)/../skins/xekri/header.txt \ $(SRCDIR)/accordion.js \ $(SRCDIR)/ci_edit.js \ $(SRCDIR)/copybtn.js \ + $(SRCDIR)/default.css \ $(SRCDIR)/diff.tcl \ $(SRCDIR)/forum.js \ $(SRCDIR)/fossil.bootstrap.js \ $(SRCDIR)/fossil.confirmer.js \ $(SRCDIR)/fossil.dom.js \ @@ -574,13 +575,10 @@ $(XBCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c $(XBCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c -$(OBJDIR)/mkcss: $(SRCDIR)/mkcss.c - $(XBCC) -o $(OBJDIR)/mkcss $(SRCDIR)/mkcss.c - $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c $(XBCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c # Run the test suite. # Other flags that can be included in TESTFLAGS are: @@ -599,13 +597,10 @@ $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME) $(TESTFLAGS) $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION $(OBJDIR)/mkversion $(OBJDIR)/mkversion $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h -$(OBJDIR)/default_css.h: $(SRCDIR)/default_css.txt $(OBJDIR)/mkcss - $(OBJDIR)/mkcss $(SRCDIR)/default_css.txt $(OBJDIR)/default_css.h - # Setup the options used to compile the included SQLite library. SQLITE_OPTIONS = -DNDEBUG=1 \ -DSQLITE_DQS=0 \ -DSQLITE_THREADSAFE=0 \ -DSQLITE_DEFAULT_MEMSTATUS=0 \ @@ -741,11 +736,11 @@ $(OBJDIR)/mkindex $(TRANS_SRC) >$@ $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ -$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/default_css.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h +$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ @@ -1815,11 +1810,11 @@ $(OBJDIR)/statrep.h: $(OBJDIR)/headers $(OBJDIR)/style_.c: $(SRCDIR)/style.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/style.c >$@ -$(OBJDIR)/style.o: $(OBJDIR)/style_.c $(OBJDIR)/style.h $(OBJDIR)/default_css.h $(SRCDIR)/config.h +$(OBJDIR)/style.o: $(OBJDIR)/style_.c $(OBJDIR)/style.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/style.o -c $(OBJDIR)/style_.c $(OBJDIR)/style.h: $(OBJDIR)/headers $(OBJDIR)/sync_.c: $(SRCDIR)/sync.c $(OBJDIR)/translate Index: src/makemake.tcl ================================================================== --- src/makemake.tcl +++ src/makemake.tcl @@ -177,10 +177,11 @@ set extra_files { diff.tcl markdown.md wiki.wiki *.js + default.css style.*.css ../skins/*/*.txt sounds/*.wav } @@ -349,13 +350,10 @@ $(XBCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c $(XBCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c -$(OBJDIR)/mkcss: $(SRCDIR)/mkcss.c - $(XBCC) -o $(OBJDIR)/mkcss $(SRCDIR)/mkcss.c - $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c $(XBCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c # Run the test suite. # Other flags that can be included in TESTFLAGS are: @@ -376,13 +374,10 @@ $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION $(OBJDIR)/mkversion $(OBJDIR)/mkversion $(SRCDIR)/../manifest.uuid \ $(SRCDIR)/../manifest \ $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h -$(OBJDIR)/default_css.h: $(SRCDIR)/default_css.txt $(OBJDIR)/mkcss - $(OBJDIR)/mkcss $(SRCDIR)/default_css.txt $(OBJDIR)/default_css.h - # Setup the options used to compile the included SQLite library. SQLITE_OPTIONS = <<>> # Setup the options used to compile the included SQLite shell. SHELL_OPTIONS = <<>> @@ -475,20 +470,19 @@ writeln "\t\$(OBJDIR)/mkindex \$(TRANS_SRC) >\$@\n" writeln "\$(OBJDIR)/builtin_data.h: \$(OBJDIR)/mkbuiltin \$(EXTRA_FILES)" writeln "\t\$(OBJDIR)/mkbuiltin --prefix \$(SRCDIR)/ \$(EXTRA_FILES) >\$@\n" -writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/default_css.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" +writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" writeln "\t\$(OBJDIR)/makeheaders $mhargs" writeln "\ttouch \$(OBJDIR)/headers" writeln "\$(OBJDIR)/headers: Makefile" writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" writeln "Makefile:" set extra_h(dispatch) " \$(OBJDIR)/page_index.h " set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " -set extra_h(style) " \$(OBJDIR)/default_css.h " foreach s [lsort $src] { writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(OBJDIR)/translate" writeln "\t\$(OBJDIR)/translate \$(SRCDIR)/$s.c >\$@\n" writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h" @@ -1015,11 +1009,10 @@ TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe) MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe) MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe) MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe) MKVERSION = $(subst /,\,$(OBJDIR)/mkversion.exe) -MKCSS = $(subst /,\,$(OBJDIR)/mkcss.exe) CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe) CAT = type CP = copy GREP = find MV = copy @@ -1030,11 +1023,10 @@ TRANSLATE = $(OBJDIR)/translate.exe MAKEHEADERS = $(OBJDIR)/makeheaders.exe MKINDEX = $(OBJDIR)/mkindex.exe MKBUILTIN = $(OBJDIR)/mkbuiltin.exe MKVERSION = $(OBJDIR)/mkversion.exe -MKCSS = $(OBJDIR)/mkcss.exe CODECHECK1 = $(OBJDIR)/codecheck1.exe CAT = cat CP = cp GREP = grep MV = mv @@ -1044,11 +1036,11 @@ endif} writeln { all: $(OBJDIR) $(APPNAME) -$(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h $(OBJDIR)/default_css.h +$(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h ifdef USE_WINDOWS $(CAT) $(subst /,\,$(SRCDIR)\miniz.c) | $(GREP) "define MZ_VERSION" > $(subst /,\,$(OBJDIR)\minizver.h) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.rc) $(subst /,\,$(OBJDIR)) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.ico) $(subst /,\,$(OBJDIR)) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.exe.manifest) $(subst /,\,$(OBJDIR)) @@ -1089,13 +1081,10 @@ $(XBCC) -o $@ $(SRCDIR)/mkbuiltin.c $(MKVERSION): $(SRCDIR)/mkversion.c $(XBCC) -o $@ $(SRCDIR)/mkversion.c -$(MKCSS): $(SRCDIR)/mkcss.c - $(XBCC) -o $@ $(SRCDIR)/mkcss.c - $(CODECHECK1): $(SRCDIR)/codecheck1.c $(XBCC) -o $@ $(SRCDIR)/codecheck1.c # WARNING. DANGER. Running the test suite modifies the repository the # build is done from, i.e. the checkout belongs to. Do not sync/push @@ -1104,13 +1093,10 @@ $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME) $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(MKVERSION) $(MKVERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$@ -$(OBJDIR)/default_css.h: $(SRCDIR)/default_css.txt $(MKCSS) - $(MKCSS) $(SRCDIR)/default_css.txt $@ - # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set # to 1. If it is set to 1, then there is no need to build or link # the sqlite3.o object. Instead, the system SQLite will be linked # using -lsqlite3. SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o @@ -1232,18 +1218,17 @@ writeln "\t\$(MKINDEX) \$(TRANS_SRC) >\$@\n" writeln "\$(OBJDIR)/builtin_data.h:\t\$(MKBUILTIN) \$(EXTRA_FILES)" writeln "\t\$(MKBUILTIN) --prefix \$(SRCDIR)/ \$(EXTRA_FILES) >\$@\n" -writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/default_css.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h" +writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h" writeln "\t\$(MAKEHEADERS) $mhargs" writeln "\techo Done >\$(OBJDIR)/headers\n" writeln "\$(OBJDIR)/headers: Makefile\n" writeln "Makefile:\n" set extra_h(main) " \$(OBJDIR)/page_index.h " set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " -set extra_h(style) " \$(OBJDIR)/default_css.h " foreach s [lsort $src] { writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(TRANSLATE)" writeln "\t\$(TRANSLATE) \$(SRCDIR)/$s.c >\$@\n" writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h" @@ -1389,13 +1374,10 @@ $(BCC) -o$@ $** mkversion$E: $(SRCDIR)\mkversion.c $(BCC) -o$@ $** -mkcss$E: $(SRCDIR)\mkcss.c - $(BCC) -o$@ $** - codecheck1$E: $(SRCDIR)\codecheck1.c $(BCC) -o$@ $** $(OBJDIR)\shell$O : $(SRCDIR)\shell.c $(TCC) -o$@ -c $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $** @@ -1413,13 +1395,10 @@ cp $@ $@ VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION +$** > $@ -default_css.h : mkcss$E $B\src\default_css.txt - +$** $B\src\default_css.txt $@ - page_index.h: mkindex$E $(SRC) +$** > $@ builtin_data.h: mkbuiltin$E $(EXTRA_FILES) mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ @@ -1427,11 +1406,11 @@ clean: -del $(OBJDIR)\*.obj -del *.obj *_.c *.h *.map realclean: - -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E mkcss$E + -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h @@ -1453,11 +1432,11 @@ writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" writeln "${s}_.c : \$(SRCDIR)\\$s.c" writeln "\t+translate\$E \$** > \$@\n" } -writeln -nonewline "headers: makeheaders\$E page_index.h builtin_data.h default_css.h VERSION.h\n\t +makeheaders\$E " +writeln -nonewline "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h\n\t +makeheaders\$E " foreach s [lsort $src] { writeln -nonewline "${s}_.c:$s.h " } writeln "\$(SRCDIR)\\sqlite3.h \$(SRCDIR)\\th.h VERSION.h \$(SRCDIR)\\cson_amalgamation.h" writeln "\t@copy /Y nul: headers" @@ -1916,13 +1895,10 @@ $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** -"$(OBJDIR)\mkcss$E": "$(SRCDIR)\mkcss.c" - $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** - "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** !if $(USE_SEE)!=0 SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key @@ -1956,13 +1932,10 @@ $** > $@ "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" $(TCC) /Fo$@ /Fd$(@D)\ -c $** -"$(OX)\default_css.h": "$(OBJDIR)\mkcss$E" "$(SRCDIR)\default_css.txt" - $** $@ - "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) $** > $@ "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ @@ -2215,15 +2188,12 @@ # extracting version info from manifest VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION version.exe ..\manifest.uuid ..\manifest ..\VERSION >$@ -default_css.h: mkcss.exe default_css.txt - mkcss.exe default_css.txt $@ - # generate the simplified headers -headers: makeheaders.exe page_index.h builtin_data.h default_css.h VERSION.h ../src/sqlite3.h ../src/th.h +headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h echo Done >$@ # compile C sources with relevant options DELETED src/mkcss.c Index: src/mkcss.c ================================================================== --- src/mkcss.c +++ /dev/null @@ -1,168 +0,0 @@ -/* -** This C program generates the "default_css.h" header file from -** "default_css.txt" source file. -** -** The default_css.h header contains a definition of a structure -** with lots of default CSS snippets. This information is used to -** generate the /style.css page as follows: -** -** (1) Read the repository-specific CSS page from the skin -** (2) Initialize the output to a copy of the repo-CSS from (1). -** (3) For each entry in the cssDefaultList[], if the selector -** described by cssDefaultList[i] is not found in the -** repo-CSS, then append it to the output. -** -** The input file, "default_css.txt", is plain text with lots of -** comments. This routine strips out the comments and breaks the -** text up into individual cssDefaultList[] elements. -** -** To run this program: -** -** ./mkcss default_css.txt default_css.h -** -** In other words, there are two arguments. The first is the name of -** the input file and the second is the name of the output file. -** Either argument can be "-" to indicate standard input or output. -** -** Input Format Summary: -** -** # comment -** selector { -** rule; # comment -** } -** # comment -** -** It would be much easier to do this using a script, but that would -** make the Fossil source-code less cross-platform because it would then -** require that the script engine be installed on the build platform. -*/ -#include -#include -#include -#include - -static FILE *open_for_reading(const char *zFilename){ - FILE *f; - if( strcmp(zFilename, "-")==0 ) return stdin; - f = fopen(zFilename, "r"); - if( f==0 ){ - fprintf(stderr, "cannot open \"%s\" for reading\n", zFilename); - exit(1); - } - return f; -} -static FILE *open_for_writing(const char *zFilename){ - FILE *f; - if( strcmp(zFilename, "-")==0 ) return stdout; - f = fopen(zFilename, "w"); - if( f==0 ){ - fprintf(stderr, "cannot open \"%s\" for writing\n", zFilename); - exit(1); - } - return f; -} -static void close_file(FILE *f){ - if( f!=stdin && f!=stdout){ - fclose(f); - } -} - -/* -** Print a string as a quoted C-language string. -*/ -static void clang_puts(FILE *out, const char *z){ - int i; - while( z[0] ){ - for(i=0; z[i] && z[i]!='"' && z[i]!='\\'; i++){} - fprintf(out, "%.*s", i, z); - if( z[i] ){ - fprintf(out, "\\%c", z[i]); - z += i+1; - }else{ - z += i; - } - } -} - -int main(int argc, char *argv[]){ - FILE *in, *out; - int inRules = 0; - int nLine = 0; - int iStart = 0; - const char *zInFile; - const char *zOutFile; - char z[1000]; - if( argc!=3 ){ - fprintf(stderr, "Usage: %s INPUTFILE OUTPUTFILE\n", argv[0]); - return 1; - } - zInFile = argv[1]; - zOutFile = argv[2]; - in = open_for_reading(zInFile); - out = open_for_writing(zOutFile); - - fprintf(out, - "/* DO NOT EDIT\n" - "** This code is generated automatically using 'mkcss.c'\n" - "*/\n" - "const struct strctCssDefaults {\n" - " const char *elementClass; /* Name of element needed */\n" - " const char *value; /* CSS text */\n" - "} cssDefaultList[] = {\n" - ); - while( fgets(z, sizeof(z), in) ){ - int n; /* Line length */ - int i; - nLine++; - if( z[0]=='/' && z[1]=='/' ) continue; /* Skip comments */ - if( z[0]=='-' && z[1]=='-' ) continue; /* Skip comments */ - if( z[0]=='#' && !isalnum(z[1]) ) continue; /* Skip comments */ - n = (int)strlen(z); - while( n>0 && isspace(z[n-1]) ){ z[--n] = 0; } - if( z[0]==0 ) continue; /* Blank lines */ - if( isspace(z[0]) ){ - if( !inRules ){ - fprintf(stderr, "%s:%d: CSS rule not within a selector\n", - zInFile, nLine); - exit(1); - } - for(i=0; isspace(z[i]); i++){} - fprintf(out, " \" "); - clang_puts(out, z+i); - fprintf(out, "\\n\"\n"); - }else if( z[0]=='}' ){ - if( !inRules ){ - fprintf(stderr, "%s:%d: surplus CSS rule terminator\n", - zInFile, nLine); - exit(1); - } - fprintf(out, " },\n"); - inRules = 0; - }else if( z[n-1]=='{' ){ - if( inRules ){ - fprintf(stderr, "%s:%d: selector where there should be rule\n", - zInFile, nLine); - exit(1); - } - inRules = 1; - iStart = nLine; - fprintf(out, " { \""); - n--; - while( n>0 && isspace(z[n-1]) ){ z[--n] = 0; } - clang_puts(out, z); - fprintf(out, "\",\n"); - }else{ - fprintf(stderr, "%s:%d: syntax error\n", - zInFile, nLine); - exit(1); - } - } - if( inRules ){ - fprintf(stderr, "%s:%d: unterminated CSS rule\n", zInFile, iStart); - exit(1); - } - close_file(in); - fprintf(out, " {0,0}\n};\n"); - close_file(out); - return 0; -} Index: src/skins.c ================================================================== --- src/skins.c +++ src/skins.c @@ -701,53 +701,10 @@ */ const char *elementClass; /* Name of element needed */ const char *value; /* CSS text */ } cssDefaultList[]; -/* -** Emits the list of built-in default CSS selectors. Intended -** for use only from the /setup_skinedit page. -*/ -static void skin_emit_css_defaults(){ - struct strctCssDefaults const * pCss; - fossil_print("

CSS Defaults

"); - fossil_print("Fossil's list of its own CSS classes follows. "); - fossil_print("See this " - "document for more details."); - /* To discuss: do we want to list only the default selectors or - ** also their default values? The latter increases the size of the - ** page considerably, but is arguably more useful. We could, of - ** course, offer a URL param to toggle the view, but that currently - ** seems like overkill. - ** - ** Be sure to adjust the default_css.txt #setup_skinedit_css entry - ** for whichever impl ends up being selected. - */ -#if 1 - /* List impl which elides style values */ - fossil_print("
    "); - for(pCss = &cssDefaultList[0]; pCss->value!=0; ++pCss){ - fossil_print("
  • %s
  • ", pCss->elementClass); - } - fossil_print("
"); -#else - /* Table impl which also includes style values. */ - fossil_print(""); - for(pCss = &cssDefaultList[0]; pCss->value!=0; ++pCss){ - fossil_print("", pCss->elementClass); - /* A TD element apparently cannot be told to scroll its contents, - ** so we require a DIV inside the value TD to scroll the long - ** url(data:...) entries. */ - fossil_print("", pCss->value); - fossil_print(""); - } - fossil_print("
%s
%s
"); -#endif -} - /* ** WEBPAGE: setup_skinedit ** ** Edit aspects of a skin determined by the w= query parameter. ** Requires Admin or Setup privileges. @@ -869,13 +826,10 @@ blob_reset(&from); blob_reset(&to); blob_reset(&out); } @
- if(ii==0/*CSS*/){ - skin_emit_css_defaults(); - } style_footer(); db_end_transaction(0); } /* Index: src/style.c ================================================================== --- src/style.c +++ src/style.c @@ -987,33 +987,10 @@ */ void style_sidebox_end(void){ @ } -/* -** Insert the cssDefaultList[] table, generated from default_css.txt -** using the mkcss.c program. -*/ -#include "default_css.h" - -/* -** Append all of the default CSS to the CGI output. -*/ -void cgi_append_default_css(void) { - int i; - - cgi_printf("%s", builtin_text("skins/default/css.txt")); - for( i=0; cssDefaultList[i].elementClass; i++ ){ - if( cssDefaultList[i].elementClass[0] ){ - cgi_printf("%s {\n%s\n}\n\n", - cssDefaultList[i].elementClass, - cssDefaultList[i].value - ); - } - } -} - /* ** Search string zCss for zSelector. ** ** Return true if found. Return false if not found */ @@ -1075,54 +1052,65 @@ cgi_set_content_type("application/javascript"); } style_init_th1_vars(0); Th_Render(zScript?zScript:""); } + +/* +** If one of the "name" or "page" URL parameters (in that order) +** is set then this function looks for page/page group-specific +** CSS and (if found) appends it to pOut, else it is a no-op. +*/ +static void page_style_css_append_page_style(Blob *pOut){ + const char *zPage = PD("name",P("page")); + char * zFile; + int nFile = 0; + const char *zBuiltin; + + if(zPage==0 || zPage[0]==0){ + return; + } + zFile = mprintf("style.%s.css", zPage); + zBuiltin = (const char *)builtin_file(zFile, &nFile); + if(nFile>0){ + blob_appendf(pOut, + "\n/***********************************************************\n" + "** Start of page-specific CSS for page %s...\n" + "***********************************************************/\n", + zPage); + blob_append(pOut, zBuiltin, nFile); + blob_appendf(pOut, + "\n/***********************************************************\n" + "** End of page-specific CSS for page %s.\n" + "***********************************************************/\n", + zPage); + fossil_free(zFile); + return; + } + /* Potential TODO: check for aliases/page groups. e.g. group all + ** /forumXYZ CSS into one file, all /setupXYZ into another, etc. As + ** of this writing, doing so would only shave a few kb from + ** default.css. */ + fossil_free(zFile); +} /* ** WEBPAGE: style.css ** ** Return the style sheet. */ void page_style_css(void){ Blob css = empty_blob; int i; - const char *zPage = PD("name",P("page")); cgi_set_content_type("text/css"); /* Emit all default rules... */ - for(i=1; cssDefaultList[i].elementClass; i++){ - blob_appendf(&css, "%s {\n%s}\n", - cssDefaultList[i].elementClass, - cssDefaultList[i].value); - } - blob_append(&css, - "\n/***********************************************************\n" - "** All CSS above is generated automatically by Fossil to\n" - "** provide default rule implementations which the \"skin\"\n" - "** may cascade.\n" - "***********************************************************/\n", - -1); - if(zPage!=0 && zPage[0]!=0){ - char * zFile = mprintf("style.%s.css", zPage); - int nFile = 0; - const char *zBuiltin = (const char *)builtin_file(zFile, &nFile); - if(nFile>0){ - blob_appendf(&css, - "\n/***********************************************************\n" - "** Start of page-specific CSS for page %s...\n" - "***********************************************************/\n", - zPage); - blob_append(&css, zBuiltin, nFile); - blob_appendf(&css, - "\n/***********************************************************\n" - "** End of page-specific CSS for page %s.\n" - "***********************************************************/\n", - zPage); - } - fossil_free(zFile); - } + { + const char * zDefaults = (const char*)builtin_file("default.css", &i); + blob_append(&css, zDefaults, i); + } + page_style_css_append_page_style(&css); blob_append(&css, "\n/***********************************************************\n" "** All CSS which follows is supplied by the repository \"skin\".\n" "***********************************************************/\n", -1); Index: win/Makefile.PellesCGMake ================================================================== --- win/Makefile.PellesCGMake +++ win/Makefile.PellesCGMake @@ -147,15 +147,12 @@ # extracting version info from manifest VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION version.exe ..\manifest.uuid ..\manifest ..\VERSION >$@ -default_css.h: mkcss.exe default_css.txt - mkcss.exe default_css.txt $@ - # generate the simplified headers -headers: makeheaders.exe page_index.h builtin_data.h default_css.h VERSION.h ../src/sqlite3.h ../src/th.h +headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h echo Done >$@ # compile C sources with relevant options Index: win/Makefile.dmc ================================================================== --- win/Makefile.dmc +++ win/Makefile.dmc @@ -71,13 +71,10 @@ $(BCC) -o$@ $** mkversion$E: $(SRCDIR)\mkversion.c $(BCC) -o$@ $** -mkcss$E: $(SRCDIR)\mkcss.c - $(BCC) -o$@ $** - codecheck1$E: $(SRCDIR)\codecheck1.c $(BCC) -o$@ $** $(OBJDIR)\shell$O : $(SRCDIR)\shell.c $(TCC) -o$@ -c $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $** @@ -95,13 +92,10 @@ cp $@ $@ VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION +$** > $@ -default_css.h : mkcss$E $B\src\default_css.txt - +$** $B\src\default_css.txt $@ - page_index.h: mkindex$E $(SRC) +$** > $@ builtin_data.h: mkbuiltin$E $(EXTRA_FILES) mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ @@ -109,11 +103,11 @@ clean: -del $(OBJDIR)\*.obj -del *.obj *_.c *.h *.map realclean: - -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E mkcss$E + -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h @@ -126,11 +120,10 @@ $(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h - $(OBJDIR)\add$O : add_.c add.h $(TCC) -o$@ -c add_.c @@ -987,8 +980,8 @@ $(TCC) -o$@ -c zip_.c zip_.c : $(SRCDIR)\zip.c +translate$E $** > $@ -headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h +headers: makeheaders$E page_index.h builtin_data.h VERSION.h +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h @copy /Y nul: headers Index: win/Makefile.mingw ================================================================== --- win/Makefile.mingw +++ win/Makefile.mingw @@ -640,10 +640,11 @@ $(SRCDIR)/../skins/xekri/footer.txt \ $(SRCDIR)/../skins/xekri/header.txt \ $(SRCDIR)/accordion.js \ $(SRCDIR)/ci_edit.js \ $(SRCDIR)/copybtn.js \ + $(SRCDIR)/default.css \ $(SRCDIR)/diff.tcl \ $(SRCDIR)/forum.js \ $(SRCDIR)/fossil.bootstrap.js \ $(SRCDIR)/fossil.confirmer.js \ $(SRCDIR)/fossil.dom.js \ @@ -986,11 +987,10 @@ TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe) MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe) MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe) MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe) MKVERSION = $(subst /,\,$(OBJDIR)/mkversion.exe) -MKCSS = $(subst /,\,$(OBJDIR)/mkcss.exe) CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe) CAT = type CP = copy GREP = find MV = copy @@ -1001,11 +1001,10 @@ TRANSLATE = $(OBJDIR)/translate.exe MAKEHEADERS = $(OBJDIR)/makeheaders.exe MKINDEX = $(OBJDIR)/mkindex.exe MKBUILTIN = $(OBJDIR)/mkbuiltin.exe MKVERSION = $(OBJDIR)/mkversion.exe -MKCSS = $(OBJDIR)/mkcss.exe CODECHECK1 = $(OBJDIR)/codecheck1.exe CAT = cat CP = cp GREP = grep MV = mv @@ -1014,11 +1013,11 @@ RMDIR = rm -rf endif all: $(OBJDIR) $(APPNAME) -$(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h $(OBJDIR)/default_css.h +$(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h ifdef USE_WINDOWS $(CAT) $(subst /,\,$(SRCDIR)\miniz.c) | $(GREP) "define MZ_VERSION" > $(subst /,\,$(OBJDIR)\minizver.h) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.rc) $(subst /,\,$(OBJDIR)) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.ico) $(subst /,\,$(OBJDIR)) $(CP) $(subst /,\,$(SRCDIR)\..\win\fossil.exe.manifest) $(subst /,\,$(OBJDIR)) @@ -1059,13 +1058,10 @@ $(XBCC) -o $@ $(SRCDIR)/mkbuiltin.c $(MKVERSION): $(SRCDIR)/mkversion.c $(XBCC) -o $@ $(SRCDIR)/mkversion.c -$(MKCSS): $(SRCDIR)/mkcss.c - $(XBCC) -o $@ $(SRCDIR)/mkcss.c - $(CODECHECK1): $(SRCDIR)/codecheck1.c $(XBCC) -o $@ $(SRCDIR)/codecheck1.c # WARNING. DANGER. Running the test suite modifies the repository the # build is done from, i.e. the checkout belongs to. Do not sync/push @@ -1074,13 +1070,10 @@ $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME) $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(MKVERSION) $(MKVERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$@ -$(OBJDIR)/default_css.h: $(SRCDIR)/default_css.txt $(MKCSS) - $(MKCSS) $(SRCDIR)/default_css.txt $@ - # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set # to 1. If it is set to 1, then there is no need to build or link # the sqlite3.o object. Instead, the system SQLite will be linked # using -lsqlite3. SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o @@ -1190,11 +1183,11 @@ $(MKINDEX) $(TRANS_SRC) >$@ $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ -$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/default_css.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h +$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ @@ -2266,11 +2259,11 @@ $(OBJDIR)/statrep.h: $(OBJDIR)/headers $(OBJDIR)/style_.c: $(SRCDIR)/style.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/style.c >$@ -$(OBJDIR)/style.o: $(OBJDIR)/style_.c $(OBJDIR)/style.h $(OBJDIR)/default_css.h $(SRCDIR)/config.h +$(OBJDIR)/style.o: $(OBJDIR)/style_.c $(OBJDIR)/style.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/style.o -c $(OBJDIR)/style_.c $(OBJDIR)/style.h: $(OBJDIR)/headers $(OBJDIR)/sync_.c: $(SRCDIR)/sync.c $(TRANSLATE) Index: win/Makefile.msc ================================================================== --- win/Makefile.msc +++ win/Makefile.msc @@ -561,10 +561,11 @@ "$(SRCDIR)\..\skins\xekri\footer.txt" \ "$(SRCDIR)\..\skins\xekri\header.txt" \ "$(SRCDIR)\accordion.js" \ "$(SRCDIR)\ci_edit.js" \ "$(SRCDIR)\copybtn.js" \ + "$(SRCDIR)\default.css" \ "$(SRCDIR)\diff.tcl" \ "$(SRCDIR)\forum.js" \ "$(SRCDIR)\fossil.bootstrap.js" \ "$(SRCDIR)\fossil.confirmer.js" \ "$(SRCDIR)\fossil.dom.js" \ @@ -996,13 +997,10 @@ $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** -"$(OBJDIR)\mkcss$E": "$(SRCDIR)\mkcss.c" - $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** - "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** !if $(USE_SEE)!=0 SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key @@ -1036,13 +1034,10 @@ $** > $@ "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" $(TCC) /Fo$@ /Fd$(@D)\ -c $** -"$(OX)\default_css.h": "$(OBJDIR)\mkcss$E" "$(SRCDIR)\default_css.txt" - $** $@ - "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) $** > $@ "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ @@ -1154,10 +1149,11 @@ echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ echo "$(SRCDIR)\accordion.js" >> $@ echo "$(SRCDIR)\ci_edit.js" >> $@ echo "$(SRCDIR)\copybtn.js" >> $@ + echo "$(SRCDIR)\default.css" >> $@ echo "$(SRCDIR)\diff.tcl" >> $@ echo "$(SRCDIR)\forum.js" >> $@ echo "$(SRCDIR)\fossil.bootstrap.js" >> $@ echo "$(SRCDIR)\fossil.confirmer.js" >> $@ echo "$(SRCDIR)\fossil.dom.js" >> $@