From a9d6125f0b28d445cdb7e3006e849d22c82e3424 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 19 Sep 2018 21:53:16 -0400 Subject: [PATCH] Remove cgit support --- config.example.ini | 5 - gitsrht/access.py | 13 + gitsrht/app.py | 2 + gitsrht/blueprints/api.py | 3 +- gitsrht/blueprints/public.py | 83 +--- gitsrht/blueprints/repo.py | 11 + gitsrht/templates/cgit.html | 23 - scss/cgit.scss | 854 ----------------------------------- scss/main.scss | 85 ---- 9 files changed, 31 insertions(+), 1048 deletions(-) create mode 100644 gitsrht/blueprints/repo.py delete mode 100644 gitsrht/templates/cgit.html delete mode 100644 scss/cgit.scss diff --git a/config.example.ini b/config.example.ini index 1092aa5..13c0741 100644 --- a/config.example.ini +++ b/config.example.ini @@ -60,11 +60,6 @@ oauth-client-secret=CHANGEME # Path to git repositories on disk repos=/var/lib/git/ -[git.sr.ht::cgit] -# -# URL where cgit is being served (we proxy to it) -remote=http://cgit.local - [git.sr.ht::dispatch] # # The authorized keys hook uses this to dispatch to various handlers diff --git a/gitsrht/access.py b/gitsrht/access.py index 1c9ea96..860cc41 100644 --- a/gitsrht/access.py +++ b/gitsrht/access.py @@ -12,6 +12,19 @@ class UserAccess(IntFlag): write = 2 manage = 4 +def check_repo(user, repo, authorized=current_user): + u = User.query.filter(User.username == user).first() + if not u: + abort(404) + _repo = Repository.query.filter(Repository.owner_id == u.id)\ + .filter(Repository.name == repo).first() + if not _repo: + abort(404) + if _repo.visibility == RepoVisibility.private: + if not authorized or authorized.id != _repo.owner_id: + abort(404) + return u, _repo + def get_repo(owner_name, repo_name): if owner_name[0] == "~": user = User.query.filter(User.username == owner_name[1:]).first() diff --git a/gitsrht/app.py b/gitsrht/app.py index 412ed46..d85997d 100644 --- a/gitsrht/app.py +++ b/gitsrht/app.py @@ -17,10 +17,12 @@ class GitApp(SrhtFlask): from gitsrht.blueprints.api import api from gitsrht.blueprints.public import public + from gitsrht.blueprints.repo import repo from gitsrht.blueprints.manage import manage self.register_blueprint(api) self.register_blueprint(public) + self.register_blueprint(repo) self.register_blueprint(manage) meta_client_id = cfg("git.sr.ht", "oauth-client-id") diff --git a/gitsrht/blueprints/api.py b/gitsrht/blueprints/api.py index d5d4399..37697e7 100644 --- a/gitsrht/blueprints/api.py +++ b/gitsrht/blueprints/api.py @@ -1,7 +1,6 @@ from flask import Blueprint, request, redirect, abort, url_for from gitsrht.types import Repository, RepoVisibility, User, Webhook, Redirect -from gitsrht.access import UserAccess, has_access, get_repo -from gitsrht.blueprints.public import check_repo +from gitsrht.access import UserAccess, has_access, get_repo, check_repo from gitsrht.repos import create_repo from srht.validation import Validation, valid_url from srht.oauth import oauth diff --git a/gitsrht/blueprints/public.py b/gitsrht/blueprints/public.py index 9912ae8..b674408 100644 --- a/gitsrht/blueprints/public.py +++ b/gitsrht/blueprints/public.py @@ -1,16 +1,14 @@ -from flask import Blueprint, Response, request, redirect, url_for -from flask import render_template, abort, stream_with_context +from flask import Blueprint, request +from flask import render_template, abort from flask_login import current_user import requests from srht.config import cfg from srht.flask import paginate_query -from gitsrht.types import User, Repository, RepoVisibility, Redirect -from gitsrht.access import UserAccess, has_access, get_repo +from gitsrht.types import User, Repository, RepoVisibility from sqlalchemy import or_ -public = Blueprint('cgit', __name__) +public = Blueprint('public', __name__) -upstream = cfg("git.sr.ht::cgit", "remote") meta_uri = cfg("meta.sr.ht", "origin") @public.route("/") @@ -25,79 +23,6 @@ def index(): repos = None return render_template("index.html", repos=repos) -def check_repo(user, repo, authorized=current_user): - u = User.query.filter(User.username == user).first() - if not u: - abort(404) - _repo = Repository.query.filter(Repository.owner_id == u.id)\ - .filter(Repository.name == repo).first() - if not _repo: - abort(404) - if _repo.visibility == RepoVisibility.private: - if not authorized or authorized.id != _repo.owner_id: - abort(404) - return u, _repo - -@public.route("//") -@public.route("///") -@public.route("///") -def cgit_passthrough(owner_name, repo_name, cgit_path=""): - owner, repo = get_repo(owner_name, repo_name) - if isinstance(repo, Redirect): - return redirect(url_for(".cgit_passthrough", - owner_name=owner_name, repo_name=repo.new_repo.name, - cgit_path=cgit_path)) - if not has_access(repo, UserAccess.read): - abort(404) - r = requests.get("{}/{}".format(upstream, request.full_path)) - if r.status_code != 200: - abort(r.status_code) - base = (cfg("git.sr.ht", "origin") - .replace("http://", "") - .replace("https://", "")) - clone_urls = ["https://{}/{}/{}", "git@{}:{}/{}"] - our_clone_text = """ - - {} - (read-only) - - - {} - (read/write) - - """.format( - clone_urls[0].format(base, owner_name, repo_name), - clone_urls[0].format(base, owner_name, repo_name), - clone_urls[1].format(base, owner_name, repo_name)) - their_clone_text = "" +\ - "__CLONE_URL__".format( - owner_name, repo_name) + "" - if not their_clone_text in r.text: - their_clone_text = their_clone_text.replace(" colspan='3'", "") - text = r.text.replace(their_clone_text, our_clone_text) - if "Repository seems to be empty" in r.text: - text = text.replace("Clone", "Push") - return render_template("cgit.html", - cgit_html=text, owner=owner, repo=repo, - has_access=has_access, UserAccess=UserAccess) - -@public.route("///") -@public.route("////") -@public.route("////") -def cgit_plain(owner_name, repo_name, op, path=None): - if not op in ["patch", "plain", "snapshot"]: - return cgit_passthrough(owner_name, repo_name, - op + ("/" + path if path else "")) - owner, repo = get_repo(owner_name, repo_name) - if isinstance(repo, Redirect): - return redirect(url_for(".cgit_plain", - owner_name=owner_name, repo_name=repo.new_repo.name, - op=op, path=path)) - if not has_access(repo, UserAccess.read): - abort(404) - r = requests.get("{}/{}".format(upstream, request.full_path), stream=True) - return Response(stream_with_context(r.iter_content()), content_type=r.headers['content-type']) - @public.route("/~") @public.route("/~/") def user_index(username): diff --git a/gitsrht/blueprints/repo.py b/gitsrht/blueprints/repo.py new file mode 100644 index 0000000..4f4a696 --- /dev/null +++ b/gitsrht/blueprints/repo.py @@ -0,0 +1,11 @@ +from flask import Blueprint +from flask_login import current_user +from gitsrht.types import User, Repository + +repo = Blueprint('repo', __name__) + +# TODO: !! SECURITY !! + +@repo.route("//") +def summary(owner, name): + return "hi!" diff --git a/gitsrht/templates/cgit.html b/gitsrht/templates/cgit.html deleted file mode 100644 index cab8c2e..0000000 --- a/gitsrht/templates/cgit.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends "git.html" %} -{% block body %} -
-
-
-

