Added git server and prometheus metrics
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
htdocs/archive/*
|
||||
*.swp
|
||||
*.swo
|
||||
authorized_keys
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM httpd
|
||||
|
||||
RUN apt-get update -y && apt-get install -y git gitweb
|
||||
@@ -14,11 +14,10 @@ $git_temp = "/tmp";
|
||||
#$projects_list = $projectroot;
|
||||
|
||||
# stylesheet to use
|
||||
#@stylesheets = ("static/gitweb.css");
|
||||
@stylesheets = ("/common/catppuccin.css");
|
||||
|
||||
# javascript code for gitweb
|
||||
#$javascript = "static/gitweb.js";
|
||||
$javascript = "/static/gitweb.js";
|
||||
|
||||
# logo to use
|
||||
#$logo = "static/git-logo.png";
|
||||
|
||||
@@ -229,7 +229,7 @@ Group www-data
|
||||
# e-mailed. This address appears on some server-generated pages, such
|
||||
# as error documents. e.g. admin@your-domain.com
|
||||
#
|
||||
ServerAdmin you@example.com
|
||||
ServerAdmin eric@eom.dev
|
||||
|
||||
#
|
||||
# ServerName gives the name and port that the server uses to identify itself.
|
||||
@@ -238,7 +238,7 @@ ServerAdmin you@example.com
|
||||
#
|
||||
# If your host doesn't have a registered DNS name, enter its IP address here.
|
||||
#
|
||||
#ServerName www.example.com:80
|
||||
ServerName eom.dev:443
|
||||
|
||||
#
|
||||
# Deny access to the entirety of your server's filesystem. You must
|
||||
@@ -294,9 +294,13 @@ DocumentRoot "/usr/local/apache2/htdocs"
|
||||
# Custom
|
||||
#
|
||||
Header add Link "</common/catppuccin.css>; rel=stylesheet; type=text/css"
|
||||
Header add Link "</common/favicon.ico>; rel=icon; type=image/x-icon"
|
||||
</Directory>
|
||||
|
||||
<Location "/server-status">
|
||||
SetHandler server-status
|
||||
Require ip 127.0.0.1/32
|
||||
</Location>
|
||||
|
||||
#
|
||||
# DirectoryIndex: sets the file that Apache will serve if a directory
|
||||
# is requested.
|
||||
|
||||
@@ -13,7 +13,7 @@ services:
|
||||
www:
|
||||
image: ericomeehan/gitweb:latest
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
dockerfile: gitweb.Dockerfile
|
||||
depends_on:
|
||||
- mailsync
|
||||
volumes:
|
||||
@@ -23,3 +23,13 @@ services:
|
||||
- ./conf/gitweb.conf:/etc/gitweb.conf
|
||||
ports:
|
||||
- 8080:80
|
||||
- 9117:9117
|
||||
gitserver:
|
||||
image: ericomeeha/gitserver:latest
|
||||
build:
|
||||
dockerfile: gitserver.Dockerfile
|
||||
volumes:
|
||||
- ./htdocs:/home/git/data
|
||||
- ./authorized_keys:/auth/authorized_keys
|
||||
ports:
|
||||
- 2222:22
|
||||
|
||||
36
gitserver.Dockerfile
Normal file
36
gitserver.Dockerfile
Normal file
@@ -0,0 +1,36 @@
|
||||
# Use an official Debian base image
|
||||
FROM debian:stable-slim
|
||||
|
||||
# Set environment variables to avoid prompts during installation
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install required packages
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
git \
|
||||
openssh-server \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create a new user (replace 'git' with your desired username)
|
||||
RUN useradd -m -s /usr/bin/git-shell git && \
|
||||
mkdir -p /home/git/.ssh && \
|
||||
chown -R git:git /home/git/.ssh
|
||||
|
||||
# Set up SSH
|
||||
# COPY sshd_config /etc/ssh/sshd_config
|
||||
RUN echo "PermitRootLogin no" >> /etc/ssh/sshd_config && \
|
||||
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config && \
|
||||
echo "ChallengeResponseAuthentication no" && \
|
||||
echo "UsePAM no" >> /etc/ssh/sshd_config && \
|
||||
echo "Subsystem git /usr/lib/git-core/git-shell"
|
||||
|
||||
# Expose SSH port
|
||||
EXPOSE 22
|
||||
|
||||
RUN ln -sf /home/git/data/archive /archive
|
||||
|
||||
COPY gitserver.entrypoint.sh /entrypoint.sh
|
||||
|
||||
# Start SSH server
|
||||
CMD ["/bin/bash", "/entrypoint.sh"]
|
||||
|
||||
5
gitserver.entrypoint.sh
Normal file
5
gitserver.entrypoint.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
cp /auth/authorized_keys /home/git/.ssh/
|
||||
chown -R git:git /home/git/.ssh
|
||||
|
||||
/usr/sbin/sshd -D
|
||||
5
gitweb.Dockerfile
Normal file
5
gitweb.Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
||||
FROM httpd
|
||||
|
||||
RUN apt-get update -y && apt-get install -y git gitweb prometheus-apache-exporter
|
||||
|
||||
EXPOSE 9117
|
||||
@@ -16,5 +16,5 @@ div.page_header {
|
||||
</a>
|
||||
<h3>Browse Source Code</h3>
|
||||
<p>
|
||||
Powered by <a href="https://git-scm.com/docs/gitweb">gitweb</a>.
|
||||
Powered by <a href="https://git-scm.com/docs/gitweb">GitWeb</a>.
|
||||
</p>
|
||||
|
||||
686
htdocs/static/gitweb.css
Normal file
686
htdocs/static/gitweb.css
Normal file
@@ -0,0 +1,686 @@
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: small;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 1px;
|
||||
margin: 10px;
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0000cc;
|
||||
}
|
||||
|
||||
a:hover, a:visited, a:active {
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
span.cntrl {
|
||||
border: dashed #aaaaaa;
|
||||
border-width: 1px;
|
||||
padding: 0px 2px 0px 2px;
|
||||
margin: 0px 2px 0px 2px;
|
||||
}
|
||||
|
||||
img.logo {
|
||||
float: right;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
img.avatar {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img.blob {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
a.list img.avatar {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
div.page_header {
|
||||
height: 25px;
|
||||
padding: 8px;
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
background-color: #d9d8d1;
|
||||
}
|
||||
|
||||
div.page_header a:visited, a.header {
|
||||
color: #0000cc;
|
||||
}
|
||||
|
||||
div.page_header a:hover {
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
div.page_nav {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
div.page_nav a:visited {
|
||||
color: #0000cc;
|
||||
}
|
||||
|
||||
div.page_path {
|
||||
padding: 8px;
|
||||
font-weight: bold;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 0px 0px 1px;
|
||||
}
|
||||
|
||||
div.page_footer {
|
||||
height: 22px;
|
||||
padding: 4px 8px;
|
||||
background-color: #d9d8d1;
|
||||
}
|
||||
|
||||
div.page_footer_text {
|
||||
line-height: 22px;
|
||||
float: left;
|
||||
color: #555555;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div#generating_info {
|
||||
margin: 4px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
color: #505050;
|
||||
}
|
||||
|
||||
div.page_body {
|
||||
padding: 8px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
div.title, a.title {
|
||||
display: block;
|
||||
padding: 6px 8px;
|
||||
font-weight: bold;
|
||||
background-color: #edece6;
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
div.readme {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
a.title:hover {
|
||||
background-color: #d9d8d1;
|
||||
}
|
||||
|
||||
div.title_text {
|
||||
padding: 6px 0px;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 0px 0px 1px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
div.log_body {
|
||||
padding: 8px 8px 8px 150px;
|
||||
}
|
||||
|
||||
span.age {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 142px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.signoff {
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
div.log_link {
|
||||
padding: 0px 8px;
|
||||
font-size: 70%;
|
||||
font-family: sans-serif;
|
||||
font-style: normal;
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 136px;
|
||||
}
|
||||
|
||||
div.list_head {
|
||||
padding: 6px 8px 4px;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 1px 0px 0px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.author_date, .author {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.author_date {
|
||||
padding: 8px;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 0px 0px 1px 0px;
|
||||
}
|
||||
|
||||
a.list {
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
a.subject, a.name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tags a.subject {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a.list:hover {
|
||||
text-decoration: underline;
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
a.text {
|
||||
text-decoration: none;
|
||||
color: #0000cc;
|
||||
}
|
||||
|
||||
a.text:visited {
|
||||
text-decoration: none;
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
a.text:hover {
|
||||
text-decoration: underline;
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
table {
|
||||
padding: 8px 4px;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
table.diff_tree {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
table.combined.diff_tree th {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.combined.diff_tree td {
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
table.combined.diff_tree th.link,
|
||||
table.combined.diff_tree td.link {
|
||||
padding: 0px 2px;
|
||||
}
|
||||
|
||||
table.combined.diff_tree td.nochange a {
|
||||
color: #6666ff;
|
||||
}
|
||||
|
||||
table.combined.diff_tree td.nochange a:hover,
|
||||
table.combined.diff_tree td.nochange a:visited {
|
||||
color: #d06666;
|
||||
}
|
||||
|
||||
table.blame {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.blame td {
|
||||
padding: 0px 5px;
|
||||
font-size: 100%;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
th {
|
||||
padding: 2px 5px;
|
||||
font-size: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* do not change row style on hover for 'blame' view */
|
||||
tr.light,
|
||||
table.blame .light:hover {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
tr.dark,
|
||||
table.blame .dark:hover {
|
||||
background-color: #f6f6f0;
|
||||
}
|
||||
|
||||
/* currently both use the same, but it can change */
|
||||
tr.light:hover,
|
||||
tr.dark:hover {
|
||||
background-color: #edece6;
|
||||
}
|
||||
|
||||
/* boundary commits in 'blame' view */
|
||||
/* and commits without "previous" */
|
||||
tr.boundary td.sha1,
|
||||
tr.no-previous td.linenr {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* for 'blame_incremental', during processing */
|
||||
tr.color1 { background-color: #f6fff6; }
|
||||
tr.color2 { background-color: #f6f6ff; }
|
||||
tr.color3 { background-color: #fff6f6; }
|
||||
|
||||
td {
|
||||
padding: 2px 5px;
|
||||
font-size: 100%;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
td.link, td.selflink {
|
||||
padding: 2px 5px;
|
||||
font-family: sans-serif;
|
||||
font-size: 70%;
|
||||
}
|
||||
|
||||
td.selflink {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
td.sha1 {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: red;
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
td.current_head {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
td.category {
|
||||
background-color: #d9d8d1;
|
||||
border-top: 1px solid #000000;
|
||||
border-left: 1px solid #000000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.diff_tree span.file_status.new {
|
||||
color: #008000;
|
||||
}
|
||||
|
||||
table.diff_tree span.file_status.deleted {
|
||||
color: #c00000;
|
||||
}
|
||||
|
||||
table.diff_tree span.file_status.moved,
|
||||
table.diff_tree span.file_status.mode_chnge {
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
table.diff_tree span.file_status.copied {
|
||||
color: #70a070;
|
||||
}
|
||||
|
||||
/* noage: "No commits" */
|
||||
table.project_list td.noage {
|
||||
color: #808080;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* age2: 60*60*24*2 <= age */
|
||||
table.project_list td.age2, table.blame td.age2 {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* age1: 60*60*2 <= age < 60*60*24*2 */
|
||||
table.project_list td.age1 {
|
||||
color: #009900;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table.blame td.age1 {
|
||||
color: #009900;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* age0: age < 60*60*2 */
|
||||
table.project_list td.age0 {
|
||||
color: #009900;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.blame td.age0 {
|
||||
color: #009900;
|
||||
background: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
td.pre, div.pre, div.diff {
|
||||
font-family: monospace;
|
||||
font-size: 12px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
td.mode {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/* progress of blame_interactive */
|
||||
div#progress_bar {
|
||||
height: 2px;
|
||||
margin-bottom: -2px;
|
||||
background-color: #d8d9d0;
|
||||
}
|
||||
div#progress_info {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* format of (optional) objects size in 'tree' view */
|
||||
td.size {
|
||||
font-family: monospace;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* styling of diffs (patchsets): commitdiff and blobdiff views */
|
||||
div.diff.header,
|
||||
div.diff.extended_header {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
div.diff.header {
|
||||
font-weight: bold;
|
||||
|
||||
background-color: #edece6;
|
||||
|
||||
margin-top: 4px;
|
||||
padding: 4px 0px 2px 0px;
|
||||
border: solid #d9d8d1;
|
||||
border-width: 1px 0px 1px 0px;
|
||||
}
|
||||
|
||||
div.diff.header a.path {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.diff.extended_header,
|
||||
div.diff.extended_header a.path,
|
||||
div.diff.extended_header a.hash {
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
div.diff.extended_header .info {
|
||||
color: #b0b0b0;
|
||||
}
|
||||
|
||||
div.diff.extended_header {
|
||||
background-color: #f6f5ee;
|
||||
padding: 2px 0px 2px 0px;
|
||||
}
|
||||
|
||||
div.diff a.list,
|
||||
div.diff a.path,
|
||||
div.diff a.hash {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div.diff a.list:hover,
|
||||
div.diff a.path:hover,
|
||||
div.diff a.hash:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.diff.to_file a.path,
|
||||
div.diff.to_file {
|
||||
color: #007000;
|
||||
}
|
||||
|
||||
div.diff.add {
|
||||
color: #008800;
|
||||
}
|
||||
|
||||
div.diff.add span.marked {
|
||||
background-color: #aaffaa;
|
||||
}
|
||||
|
||||
div.diff.from_file a.path,
|
||||
div.diff.from_file {
|
||||
color: #aa0000;
|
||||
}
|
||||
|
||||
div.diff.rem {
|
||||
color: #cc0000;
|
||||
}
|
||||
|
||||
div.diff.rem span.marked {
|
||||
background-color: #ffaaaa;
|
||||
}
|
||||
|
||||
div.diff.chunk_header a,
|
||||
div.diff.chunk_header {
|
||||
color: #990099;
|
||||
}
|
||||
|
||||
div.diff.chunk_header {
|
||||
border: dotted #ffe0ff;
|
||||
border-width: 1px 0px 0px 0px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
div.diff.chunk_header span.chunk_info {
|
||||
background-color: #ffeeff;
|
||||
}
|
||||
|
||||
div.diff.chunk_header span.section {
|
||||
color: #aa22aa;
|
||||
}
|
||||
|
||||
div.diff.incomplete {
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
div.diff.nodifferences {
|
||||
font-weight: bold;
|
||||
color: #600000;
|
||||
}
|
||||
|
||||
/* side-by-side diff */
|
||||
div.chunk_block {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.chunk_block div.old {
|
||||
float: left;
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.chunk_block div.new {
|
||||
margin-left: 50%;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
div.chunk_block.rem div.old div.diff.rem {
|
||||
background-color: #fff5f5;
|
||||
}
|
||||
div.chunk_block.add div.new div.diff.add {
|
||||
background-color: #f8fff8;
|
||||
}
|
||||
div.chunk_block.chg div div.diff {
|
||||
background-color: #fffff0;
|
||||
}
|
||||
div.chunk_block.ctx div div.diff.ctx {
|
||||
color: #404040;
|
||||
}
|
||||
|
||||
|
||||
div.index_include {
|
||||
border: solid #d9d8d1;
|
||||
border-width: 0px 0px 1px;
|
||||
padding: 12px 8px;
|
||||
}
|
||||
|
||||
div.search {
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
margin: 4px 8px;
|
||||
float: right;
|
||||
top: 56px;
|
||||
right: 12px
|
||||
}
|
||||
|
||||
div.projsearch {
|
||||
text-align: center;
|
||||
margin: 20px 0px;
|
||||
}
|
||||
|
||||
div.projsearch form {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
td.linenr {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
a.linenr {
|
||||
color: #999999;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
a.rss_logo {
|
||||
float: right;
|
||||
padding: 3px 5px;
|
||||
line-height: 10px;
|
||||
border: 1px solid;
|
||||
border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
|
||||
color: #ffffff;
|
||||
background-color: #ff6600;
|
||||
font-weight: bold;
|
||||
font-family: sans-serif;
|
||||
font-size: 70%;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.rss_logo:hover {
|
||||
background-color: #ee5500;
|
||||
}
|
||||
|
||||
a.rss_logo.generic {
|
||||
background-color: #ff8800;
|
||||
}
|
||||
|
||||
a.rss_logo.generic:hover {
|
||||
background-color: #ee7700;
|
||||
}
|
||||
|
||||
span.refs span {
|
||||
padding: 0px 4px;
|
||||
font-size: 70%;
|
||||
font-weight: normal;
|
||||
border: 1px solid;
|
||||
background-color: #ffaaff;
|
||||
border-color: #ffccff #ff00ee #ff00ee #ffccff;
|
||||
}
|
||||
|
||||
span.refs span a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
span.refs span a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.refs span.indirect {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.refs span.ref {
|
||||
background-color: #aaaaff;
|
||||
border-color: #ccccff #0033cc #0033cc #ccccff;
|
||||
}
|
||||
|
||||
span.refs span.tag {
|
||||
background-color: #ffffaa;
|
||||
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
|
||||
}
|
||||
|
||||
span.refs span.head {
|
||||
background-color: #aaffaa;
|
||||
border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
|
||||
}
|
||||
|
||||
span.atnight {
|
||||
color: #cc0000;
|
||||
}
|
||||
|
||||
span.match {
|
||||
color: #e00000;
|
||||
}
|
||||
|
||||
div.binary {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.remote {
|
||||
margin: .5em;
|
||||
border: 1px solid #d9d8d1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* JavaScript-based timezone manipulation */
|
||||
|
||||
.popup { /* timezone selection UI */
|
||||
position: absolute;
|
||||
/* "top: 0; right: 0;" would be better, if not for bugs in browsers */
|
||||
top: 0; left: 0;
|
||||
border: 1px solid;
|
||||
padding: 2px;
|
||||
background-color: #f0f0f0;
|
||||
font-style: normal;
|
||||
color: #000000;
|
||||
cursor: auto;
|
||||
}
|
||||
|
||||
.close-button { /* close timezone selection UI without selecting */
|
||||
/* float doesn't work within absolutely positioned container,
|
||||
* if width of container is not set explicitly */
|
||||
/* float: right; */
|
||||
position: absolute;
|
||||
top: 0px; right: 0px;
|
||||
border: 1px solid green;
|
||||
margin: 1px 1px 1px 1px;
|
||||
padding-bottom: 2px;
|
||||
width: 12px;
|
||||
height: 10px;
|
||||
font-size: 9px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
background-color: #fff0f0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/* Style definition generated by highlight 2.4.5, http://andre-simon.de/doku/highlight/en/highlight.php */
|
||||
|
||||
/* Highlighting theme definition: */
|
||||
|
||||
.num { color:#2928ff; }
|
||||
.esc { color:#ff00ff; }
|
||||
.str { color:#ff0000; }
|
||||
.dstr { color:#818100; }
|
||||
.slc { color:#838183; font-style:italic; }
|
||||
.com { color:#838183; font-style:italic; }
|
||||
.dir { color:#008200; }
|
||||
.sym { color:#000000; }
|
||||
.line { color:#555555; }
|
||||
.kwa { color:#000000; font-weight:bold; }
|
||||
.kwb { color:#830000; }
|
||||
.kwc { color:#000000; font-weight:bold; }
|
||||
.kwd { color:#010181; }
|
||||
Reference in New Issue
Block a user