# HG changeset patch # User Trần H. Trung # Date 1689007264 -25200 # Node ID 2f78b91001137cca399f548a2e0a83f928380a35 Init. diff -r 000000000000 -r 2f78b9100113 README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,7 @@ +# Mercurial Template + +This template is what Mercurial is using to serve https://soft.trung.fun/code + +It is based on paper. + + diff -r 000000000000 -r 2f78b9100113 bookmarks.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarks.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,60 @@ +{header} +Bookmarks {repo|escape} + + + + +
+ +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Bookmarks

+ + + + + + + + + {entries%bookmarkentry} + +
bookmarknode
+

+
+
+
+ {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 branches.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/branches.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,60 @@ +{header} +Branches {repo|escape} + + + + +
+ +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Branches

+ + + + + + + + + {entries % branchentry} + +
branchnode
+

+
+
+
+ {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 changeset.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/changeset.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,101 @@ +{header} +Changeset {repo|escape}: {node|short} + + +
+ +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Changeset

+

{rev}:{node|short} + {alltags} +

+
{desc|strip|escape|websub|nonempty}
+ + + + + + + + + + + {if(obsolete, ' + + + ')} + {if(instabilities, ' + + + ')} + + + + + + + + + + + + + + + + +
author{author|obfuscate}
date{date|rfc822date}
obsolete{join(succsandmarkers%obsfateentry, '
\n')}
unstable{join(whyunstable%whyunstableentry, '
\n')}
parents{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)}
children{child%changesetchild}
files{files}
diffstat + {diffsummary} + [+] + +
+ +
+
line wrap: on
+
line diff
+
+ {diff} +
+
+

+
+
+
+ {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 diffstat.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/diffstat.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,8 @@ + + {file|escape} + {total} + +   +   + + diff -r 000000000000 -r 2f78b9100113 error.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/error.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,39 @@ +{header} +{repo|escape}: error + + + +
+ + +
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

error

+
+

+ An error occurred while processing your request: +

+

+ {error|escape} +

+
+
+
+ {banner} + +{footer} diff -r 000000000000 -r 2f78b9100113 fileannotate.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fileannotate.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,98 @@ +{header} +Annotate {repo|escape}: {file|escape} + + +
+ + +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Annotate

+

{file|escape} @ {rev}:{node|short} + {alltags} +

+
{desc|strip|escape|websub|nonempty}
+ + + + + + + + + + + {parent%fileannotateparent} + {child%fileannotatechild} +
author{author|obfuscate}
date{date|rfc822date}
+ + {diffoptsform} + + + +
+ + + + + + + + + {annotate%annotateline} + +
rev  line source
+
+ +

+
+
+
+ {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 filecomparison.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filecomparison.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,105 @@ +{header} +Comparison {repo|escape}: {file|escape} + + +
+ + +
+
+

Software {pathdef%breadcrumb}

+ +{searchform} + +

Comparison

+

{file|escape} @ {rev}:{node|short} +{alltags} +

+
{desc|strip|escape|websub|nonempty}
+ + + + + + + + + + +{parent%filecomparisonparent} +{child%filecomparisonchild} + +
author{author|obfuscate}
date{date|rfc822date}
+ +
+
comparison
+
+equal +deleted +inserted +replaced +
+ + + + + + + + +{comparison} +
{leftrev}:{leftnode|short}{rightrev}:{rightnode|short}
+ +
+

+
+
+
+{logo} +{banner} +{footer} diff -r 000000000000 -r 2f78b9100113 filediff.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filediff.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,82 @@ +{header} +Diff {repo|escape}: {file|escape} + + +
+ + +
+
+

Software {pathdef%breadcrumb}

+ +{searchform} + +

Diff

+

{file|escape} @ {rev}:{node|short} + {alltags} +

+
{desc|strip|escape|websub|nonempty}
+ + + + + + + + + + +{parent%filediffparent} +{child%filediffchild} +
author{author|obfuscate}
date{date|rfc822date}
+ +
+
line wrap: on
+
line diff
+
+ {diff} +
+
+

+
+
+
+{logo} +{banner} +{footer} diff -r 000000000000 -r 2f78b9100113 filelog.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filelog.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,98 @@ +{header} +File Log {repo|escape}: {file|escape} + + + + +
+ +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Log

+

{file|escape} @ {rev}:{node|short} + {alltags} {if(linerange, ' ({linerange}{if(descend, ', descending')}) +

+

+ « all revisions for this file »')} +

+ + + + + + + + + + + + {entries%filelogentry} + +
descriptionauthorage
+ + +

+
+
+
+ {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 filelogentry.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filelogentry.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,9 @@ + + + {desc|strip|firstline|escape|nonempty} + {alltags}{rename%filelogrename} + + {author|person} + {date|rfc822date} + + {if(patch, '{diff}')} diff -r 000000000000 -r 2f78b9100113 filerevision.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filerevision.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,94 @@ +{header} +File {repo|escape}: {node|short} {file|escape} + + + + +
+ + +
+
+

Software {pathdef%breadcrumb}

+ +{searchform} + +

File

+

{file|escape} @ {rev}:{node|short} + {alltags} +

+
{desc|strip|escape|websub|nonempty}
+ + + + + + + + + + +{parent%filerevparent} +{child%filerevchild} +
author{author|obfuscate}
date{date|rfc822date}
+ +
+
line wrap: on
+
line source
+
+{text%fileline}
+
+
+ + + + +

+
+
+
+{logo} +{banner} +{footer} diff -r 000000000000 -r 2f78b9100113 footer.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/footer.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,55 @@ +{motd} + + + + diff -r 000000000000 -r 2f78b9100113 graph.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graph.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,100 @@ +{header} +Graph {repo|escape}: revision + + + + +
+ +
+
+

Software {pathdef%breadcrumb}

+ + {searchform} + +

Graph

+ + + + +
+ +
    {nodes%graphentry}
+
+ + + + + +

Scroll all the way down to load more.

+ + + +

+
+
+
+{logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 graphentry.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphentry.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,9 @@ +
  • +
    + + {desc|strip|firstline|escape|nonempty} + + {alltags} +
    {date|rfc822date}, by {author|person}
    +
    +
  • diff -r 000000000000 -r 2f78b9100113 header.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/header.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,9 @@ + + + + + + + + + diff -r 000000000000 -r 2f78b9100113 help.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/help.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,38 @@ +{header} +Help {topic} + + +
    + +
    +
    +

    Software {pathdef%breadcrumb}

    + + {searchform} + +
    + {rstdoc(doc, "html")} +
    +

    +
    +
    +
    + {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 helptopics.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helptopics.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,52 @@ +{header} +Help: {title} + + +
    + +
    +
    +

    Software {pathdef%breadcrumb}

    + + {searchform} + + + + {topics % helpentry} + + {if(earlycommands, ' + + {earlycommands % helpentry} + ')} + + {if(othercommands, ' + + {othercommands % helpentry} + ')} +

    Topics

    Main Commands

    Other Commands

    +

    +
    +
    +
    + {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 index.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/index.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,40 @@ +{header} +Trung - Code + + +
    + +
    +
    +

    Software {pathdef%breadcrumb}

    +

    + + + + + + + + + + + + + + {entries%indexentry} + +
    click header to sort
    NameDescriptionContactLast modifiedArchiveRSS|Atom
    +

    +
    +
    +
    + {logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 manifest.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manifest.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,64 @@ +{header} +Browse {repo|escape}: {node|short} {path|escape} + + +
    + + +
    +
    +

    Software {pathdef%breadcrumb}

    + +{searchform} + +

    Browse

    +

    {repo|escape}{path|escape} @ {rev}:{node|short} + {alltags} +

    + + + + + + + + + +{ifeq(path, up, '', updirentry)} +{dentries%direntry} +{fentries%fileentry} + +
    namesizepermissions
    +

    +
    +
    +
    +{logo} +{banner} +{footer} diff -r 000000000000 -r 2f78b9100113 map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/map Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,325 @@ +default = 'graph' + +mimetype = 'text/html; charset={encoding}' +header = header.tmpl +footer = footer.tmpl +search = search.tmpl + +changelog = shortlog.tmpl +shortlog = shortlog.tmpl +shortlogentry = shortlogentry.tmpl +graph = graph.tmpl +graphentry = graphentry.tmpl +help = help.tmpl +helptopics = helptopics.tmpl + +helpentry = ' + + + {if(basename, '{basename|escape}', '{topic|escape}')} + + + {summary|escape} + ' + +naventry = '{label|escape} ' +navshortentry = '{label|escape} ' +navgraphentry = '{label|escape} ' +filenaventry = '{label|escape} ' +filedifflink = '{file|escape} ' +filenodelink = '{file|escape} ' +filenolink = '{file|escape} ' +fileellipses = '...' +diffstatlink = diffstat.tmpl +diffstatnolink = diffstat.tmpl +changelogentry = shortlogentry.tmpl +changeset = changeset.tmpl +manifest = manifest.tmpl + +nav = '{before%naventry} {after%naventry}' +navshort = '{before%navshortentry}{after%navshortentry}' +navgraph = '{before%navgraphentry}{after%navgraphentry}' +filenav = '{before%filenaventry}{after%filenaventry}' + +updirentry = ' + + + [up] + + + drwxr-xr-x + ' + +direntry = ' + + + + dir. {basename|escape}/ + + + {emptydirs|escape} + + + + drwxr-xr-x + ' + +fileentry = ' + + + + file {basename|escape} + + + {size} + {permissions|permissions} + ' + +filerevision = filerevision.tmpl +fileannotate = fileannotate.tmpl +filediff = filediff.tmpl +filecomparison = filecomparison.tmpl +filelog = filelog.tmpl +fileline = ' + {strip(line|escape, '\r\n')}' +filelogentry = filelogentry.tmpl + +annotateline = ' + + + {if(blockhead, + ' + {rev} + ')} +
    +
    + + {node|short} + {desc|escape|firstline} +
    +
    {author|obfuscate}
    +
    parents: {parents%annotateparent}
    + diff + changeset +
    + + {linenumber} {line|escape} + ' +annotateparent = ' + {rev}' +diffblock = '
    {lines}
    ' +difflineplus = ' + {strip(line|escape, '\r\n')}' +difflineminus = ' + {strip(line|escape, '\r\n')}' +difflineat = ' + {strip(line|escape, '\r\n')}' +diffline = ' + {strip(line|escape, '\r\n')}' + +comparisonblock =' + + {lines} + ' +comparisonline = ' + + {leftlinenumber} {leftline|escape} + {rightlinenumber} {rightline|escape} + ' + +changesetparent = ' {rev}:{node|short} ' + +changesetparentdiff = ' + {changesetparent} + {ifeq(node, basenode, '(current diff)', '({difffrom})')}' + +difffrom = 'diff' + +filerename = '{file|escape}@' +filelogrename = ' + + base + + {file|escape}@{node|short} + + ' +tags = tags.tmpl +tagentry = ' + + + + {tag|escape} + + + + + {node|short} + + + ' +bookmarks = bookmarks.tmpl +bookmarkentry = ' + + + + {bookmark|escape} + + + + + {node|short} + + + ' +branches = branches.tmpl +branchentry = ' + + + + {branch|escape} + + + + + {node|short} + + + ' +phasetag = '{ifeq(phase, 'public', '', '{phase|escape} ')}' +obsoletetag = '{if(obsolete, 'obsolete ')}' +instabilitytag = '{instability|escape} ' +changelogtag = '{name|escape} ' +changesettag = '{tag|escape} ' +changesetbookmark = '{bookmark|escape} ' +changelogbranchhead = '{name|escape} ' +changelogbranchname = '{name|escape} ' +alltags = '{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{bookmarks%changelogtag}' + +successorlink = '{node|short} ' +obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' +obsfateverb = '{obsfateverb(successors, markers)}' +obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' +obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' +obsfatedate = '{if(obsfatedate(markers), ' {ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), '{min(obsfatedate(markers))|rfc822date}', 'between {min(obsfatedate(markers))|rfc822date} and {max(obsfatedate(markers))|rfc822date}')}')}' +obsfateentry = '{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}' +instabilitychangesetlink = '{node|short}' +divergentnode = '{instabilitychangesetlink} ({phase})' +whyunstableentry = '{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}' + +changesetchild = ' {rev}:{node|short}' + +filerevparent = ' + + parent + {rev}:{rename%filerename}{node|short} + ' +filerevchild = ' + + child + {rev}:{node|short} + ' + +fileannotateparent = ' + + parent + {rev}:{rename%filerename}{node|short} + ' +fileannotatechild = ' + + child + {rev}:{node|short} + ' + +filecomparisonparent = ' + + parent + {rev}:{rename%filerename}{node|short} + ' +filecomparisonchild = ' + + child + {rev}:{node|short} + + ' + +filediffparent = ' + + parent + {rev}:{node|short} + ' +filediffchild = ' + + child + {rev}:{node|short} + + ' + +indexentry = ' + + {name|escape} + {description} + {contact|obfuscate} + {lastchange|rfc822date} + + {archives%indexarchiveentry} + + + {if(isdirectory, '', + ' +   + + +   + ' + )} + + \n' +indexarchiveentry = ' ↓{type|escape} ' +index = index.tmpl +archiveentry = ' +
  • + {type|escape} +
  • ' +notfound = notfound.tmpl +error = error.tmpl +urlparameter = '{separator}{name}={value|urlescape}' +hiddenformentry = '' +breadcrumb = '> {name|escape} ' + +searchform = ' + +

    +
    ' +searchhint = 'Find changesets by keywords (author, files, the commit message), revision + number or hash, or revset expression.' + +diffoptsform = ' +
    + Ignore whitespace changes - + Everywhere: + + Within whitespace: + + At end of lines: + +
    ' + +logo = ' + ' + +banner = ' + ' diff -r 000000000000 -r 2f78b9100113 notfound.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/notfound.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,20 @@ +{header} +Mercurial repository not found + + + {logo} +
    +
    +
    +

    Mercurial repository not found

    +

    + The specified repository "{repo|escape}" is unknown, sorry. +

    +

    + Please go back to the main repository list page. +

    +
    +
    +
    + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 search.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/search.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,63 @@ +{header} +Search {repo|escape}: {query|escape} + + +
    + +
    +

    Software {pathdef%breadcrumb}

    + {searchform} + +

    Results

    +

    '{query|escape}'

    + +

    + Assuming {modedesc}. + {if(showforcekw, ' + Use {showforcekw} instead.')} + {if(showunforcekw, ' + Use {showunforcekw} instead.')} +

    + + + + + + + + + + + + + {entries%changelogentry} + +
    descriptionauthorage
    + + + +
    +
    + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 shortlog.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shortlog.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,98 @@ +{header} +Log {repo|escape} + + + + +
    + + +
    +
    +

    Software {pathdef%breadcrumb}

    + +{searchform} + +

    Log

    + + + + + + + + + + + +{entries%shortlogentry} + +
    descriptionauthorage
    + + + + +

    +
    +
    +
    +{logo} + {banner} +{footer} diff -r 000000000000 -r 2f78b9100113 shortlogentry.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shortlogentry.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,8 @@ + + + {desc|strip|firstline|escape|nonempty} + {alltags} + + {author|person} + {date|rfc822date} + diff -r 000000000000 -r 2f78b9100113 style-hg.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/style-hg.css Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,572 @@ +body { + margin: 0; + padding: 0; + background: var(--color_background); + color: var(--color_foreground); + font-family: sans-serif; +} + +.container { + padding-left: 115px; +} + +/* +.main { + top: 20rem; +} + +#.main { + width: 98%; +} +*/ + +.overflow { + width: 100%; + overflow: auto; +} + +/*.main>main { margin-left: 5rem !important; }*/ + +.menu { + margin-left: auto; + /*margin-right: 5rem;*/ + margin-bottom: auto; + text-align: right; + padding: 2rem; + background: transparent; + transition: background 0.5s ease-in-out; + position: sticky; + top: 17.4rem; + flex-shrink: 12; +} +.menu:hover { background: var(--color_background_main); } +.dd-hover.menu { position: sticky; } + +@media (min-width: 960px) { body>.logo { display: none; } } +@media not (min-width: 960px) { + .menu { padding: 0.5rem; } + .menu>.logo { display: none; } + .menu>.dd-content { display: block !important; width: 0.25rem; } + body>.logo { display: block; } + main { margin-left: 1rem !important; } +} + +.menu ul { + list-style: none; + padding: 0; + margin: 10px 0 0 0; + border-right: 2px solid #999; +} + +.menu li { + margin-bottom: 3px; + padding: 2px 4px; + background: var(--color_background); + color: var(--color_foreground); + font-weight: normal; +} + +.menu li.active { + font-weight: bold; +} + +.menu img { + border: 0; +} + +div.atom-logo { + margin-top: 10px; +} + +.atom-logo img, .rss-logo img { + width: 14px; + height: 14px; + border: 0; +} +img.atom-logo { filter: invert(100%); -webkit-filter: invert(100%); } + +.menu a { color: var(--color_foreground); display: block; } + +.search { text-align: center; } + +form.search div#hint { + display: block; + position: relative; + margin: auto; + width: 72%; + padding: 1.4rem; + background: var(--color_background_border); + text-align: center; + border: 1px solid var(--color_heading_main); + border-radius: 5px; + z-index: 15; +} + +a { text-decoration:none; } +.age { white-space:nowrap; } +.date { white-space:nowrap; } +.indexlinks { white-space:nowrap; } +.parity0, +.stripes4 > :nth-child(4n+1), +.stripes2 > :nth-child(2n+1) { background-color: var(--color_odd); } +.parity1, +.stripes4 > :nth-child(4n+3), +.stripes2 > :nth-child(2n+2) { background-color: var(--color_even); } +.plusline { color: green; } +.minusline { color: #dc143c; } /* crimson */ +.atline { color: var(--color_heading_sub); } + +.diffstat-table { + margin-top: 1em; +} +.diffstat-file { + white-space: nowrap; + font-size: 90%; +} +.diffstat-total { + white-space: nowrap; + font-size: 90%; +} +.diffstat-graph { + width: 100%; +} +.diffstat-add { + background-color: green; + float: left; +} +.diffstat-remove { + background-color: red; + float: left; +} + +.navigate { + text-align: right; + margin: 1em 0; +} + +.phase { + color: #999; + font-size: 70%; + border-bottom: 1px dotted #999; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +.obsolete { + color: #999; + font-size: 70%; + border-bottom: 1px dashed #999; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +.instability { + color: var(--color_foreground); + font-size: 70%; + border-bottom: 1px solid #000; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +.tag { + color: #999; + font-size: 70%; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +.branchhead { + color: var(--color_foreground); + font-size: 80%; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +ul#graphnodes .branchhead { + font-size: 75%; +} + +.branchname { + color: var(--color_foreground); + font-size: 60%; + font-weight: normal; + margin-left: .5em; + vertical-align: baseline; +} + +/* Common */ +pre { font-family: 'FreeMono'; font-weight: bold; } +/* +pre { margin: 0; } + +h2 { font-size: 120%; border-bottom: 1px solid #999; } +h2 a { color: var(--color_foreground); } +h3 { + margin-top: +.7em; + font-size: 100%; +} +*/ + +/* log and tags tables */ +.bigtable { + border-bottom: 1px solid #999; + border-collapse: collapse; + font-size: 90%; + width: 100%; + font-weight: normal; + text-align: left; +} + +.bigtable td { + padding: 1px 4px; + vertical-align: top; +} + +.bigtable th { + padding: 1px 4px; + border-bottom: 1px solid #999; +} +.bigtable tr { border: none; } +tr { background-color: var(--color_background_border); } +.bigtable .age { width: 7em; } +.bigtable .author { width: 15em; } +.bigtable .description { } +.bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; } +.bigtable .node { width: 5em; font-family: monospace;} +.bigtable .permissions { width: 8em; text-align: left;} +.bigtable .size { width: 5em; text-align: right; } +.bigtable .annotate { text-align: right; } +.bigtable td.annotate { font-size: smaller; } +.bigtable td.source { font-size: inherit; } +tr.thisrev a { color:#999999; text-decoration: none; } +tr.thisrev td.source { color:#009900; } +td.annotate { + white-space: nowrap; +} +div.annotate-info { + z-index: 5; + display: none; + position: absolute; + background-color: var(--color_background); + border: 1px solid #999; + text-align: left; + color: var(--color_foreground); + padding: 5px; +} +div.annotate-info a { color: var(--color_heading_main); } +td.annotate:hover div.annotate-info { display: inline; } + +#diffopts-form { + font-size: smaller; + color: var(--color_foreground); + padding-bottom: 10px; + display: none; +} + +.source, .sourcefirst { + font-family: monospace; + white-space: pre; + padding: 1px 4px; + font-size: 90%; +} +.sourcefirst { + border-bottom: 1px solid #999; + font-weight: bold; + } +.source a { color: #999; font-size: smaller; font-family: monospace;} + +.sourcelines { + position: relative; + counter-reset: lineno; +} + +.wrap > span { + white-space: pre-wrap; +} + +.linewraptoggle { + float: right; +} + +.diffblocks { + counter-reset: lineno; +} +.diffblocks > div { + font-family: 'FreeMono' !important; + counter-increment: lineno; + border: 1px solid #888; + border-radius: 0.3125rem; + margin-top: 0.5rem; +} + +.sourcelines > span { + display: inline-block; + box-sizing: border-box; + width: 100%; + padding: 1px 0px 1px 5em; + counter-increment: lineno; +} + +.sourcelines > span:before { + -moz-user-select: -moz-none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + display: inline-block; + margin-left: -6em; + width: 4em; + font-size: smaller; + /*color: #999;*/ + text-align: right; + content: counters(lineno, "."); + float: left; +} + +.sourcelines > span:after { + content: ''; + display: inline-block; +} + +.sourcelines > span:target, tr:target td { + background-color: #bfdfff; +} + +/* Followlines */ +tbody.sourcelines > tr.followlines-selected, +pre.sourcelines > span.followlines-selected { + background-color: #99C7E9; +} + +div#followlines { + background-color: var(--color_background); + border: 1px solid #999; + padding: 5px; + position: fixed; +} + +div.followlines-cancel { + text-align: right; +} + +div.followlines-cancel > button { + line-height: 80%; + padding: 0; + border: 0; + border-radius: 2px; + background-color: inherit; + font-weight: bold; +} + +div.followlines-cancel > button:hover { + color: var(--color_background); + background-color: #cc241d; +} + +div.followlines-link { + margin: 2px; + margin-top: 4px; + font-family: sans-serif; +} + +.btn-followlines { + position: absolute; + display: none; + cursor: pointer; + box-sizing: content-box; + font-size: 12px; + width: 13px; + height: 13px; + border-radius: 3px; + margin: 0px; + margin-top: -2px; + padding: 0px; + background-color: #E5FDE5; + border: 1px solid #9BC19B; + font-family: monospace; + text-align: center; + line-height: 5px; +} + +span.followlines-select .btn-followlines { + margin-left: -1.5em; +} + +.btn-followlines:hover { + transform: scale(1.2, 1.2); +} + +.btn-followlines .followlines-plus { + color: #98971a; +} + +.btn-followlines .followlines-minus { + color: #cc241d; +} + +.btn-followlines-end { + background-color: #ffdcdc; +} + +.sourcelines tr:hover .btn-followlines, +.sourcelines span.followlines-select:hover > .btn-followlines { + display: inline; +} + +.btn-followlines-hidden, +.sourcelines tr:hover .btn-followlines-hidden { + display: none; +} + +.sourcelines > a { + display: inline-block; + position: absolute; + left: 0px; + width: 4em; + height: 1em; +} + +.fileline { font-family: monospace; } +.fileline img { border: 0; } + +.tagEntry .closed { color: var(--color_heading_sub); } + +/* Changeset entry */ +#changesetEntry { + border-collapse: collapse; + width: 100%; + margin-bottom: 1em; +} + +#changesetEntry th { + padding: 1px 4px; + width: 4em; + text-align: right; + font-weight: normal; + vertical-align: top; +} + +div.description { + border-left: 2px solid #999; + margin: 1em 0 1em 0; + padding: .3em; + white-space: pre; + font-family: monospace; +} + +/* Graph */ +div#wrapper { + position: relative; + border-top: 1px solid black; + border-bottom: 1px solid black; + margin: 0; + padding: 0; +} + +canvas { + position: absolute; + z-index: 5; + top: -0.7em; + margin: 0; +} + +ul#graphnodes { + list-style: none inside none; + padding: 0; + margin: 0; +} + +ul#graphnodes li { + height: 39px; + overflow: visible; +} + +ul#graphnodes li .fg { + position: absolute; + z-index: 10; +} + +ul#graphnodes li .info { + font-size: 70%; +} + +/* Comparison */ +.legend { + padding: 1.5% 0 1.5% 0; +} + +.legendinfo { + border: 1px solid #999; + font-size: 80%; + text-align: center; + padding: 0.5%; +} + +.equal { background-color: var(--color_background_main); } + +.delete { + background-color: var(--color_alert); + color: var(--color_background); + font-weight: bold; +} + +.insert { + background-color: var(--color_links); + color: var(--color_background); + font-weight: bold; +} + +.replace { + background-color: var(--color_heading_main); + color: var(--color_background); + font-weight: bold; +} + +.header { + text-align: center; +} + +.block { + border-top: 1px solid #999; +} + +.breadcrumb { color: gray; } + +.scroll-loading { + -webkit-animation: change_color 1s linear 0s infinite alternate; + -moz-animation: change_color 1s linear 0s infinite alternate; + -o-animation: change_color 1s linear 0s infinite alternate; + animation: change_color 1s linear 0s infinite alternate; +} + +@-webkit-keyframes change_color { + from { background-color: #A0CEFF; } to { } +} +@-moz-keyframes change_color { + from { background-color: #A0CEFF; } to { } +} +@-o-keyframes change_color { + from { background-color: #A0CEFF; } to { } +} +@keyframes change_color { + from { background-color: #A0CEFF; } to { } +} + +.scroll-loading-error { + background-color: #FFCCCC !important; +} + +/* Fix main css */ +img { + filter: none; +} +.main>main { + width: auto !important; + max-width: 100% !important; + margin-top: 2rem !important; +} diff -r 000000000000 -r 2f78b9100113 tags.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tags.tmpl Mon Jul 10 23:41:04 2023 +0700 @@ -0,0 +1,60 @@ +{header} +Tags {repo|escape} + + + + +
    + +
    +
    +

    Software {pathdef%breadcrumb}

    + + {searchform} + +

    Tags

    + + + + + + + + + {entries%tagentry} + +
    tagnode
    +

    +
    +
    +
    + {logo} + {banner} +{footer}