- {{ owner.canonical_name }}/{{ repo.name }} - - {% if repo.visibility.value != "public" %} - {{ repo.visibility.value }} - {% endif %} - - - {% if has_access(repo, UserAccess.manage) %} - Settings - {% endif %} - -

-
-
-
-{{ cgit_html | safe }} -{% endblock %} diff --git a/scss/cgit.scss b/scss/cgit.scss deleted file mode 100644 index 3586e43..0000000 --- a/scss/cgit.scss +++ /dev/null @@ -1,854 +0,0 @@ -div#cgit { - padding: 0em; - margin: 0em; - font-family: sans-serif; - font-size: 10pt; - color: #333; - background: white; - padding: 4px; -} - -div#cgit a { - color: blue; - text-decoration: none; -} - -div#cgit a:hover { - text-decoration: underline; -} - -div#cgit table { - border-collapse: collapse; -} - -div#cgit table#header { - width: 100%; - margin-bottom: 1em; -} - -div#cgit table#header td.logo { - width: 96px; - vertical-align: top; -} - -div#cgit table#header td.main { - font-size: 250%; - padding-left: 10px; - white-space: nowrap; -} - -div#cgit table#header td.main a { - color: #000; -} - -div#cgit table#header td.form { - text-align: right; - vertical-align: bottom; - padding-right: 1em; - padding-bottom: 2px; - white-space: nowrap; -} - -div#cgit table#header td.form form, -div#cgit table#header td.form input, -div#cgit table#header td.form select { - font-size: 90%; -} - -div#cgit table#header td.sub { - color: #777; - border-top: solid 1px #ccc; - padding-left: 10px; -} - -div#cgit table.tabs { - border-bottom: solid 3px #ccc; - border-collapse: collapse; - margin-top: 2em; - margin-bottom: 0px; - width: 100%; -} - -div#cgit table.tabs td { - padding: 0px 1em; - vertical-align: bottom; -} - -div#cgit table.tabs td a { - padding: 2px 0.75em; - color: #777; - font-size: 110%; -} - -div#cgit table.tabs td a.active { - color: #000; - background-color: #ccc; -} - -div#cgit table.tabs a[href^="http://"]:after, div#cgit table.tabs a[href^="https://"]:after { - content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgAhcJDQY+gm2TAAAAHWlUWHRDb21tZW50AAAAAABDcmVhdGVkIHdpdGggR0lNUGQuZQcAAABbSURBVAhbY2BABs4MU4CwhYHBh2Erww4wrGFQZHjI8B8IgUIscJWyDHcggltQhI4zGDCcRwhChPggHIggP1QoAVmQkSETrGoHsiAEsACtBYN0oDAMbgU6EBcAAL2eHUt4XUU4AAAAAElFTkSuQmCC); - opacity: 0.5; - margin: 0 0 0 5px; -} - -div#cgit table.tabs td.form { - text-align: right; -} - -div#cgit table.tabs td.form form { - padding-bottom: 2px; - font-size: 90%; - white-space: nowrap; -} - -div#cgit table.tabs td.form input, -div#cgit table.tabs td.form select { - font-size: 90%; -} - -div#cgit div.path { - margin: 0px; - padding: 5px 2em 2px 2em; - color: #000; - background-color: #eee; -} - -div#cgit div.content { - margin: 0px; - padding: 2em; - border-bottom: solid 3px #ccc; -} - - -div#cgit table.list { - width: 100%; - border: none; - border-collapse: collapse; -} - -div#cgit table.list tr { - background: white; -} - -div#cgit table.list tr.logheader { - background: #eee; -} - -div#cgit table.list tr:nth-child(even) { - background: #f7f7f7; -} - -div#cgit table.list tr:nth-child(odd) { - background: white; -} - -div#cgit table.list tr:hover { - background: #eee; -} - -div#cgit table.list tr.nohover { - background: white; -} - -div#cgit table.list tr.nohover:hover { - background: white; -} - -div#cgit table.list tr.nohover-highlight:hover:nth-child(even) { - background: #f7f7f7; -} - -div#cgit table.list tr.nohover-highlight:hover:nth-child(odd) { - background: white; -} - -div#cgit table.list th { - font-weight: bold; - /* color: #888; - border-top: dashed 1px #888; - border-bottom: dashed 1px #888; - */ - padding: 0.1em 0.5em 0.05em 0.5em; - vertical-align: baseline; -} - -div#cgit table.list td { - border: none; - padding: 0.1em 0.5em 0.1em 0.5em; -} - -div#cgit table.list td.commitgraph { - font-family: monospace; - white-space: pre; -} - -div#cgit table.list td.commitgraph .column1 { - color: #a00; -} - -div#cgit table.list td.commitgraph .column2 { - color: #0a0; -} - -div#cgit table.list td.commitgraph .column3 { - color: #aa0; -} - -div#cgit table.list td.commitgraph .column4 { - color: #00a; -} - -div#cgit table.list td.commitgraph .column5 { - color: #a0a; -} - -div#cgit table.list td.commitgraph .column6 { - color: #0aa; -} - -div#cgit table.list td.logsubject { - font-family: monospace; - font-weight: bold; -} - -div#cgit table.list td.logmsg { - font-family: monospace; - white-space: pre; - padding: 0 0.5em; -} - -div#cgit table.list td a { - color: black; -} - -div#cgit table.list td a.ls-dir { - font-weight: bold; - color: #00f; -} - -div#cgit table.list td a:hover { - color: #00f; -} - -div#cgit img { - border: none; -} - -div#cgit input#switch-btn { - margin: 2px 0px 0px 0px; -} - -div#cgit td#sidebar input.txt { - width: 100%; - margin: 2px 0px 0px 0px; -} - -div#cgit table#grid { - margin: 0px; -} - -div#cgit td#content { - vertical-align: top; - padding: 1em 2em 1em 1em; - border: none; -} - -div#cgit div#summary { - vertical-align: top; - margin-bottom: 1em; -} - -div#cgit table#downloads { - float: right; - border-collapse: collapse; - border: solid 1px #777; - margin-left: 0.5em; - margin-bottom: 0.5em; -} - -div#cgit table#downloads th { - background-color: #ccc; -} - -div#cgit div#blob { - border: solid 1px black; -} - -div#cgit div.error { - color: red; - font-weight: bold; - margin: 1em 2em; -} - -div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit .ls-mod { - font-family: monospace; -} - -div#cgit td.ls-size { - text-align: right; - font-family: monospace; - width: 10em; -} - -div#cgit td.ls-mode { - font-family: monospace; - width: 10em; -} - -div#cgit table.blob { - margin-top: 0.5em; - border-top: solid 1px black; -} - -div#cgit table.blob td.lines { - margin: 0; padding: 0 0 0 0.5em; - vertical-align: top; - color: black; -} - -div#cgit table.blob td.linenumbers { - margin: 0; padding: 0 0.5em 0 0.5em; - vertical-align: top; - text-align: right; - border-right: 1px solid gray; -} - -div#cgit table.blob pre { - padding: 0; margin: 0; -} - -div#cgit table.blob td.linenumbers a, -div#cgit table.ssdiff td.lineno a { - color: gray; - text-align: right; - text-decoration: none; -} - -div#cgit table.blob td.linenumbers a:hover, -div#cgit table.ssdiff td.lineno a:hover { - color: black; -} - -div#cgit table.bin-blob { - margin-top: 0.5em; - border: solid 1px black; -} - -div#cgit table.bin-blob th { - font-family: monospace; - white-space: pre; - border: solid 1px #777; - padding: 0.5em 1em; -} - -div#cgit table.bin-blob td { - font-family: monospace; - white-space: pre; - border-left: solid 1px #777; - padding: 0em 1em; -} - -div#cgit table.nowrap td { - white-space: nowrap; -} - -div#cgit table.commit-info { - border-collapse: collapse; - margin-top: 1.5em; -} - -div#cgit div.cgit-panel { - float: right; - margin-top: 1.5em; -} - -div#cgit div.cgit-panel table { - border-collapse: collapse; - border: solid 1px #aaa; - background-color: #eee; -} - -div#cgit div.cgit-panel th { - text-align: center; -} - -div#cgit div.cgit-panel td { - padding: 0.25em 0.5em; -} - -div#cgit div.cgit-panel td.label { - padding-right: 0.5em; -} - -div#cgit div.cgit-panel td.ctrl { - padding-left: 0.5em; -} - -div#cgit table.commit-info th { - text-align: left; - font-weight: normal; - padding: 0.1em 1em 0.1em 0.1em; - vertical-align: top; -} - -div#cgit table.commit-info td { - font-weight: normal; - padding: 0.1em 1em 0.1em 0.1em; -} - -div#cgit div.commit-subject { - font-weight: bold; - font-size: 125%; - margin: 1.5em 0em 0.5em 0em; - padding: 0em; -} - -div#cgit div.commit-msg { - white-space: pre; - font-family: monospace; -} - -div#cgit div.notes-header { - font-weight: bold; - padding-top: 1.5em; -} - -div#cgit div.notes { - white-space: pre; - font-family: monospace; - border: solid 1px #ee9; - background-color: #ffd; - padding: 0.3em 2em 0.3em 1em; - float: left; -} - -div#cgit div.notes-footer { - clear: left; -} - -div#cgit div.diffstat-header { - font-weight: bold; - padding-top: 1.5em; -} - -div#cgit table.diffstat { - border-collapse: collapse; - border: solid 1px #aaa; - background-color: #eee; -} - -div#cgit table.diffstat th { - font-weight: normal; - text-align: left; - text-decoration: underline; - padding: 0.1em 1em 0.1em 0.1em; - font-size: 100%; -} - -div#cgit table.diffstat td { - padding: 0.2em 0.2em 0.1em 0.1em; - font-size: 100%; - border: none; -} - -div#cgit table.diffstat td.mode { - white-space: nowrap; -} - -div#cgit table.diffstat td span.modechange { - padding-left: 1em; - color: red; -} - -div#cgit table.diffstat td.add a { - color: green; -} - -div#cgit table.diffstat td.del a { - color: red; -} - -div#cgit table.diffstat td.upd a { - color: blue; -} - -div#cgit table.diffstat td.graph { - width: 500px; - vertical-align: middle; -} - -div#cgit table.diffstat td.graph table { - border: none; -} - -div#cgit table.diffstat td.graph td { - padding: 0px; - border: 0px; - height: 7pt; -} - -div#cgit table.diffstat td.graph td.add { - background-color: #5c5; -} - -div#cgit table.diffstat td.graph td.rem { - background-color: #c55; -} - -div#cgit div.diffstat-summary { - color: #888; - padding-top: 0.5em; -} - -div#cgit table.diff { - width: 100%; -} - -div#cgit table.diff td { - font-family: monospace; - white-space: pre; -} - -div#cgit table.diff td div.head { - font-weight: bold; - margin-top: 1em; - color: black; -} - -div#cgit table.diff td div.hunk { - color: #009; -} - -div#cgit table.diff td div.add { - color: green; -} - -div#cgit table.diff td div.del { - color: red; -} - -div#cgit .sha1 { - font-family: monospace; - font-size: 90%; -} - -div#cgit .left { - text-align: left; -} - -div#cgit .right { - text-align: right; -} - -div#cgit table.list td.reposection { - font-style: italic; - color: #888; -} - -div#cgit a.button { - font-size: 80%; - padding: 0em 0.5em; -} - -div#cgit a.primary { - font-size: 100%; -} - -div#cgit a.secondary { - font-size: 90%; -} - -div#cgit td.toplevel-repo { - -} - -div#cgit table.list td.sublevel-repo { - padding-left: 1.5em; -} - -div#cgit ul.pager { - list-style-type: none; - text-align: center; - margin: 1em 0em 0em 0em; - padding: 0; -} - -div#cgit ul.pager li { - display: inline-block; - margin: 0.25em 0.5em; -} - -div#cgit ul.pager a { - color: #777; -} - -div#cgit ul.pager .current { - font-weight: bold; -} - -div#cgit span.age-mins { - font-weight: bold; - color: #080; -} - -div#cgit span.age-hours { - color: #080; -} - -div#cgit span.age-days { - color: #040; -} - -div#cgit span.age-weeks { - color: #444; -} - -div#cgit span.age-months { - color: #888; -} - -div#cgit span.age-years { - color: #bbb; -} - -div#cgit span.insertions { - color: #080; -} - -div#cgit span.deletions { - color: #800; -} - -div#cgit div.footer { - margin-top: 0.5em; - text-align: center; - font-size: 80%; - color: #ccc; -} - -div#cgit div.footer a { - color: #ccc; - text-decoration: none; -} - -div#cgit div.footer a:hover { - text-decoration: underline; -} - -div#cgit a.branch-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #88ff88; - border: solid 1px #007700; -} - -div#cgit a.tag-deco, -div#cgit a.tag-annotated-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ffff88; - border: solid 1px #777700; -} - -div#cgit a.remote-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ccccff; - border: solid 1px #000077; -} - -div#cgit a.deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ff8888; - border: solid 1px #770000; -} - -div#cgit div.commit-subject a.branch-deco, -div#cgit div.commit-subject a.tag-deco, -div#cgit div.commit-subject a.tag-annotated-deco, -div#cgit div.commit-subject a.remote-deco, -div#cgit div.commit-subject a.deco { - margin-left: 1em; - font-size: 75%; -} - -div#cgit table.stats { - border: solid 1px black; - border-collapse: collapse; -} - -div#cgit table.stats th { - text-align: left; - padding: 1px 0.5em; - background-color: #eee; - border: solid 1px black; -} - -div#cgit table.stats td { - text-align: right; - padding: 1px 0.5em; - border: solid 1px black; -} - -div#cgit table.stats td.total { - font-weight: bold; - text-align: left; -} - -div#cgit table.stats td.sum { - color: #c00; - font-weight: bold; -/* background-color: #eee; */ -} - -div#cgit table.stats td.left { - text-align: left; -} - -div#cgit table.vgraph { - border-collapse: separate; - border: solid 1px black; - height: 200px; -} - -div#cgit table.vgraph th { - background-color: #eee; - font-weight: bold; - border: solid 1px white; - padding: 1px 0.5em; -} - -div#cgit table.vgraph td { - vertical-align: bottom; - padding: 0px 10px; -} - -div#cgit table.vgraph div.bar { - background-color: #eee; -} - -div#cgit table.hgraph { - border: solid 1px black; - width: 800px; -} - -div#cgit table.hgraph th { - background-color: #eee; - font-weight: bold; - border: solid 1px black; - padding: 1px 0.5em; -} - -div#cgit table.hgraph td { - vertical-align: middle; - padding: 2px 2px; -} - -div#cgit table.hgraph div.bar { - background-color: #eee; - height: 1em; -} - -div#cgit table.ssdiff { - width: 100%; -} - -div#cgit table.ssdiff td { - font-size: 75%; - font-family: monospace; - white-space: pre; - padding: 1px 4px 1px 4px; - border-left: solid 1px #aaa; - border-right: solid 1px #aaa; -} - -div#cgit table.ssdiff td.add { - color: black; - background: #cfc; - min-width: 50%; -} - -div#cgit table.ssdiff td.add_dark { - color: black; - background: #aca; - min-width: 50%; -} - -div#cgit table.ssdiff span.add { - background: #cfc; - font-weight: bold; -} - -div#cgit table.ssdiff td.del { - color: black; - background: #fcc; - min-width: 50%; -} - -div#cgit table.ssdiff td.del_dark { - color: black; - background: #caa; - min-width: 50%; -} - -div#cgit table.ssdiff span.del { - background: #fcc; - font-weight: bold; -} - -div#cgit table.ssdiff td.changed { - color: black; - background: #ffc; - min-width: 50%; -} - -div#cgit table.ssdiff td.changed_dark { - color: black; - background: #cca; - min-width: 50%; -} - -div#cgit table.ssdiff td.lineno { - color: black; - background: #eee; - text-align: right; - width: 3em; - min-width: 3em; -} - -div#cgit table.ssdiff td.hunk { - color: black; - background: #ccf; - border-top: solid 1px #aaa; - border-bottom: solid 1px #aaa; -} - -div#cgit table.ssdiff td.head { - border-top: solid 1px #aaa; - border-bottom: solid 1px #aaa; -} - -div#cgit table.ssdiff td.head div.head { - font-weight: bold; - color: black; -} - -div#cgit table.ssdiff td.foot { - border-top: solid 1px #aaa; - border-left: none; - border-right: none; - border-bottom: none; -} - -div#cgit table.ssdiff td.space { - border: none; -} - -div#cgit table.ssdiff td.space div { - min-height: 3em; -} diff --git a/scss/main.scss b/scss/main.scss index 885f560..7621753 100644 --- a/scss/main.scss +++ b/scss/main.scss @@ -1,5 +1,4 @@ @import "base"; -@import "cgit"; .filter-repos { .btn { @@ -10,87 +9,3 @@ .repo-nav { margin-left: 1rem; } - -div#cgit { - padding: 0; - font-size: inherit; - - table.tabs { - margin-top: 0; - border-bottom: 3px solid #ddd; - - td a { - margin: 0 0.2rem; - padding: 0 1rem 3px 1rem; - font-size: inherit; - border-width: 1px 1px 0px 1px; - border-color: transparent; - border-style: solid; - text-decoration: none; - - &.active { - background-color: #ddd; - } - - &:hover, &.active { - border-color: #ddd; - } - } - - input[type="text"] { - border-width: 1px; - border-style: solid; - width: 8rem; - padding: 0 0; - } - } - - pre { - background: transparent; - font-size: inherit !important; - } - - div.path { - background-color: #ddd; - padding-top: 0; - - a { - padding: 0 0.25rem; - - &:first-child { - padding-left: 0; - } - - &:last-child { - padding-right: 0; - } - } - } - - div.error { - margin-left: 0; - } - - table.list { - th:first-child, td:first-child { - padding-left: 0; - } - } - - // Recolor links - a, table.list td a.ls-dir { - color: $link-color; - text-decoration: $link-decoration; - - &:hover { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - } - } - - .highlight { - .s, .s1, .s2, .si, .se { - background: transparent; - } - } -} -- 2.38.4