first commit
This commit is contained in:
165
custom/templates/custom/body_inner_post.tmpl
Normal file
165
custom/templates/custom/body_inner_post.tmpl
Normal file
@@ -0,0 +1,165 @@
|
||||
<style>
|
||||
/* Repository cards - clean compact design with visible descriptions */
|
||||
|
||||
.user.profile .flex.flex-item,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] {
|
||||
background: rgba(255, 255, 255, 0.6) !important;
|
||||
border: 1px solid rgba(140, 169, 255, 0.15) !important;
|
||||
border-radius: 0.75rem !important;
|
||||
padding: 0.875rem 1rem !important;
|
||||
margin-bottom: 0.5rem !important;
|
||||
box-shadow: 0 1px 3px rgba(140, 169, 255, 0.08) !important;
|
||||
transition: all 0.2s ease !important;
|
||||
}
|
||||
|
||||
.user.profile .flex.flex-item:hover,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"]:hover {
|
||||
background: rgba(255, 255, 255, 0.85) !important;
|
||||
border-color: rgba(140, 169, 255, 0.3) !important;
|
||||
box-shadow: 0 2px 8px rgba(140, 169, 255, 0.12) !important;
|
||||
transform: translateY(-1px) !important;
|
||||
}
|
||||
|
||||
/* Make nested divs blend seamlessly but keep their display/spacing */
|
||||
.user.profile .flex.flex-item > *,
|
||||
.user.profile .flex.flex-item > * > *,
|
||||
.user.profile .flex.flex-item > * > * > *,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] > *,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] > * > *,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] > * > * > * {
|
||||
background: transparent !important;
|
||||
background-color: transparent !important;
|
||||
background-image: none !important;
|
||||
border: none !important;
|
||||
border-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
/* Repository title styling */
|
||||
.user.profile .flex.flex-item .flex-item-title a {
|
||||
font-size: 1rem !important;
|
||||
font-weight: 600 !important;
|
||||
color: #1e293b !important;
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
/* Description styling - make sure it's visible! */
|
||||
.user.profile .flex.flex-item .flex-item-body,
|
||||
.user.profile .flex.flex-item p.desc,
|
||||
.user.profile .flex.flex-item .description {
|
||||
display: block !important;
|
||||
margin-top: 0.375rem !important;
|
||||
margin-bottom: 0.375rem !important;
|
||||
font-size: 0.875rem !important;
|
||||
line-height: 1.4 !important;
|
||||
color: #64748b !important;
|
||||
opacity: 1 !important;
|
||||
visibility: visible !important;
|
||||
}
|
||||
|
||||
/* Metadata row (language, stars, etc.) */
|
||||
.user.profile .flex.flex-item .flex-item-trailing {
|
||||
display: flex !important;
|
||||
gap: 0.75rem !important;
|
||||
font-size: 0.875rem !important;
|
||||
color: #64748b !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
// Force clean repository cards - strip ALL nested styling
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function cleanRepoCards() {
|
||||
// Find all repository card containers
|
||||
const repoCards = document.querySelectorAll('.user.profile .flex.flex-item, .user.profile div[class*="flex-list"] > div[class*="flex"]');
|
||||
|
||||
repoCards.forEach(card => {
|
||||
// Get ALL nested elements (deep)
|
||||
const allNested = card.querySelectorAll('*');
|
||||
|
||||
allNested.forEach(element => {
|
||||
// Force remove inline styles that create backgrounds/borders
|
||||
element.style.background = 'transparent';
|
||||
element.style.backgroundColor = 'transparent';
|
||||
element.style.backgroundImage = 'none';
|
||||
element.style.border = 'none';
|
||||
element.style.borderRadius = '0';
|
||||
element.style.boxShadow = 'none';
|
||||
element.style.backdropFilter = 'none';
|
||||
element.style.webkitBackdropFilter = 'none';
|
||||
element.style.outline = 'none';
|
||||
});
|
||||
});
|
||||
|
||||
// Also apply via CSS
|
||||
const style = document.createElement('style');
|
||||
style.id = 'ocean-repo-cards-clean';
|
||||
style.textContent = `
|
||||
.user.profile .flex.flex-item,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] {
|
||||
background: rgba(255, 255, 255, 0.95) !important;
|
||||
border: 1px solid rgba(140, 169, 255, 0.25) !important;
|
||||
border-radius: 1rem !important;
|
||||
padding: 1rem 1.25rem !important;
|
||||
margin-bottom: 0.75rem !important;
|
||||
box-shadow: 0 2px 8px rgba(140, 169, 255, 0.1) !important;
|
||||
}
|
||||
|
||||
/* Force ALL nested elements to be completely transparent */
|
||||
.user.profile .flex.flex-item *,
|
||||
.user.profile div[class*="flex-list"] > div[class*="flex"] * {
|
||||
background: transparent !important;
|
||||
background-color: transparent !important;
|
||||
background-image: none !important;
|
||||
border: none !important;
|
||||
border-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
outline: none !important;
|
||||
}
|
||||
`;
|
||||
|
||||
const oldStyle = document.getElementById('ocean-repo-cards-clean');
|
||||
if (oldStyle) oldStyle.remove();
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
|
||||
// Run immediately
|
||||
cleanRepoCards();
|
||||
|
||||
// Run after DOM ready
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', cleanRepoCards);
|
||||
}
|
||||
|
||||
// Run after everything loads
|
||||
window.addEventListener('load', () => {
|
||||
cleanRepoCards();
|
||||
// Run again after a slight delay to catch any late-loading styles
|
||||
setTimeout(cleanRepoCards, 100);
|
||||
setTimeout(cleanRepoCards, 500);
|
||||
});
|
||||
|
||||
// Watch for changes and re-clean
|
||||
const observer = new MutationObserver(() => {
|
||||
cleanRepoCards();
|
||||
});
|
||||
|
||||
// Start observing once DOM is ready
|
||||
if (document.body) {
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
} else {
|
||||
window.addEventListener('load', () => {
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
});
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
33
custom/templates/custom/footer.tmpl
Normal file
33
custom/templates/custom/footer.tmpl
Normal file
@@ -0,0 +1,33 @@
|
||||
<div class="custom-footer">
|
||||
<div class="footer-inner">
|
||||
<div>
|
||||
<h3><i class="fa-solid fa-code-branch me-2"></i>Build together</h3>
|
||||
<p>Deliver faster with lightweight workflows, protected branches and integrated automation. {{AppName}} keeps your DevOps stack on hardware you trust.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Resources</h3>
|
||||
<ul class="footer-links">
|
||||
<li><a href="https://docs.gitea.com/" target="_blank" rel="noopener"><i class="fa-solid fa-book-open me-2"></i>Product documentation</a></li>
|
||||
<li><a href="https://blog.gitea.com/" target="_blank" rel="noopener"><i class="fa-solid fa-newspaper me-2"></i>Release notes</a></li>
|
||||
<li><a href="https://github.com/go-gitea/gitea" target="_blank" rel="noopener"><i class="fa-brands fa-github me-2"></i>Source code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Get help</h3>
|
||||
<ul class="footer-links">
|
||||
<li><a href="https://docs.gitea.com/installation" target="_blank" rel="noopener"><i class="fa-solid fa-server me-2"></i>Installation guide</a></li>
|
||||
<li><a href="https://docs.gitea.com/administration" target="_blank" rel="noopener"><i class="fa-solid fa-shield-halved me-2"></i>Admin handbook</a></li>
|
||||
<li><a href="https://docs.gitea.com/usage" target="_blank" rel="noopener"><i class="fa-solid fa-people-group me-2"></i>User onboarding</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-divider"></div>
|
||||
<div class="footer-bottom">
|
||||
<span>© {{AppName}} – self-hosted Git, streamlined.</span>
|
||||
<div class="social-links">
|
||||
<a href="https://github.com/go-gitea" target="_blank" rel="noopener" aria-label="GitHub"><i class="fa-brands fa-github"></i></a>
|
||||
<a href="https://twitter.com/giteaio" target="_blank" rel="noopener" aria-label="X"><i class="fa-brands fa-x-twitter"></i></a>
|
||||
<a href="https://discord.gg/gitea" target="_blank" rel="noopener" aria-label="Discord"><i class="fa-brands fa-discord"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1014
custom/templates/custom/header.tmpl
Normal file
1014
custom/templates/custom/header.tmpl
Normal file
File diff suppressed because it is too large
Load Diff
157
custom/templates/home.tmpl
Normal file
157
custom/templates/home.tmpl
Normal file
@@ -0,0 +1,157 @@
|
||||
{{template "base/head" .}}
|
||||
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="page-content p-0">
|
||||
{{if .IsSigned}}
|
||||
<section class="py-5 bg-soft border-bottom">
|
||||
<div class="container">
|
||||
<div class="row align-items-center g-4">
|
||||
<div class="col-lg-8">
|
||||
<span class="badge text-bg-primary text-uppercase mb-3">Welcome back</span>
|
||||
<h1 class="display-5 fw-bold mb-3">Dashboard · {{.SignedUser.Name}}</h1>
|
||||
<p class="lead mb-4">Quick links to jump straight into your day with {{AppName}}.</p>
|
||||
<div class="d-flex flex-wrap gap-3">
|
||||
<a class="btn btn-primary btn-lg" href="{{AppSubUrl}}/repo/create">
|
||||
<i class="fa-solid fa-circle-plus me-2"></i>Create repository
|
||||
</a>
|
||||
<a class="btn btn-outline-primary btn-lg" href="{{AppSubUrl}}/explore/repos">
|
||||
<i class="fa-solid fa-compass me-2"></i>Explore projects
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card shadow-sm border-0">
|
||||
<div class="card-body">
|
||||
<h2 class="h5 fw-semibold mb-4">Quick actions</h2>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/{{.SignedUser.Name}}"><i class="fa-solid fa-user me-2"></i>View profile</a></li>
|
||||
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=repositories"><i class="fa-solid fa-book me-2"></i>Manage repositories</a></li>
|
||||
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/notifications"><i class="fa-solid fa-bell me-2"></i>Check notifications</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="py-5">
|
||||
<div class="container">
|
||||
<div class="row g-4">
|
||||
<div class="col-md-4">
|
||||
<div class="card home-stat-card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-timeline me-2 text-primary"></i>Stay updated</h3>
|
||||
<p class="text-muted mb-3">Jump into your activity feed to review pull requests, issues and events.</p>
|
||||
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/dashboard">Open dashboard</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card homestat-card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-diagram-project me-2 text-primary"></i>Manage repositories</h3>
|
||||
<p class="text-muted mb-3">Keep tabs on projects, branches and pull requests that matter most.</p>
|
||||
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=repositories">View repositories</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card home-stat-card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-gear me-2 text-primary"></i>Tune your settings</h3>
|
||||
<p class="text-muted mb-3">Update SSH keys, notifications and integrations for your workflow.</p>
|
||||
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/user/settings">Open settings</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{else}}
|
||||
<section class="home-hero">
|
||||
<!-- Sun rays -->
|
||||
<div class="sun-rays"></div>
|
||||
|
||||
<!-- Whale -->
|
||||
<div class="whale-container">
|
||||
<div class="whale-box">
|
||||
<div class="whale-left">
|
||||
<div class="whale-belly"></div>
|
||||
</div>
|
||||
<div class="whale-middle">
|
||||
<div class="whale-belly"></div>
|
||||
</div>
|
||||
<div class="whale-tail"></div>
|
||||
<div class="whale-fin1"></div>
|
||||
<div class="whale-fin2"></div>
|
||||
<div class="whale-eye"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bubbles -->
|
||||
<div class="bubble bubble-1"></div>
|
||||
<div class="bubble bubble-2"></div>
|
||||
<div class="bubble bubble-3"></div>
|
||||
<div class="bubble bubble-4"></div>
|
||||
<div class="bubble bubble-5"></div>
|
||||
<div class="bubble bubble-6"></div>
|
||||
|
||||
<div class="container py-5">
|
||||
<div class="row align-items-center g-5">
|
||||
<div class="col-12 col-lg-6">
|
||||
<h1 class="mb-4">Build, collaborate and deliver with confidence.</h1>
|
||||
<p class="lead mb-5">Lightweight, powerful and totally yours. {{AppName}} gives your team a beautiful code collaboration hub backed by open source freedom.</p>
|
||||
<div class="d-flex flex-wrap gap-3">
|
||||
<a class="hero-btn-primary" href="{{AppSubUrl}}/user/login">
|
||||
<i class="fa-solid fa-right-to-bracket"></i>Sign in
|
||||
</a>
|
||||
<a class="hero-btn-secondary" href="{{AppSubUrl}}/explore/repos">
|
||||
<i class="fa-solid fa-compass"></i>Explore projects
|
||||
</a>
|
||||
<a class="hero-btn-tertiary" href="https://docs.gitea.com/" target="_blank">
|
||||
<i class="fa-solid fa-book-open"></i>Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="py-5 bg-white">
|
||||
<div class="container">
|
||||
<div class="row g-4">
|
||||
<div class="col-md-4">
|
||||
<div class="feature-icon mb-3"><i class="fa-solid fa-cloud-arrow-up"></i></div>
|
||||
<h3 class="h5 fw-semibold mb-3">Ship faster</h3>
|
||||
<p class="text-muted">Built-in CI runners and packages help your team move ideas to production faster with less friction.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="feature-icon mb-3"><i class="fa-solid fa-lock"></i></div>
|
||||
<h3 class="h5 fw-semibold mb-3">Stay secure</h3>
|
||||
<p class="text-muted">Enforce branch protections, SSO, fine-grained permissions and audit logs to keep your codebase safe.</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="feature-icon mb-3"><i class="fa-solid fa-plug"></i></div>
|
||||
<h3 class="h5 fw-semibold mb-3">Integrate everywhere</h3>
|
||||
<p class="text-muted">Connect with runners, chatops and automation platforms using webhooks, OAuth and a RESTful API.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="py-5">
|
||||
<div class="container">
|
||||
<div class="home-footer-cta text-center text-lg-start">
|
||||
<div class="row align-items-center g-4">
|
||||
<div class="col-lg-8">
|
||||
<h2 class="mb-3">Ready to solve real world problem?</h2>
|
||||
<p class="mb-0">Sign in to your {{AppName}} instance or invite your team to collaborate securely with pull requests, packages and automation.</p>
|
||||
</div>
|
||||
<div class="col-lg-4 text-lg-end">
|
||||
<a class="btn btn-light btn-lg text-primary" href="{{AppSubUrl}}/user/sign_up">
|
||||
<i class="fa-solid fa-user-plus me-2"></i>{{ctx.Locale.Tr "sign_up"}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{end}}
|
||||
</div>
|
||||
{{template "base/footer" .}}
|
||||
Reference in New Issue
Block a user