|
1 | 1 | <!DOCTYPE html> |
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | | - <meta charset="UTF-8" /> |
5 | | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
6 | | - <title>SpringBootLibrary — Documentation Portal</title> |
| 4 | + <meta charset="UTF-8"/> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> |
| 6 | + <title>SpringBootLibrarySphinx — Documentation Portal</title> |
7 | 7 | <style> |
8 | 8 | :root { |
9 | 9 | --brand: #2980b9; |
|
24 | 24 | background: var(--light-bg); |
25 | 25 | color: var(--text); |
26 | 26 | } |
27 | | - |
28 | | - /* ── Header ── */ |
29 | 27 | header { |
30 | 28 | background: var(--dark); |
31 | 29 | color: #fff; |
32 | 30 | padding: 2.5rem 2rem 2rem; |
33 | 31 | text-align: center; |
34 | 32 | } |
35 | | - header h1 { font-size: 2.2rem; font-weight: 700; letter-spacing: -0.5px; } |
| 33 | + header h1 { font-size: 2.2rem; font-weight: 700; } |
36 | 34 | header p { margin-top: .6rem; color: #a8c0d6; font-size: 1.05rem; } |
37 | 35 | .badge { |
38 | 36 | display: inline-block; |
|
43 | 41 | font-weight: 600; |
44 | 42 | background: var(--brand); |
45 | 43 | color: #fff; |
46 | | - letter-spacing: .5px; |
47 | | - } |
48 | | - |
49 | | - /* ── Grid ── */ |
50 | | - main { |
51 | | - max-width: 1100px; |
52 | | - margin: 2.5rem auto; |
53 | | - padding: 0 1.5rem 4rem; |
54 | 44 | } |
| 45 | + main { max-width: 1100px; margin: 2.5rem auto; padding: 0 1.5rem 4rem; } |
55 | 46 | .section-title { |
56 | 47 | font-size: 1rem; |
57 | 48 | font-weight: 700; |
|
67 | 58 | grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |
68 | 59 | gap: 1.2rem; |
69 | 60 | } |
70 | | - |
71 | | - /* ── Cards ── */ |
72 | 61 | .card { |
73 | 62 | background: var(--card-bg); |
74 | 63 | border: 1px solid var(--border); |
|
86 | 75 | box-shadow: 0 6px 20px rgba(0,0,0,.1); |
87 | 76 | border-color: var(--brand); |
88 | 77 | } |
89 | | - .card-icon { |
90 | | - font-size: 1.8rem; |
91 | | - line-height: 1; |
92 | | - } |
93 | | - .card-title { |
94 | | - font-weight: 700; |
95 | | - font-size: 1.05rem; |
96 | | - } |
97 | | - .card-desc { |
98 | | - font-size: .88rem; |
99 | | - color: var(--muted); |
100 | | - line-height: 1.5; |
101 | | - } |
| 78 | + .card-icon { font-size: 1.8rem; line-height: 1; } |
| 79 | + .card-title { font-weight: 700; font-size: 1.05rem; } |
| 80 | + .card-desc { font-size: .88rem; color: var(--muted); line-height: 1.5; } |
102 | 81 | .card-tag { |
103 | 82 | display: inline-block; |
104 | 83 | font-size: .72rem; |
|
109 | 88 | align-self: flex-start; |
110 | 89 | margin-top: .3rem; |
111 | 90 | } |
112 | | - |
113 | | - /* Tag colours */ |
114 | 91 | .tag-sphinx { background: var(--brand); } |
115 | 92 | .tag-java { background: var(--orange); } |
116 | 93 | .tag-test { background: var(--green); } |
117 | 94 | .tag-quality { background: var(--purple); } |
118 | 95 | .tag-perf { background: var(--teal); } |
119 | 96 | .tag-doxygen { background: #c0392b; } |
120 | | - |
121 | 97 | footer { |
122 | 98 | text-align: center; |
123 | 99 | padding: 2rem; |
|
130 | 106 | <body> |
131 | 107 |
|
132 | 108 | <header> |
133 | | - <h1>📚 SpringBootLibrary</h1> |
134 | | - <p>Documentation Portal — SPQ subject exemplary project</p> |
135 | | - <span class="badge">Spring Boot 3.4 · Java 17 · CI/CD with GitHub Actions</span> |
| 109 | + <h1>📚 SpringBootLibrarySphinx</h1> |
| 110 | + <p>Documentation Portal — SPQ subject exemplary project</p> |
| 111 | + <span class="badge">Spring Boot 3.4 · Java 17 · CI/CD with GitHub Actions</span> |
136 | 112 | </header> |
137 | 113 |
|
138 | 114 | <main> |
139 | 115 |
|
140 | | - <!-- ── Sphinx Portal ── --> |
141 | | - <p class="section-title">📖 Documentation Portal (Sphinx)</p> |
| 116 | + <p class="section-title">📖 Sphinx Documentation Portal</p> |
142 | 117 | <div class="grid"> |
143 | | - |
144 | 118 | <a class="card" href="sphinx/index.html"> |
145 | | - <span class="card-icon">🏠</span> |
146 | | - <span class="card-title">Sphinx Documentation Hub</span> |
| 119 | + <span class="card-icon">🏠</span> |
| 120 | + <span class="card-title">Sphinx Hub</span> |
147 | 121 | <span class="card-desc">Full project portal: architecture, API reference, testing strategy, CI/CD guide, and Sphinx 101.</span> |
148 | 122 | <span class="card-tag tag-sphinx">Sphinx</span> |
149 | 123 | </a> |
150 | | - |
| 124 | + <a class="card" href="sphinx/SpringBootLibrarySphinx.pdf"> |
| 125 | + <span class="card-icon">📄</span> |
| 126 | + <span class="card-title">Documentation PDF</span> |
| 127 | + <span class="card-desc">Full Sphinx documentation exported as PDF for offline reading.</span> |
| 128 | + <span class="card-tag tag-sphinx">PDF</span> |
| 129 | + </a> |
151 | 130 | <a class="card" href="sphinx/sphinx_101.html"> |
152 | | - <span class="card-icon">📘</span> |
| 131 | + <span class="card-icon">📘</span> |
153 | 132 | <span class="card-title">Sphinx 101</span> |
154 | | - <span class="card-desc">What Sphinx is, what it's useful for, how to use it, and how to integrate it with GitHub Actions.</span> |
155 | | - <span class="card-tag tag-sphinx">Sphinx Guide</span> |
| 133 | + <span class="card-desc">What Sphinx is, how to use it, and how to integrate it with GitHub Actions.</span> |
| 134 | + <span class="card-tag tag-sphinx">Guide</span> |
156 | 135 | </a> |
157 | | - |
158 | 136 | <a class="card" href="sphinx/architecture.html"> |
159 | | - <span class="card-icon">🏗️</span> |
160 | | - <span class="card-title">Architecture Overview</span> |
161 | | - <span class="card-desc">MVC pattern, package structure, database design, and key architectural decisions.</span> |
| 137 | + <span class="card-icon">🏗️</span> |
| 138 | + <span class="card-title">Architecture</span> |
| 139 | + <span class="card-desc">MVC pattern, package structure, and key architectural decisions.</span> |
162 | 140 | <span class="card-tag tag-sphinx">Sphinx</span> |
163 | 141 | </a> |
164 | | - |
165 | 142 | <a class="card" href="sphinx/cicd.html"> |
166 | | - <span class="card-icon">🚀</span> |
| 143 | + <span class="card-icon">🚀</span> |
167 | 144 | <span class="card-title">CI/CD Guide</span> |
168 | | - <span class="card-desc">GitHub Actions workflows explained: Maven site, Sphinx deployment, and GitHub Pages setup.</span> |
| 145 | + <span class="card-desc">GitHub Actions workflows explained in full detail.</span> |
169 | 146 | <span class="card-tag tag-sphinx">Sphinx</span> |
170 | 147 | </a> |
171 | | - |
172 | 148 | </div> |
173 | 149 |
|
174 | | - <!-- ── Java API Reference ── --> |
175 | | - <p class="section-title">🔌 Java API Reference</p> |
| 150 | + <p class="section-title">🔌 Java API Reference</p> |
176 | 151 | <div class="grid"> |
177 | | - |
178 | 152 | <a class="card" href="site/apidocs/index.html"> |
179 | | - <span class="card-icon">☕</span> |
| 153 | + <span class="card-icon">☕</span> |
180 | 154 | <span class="card-title">Javadoc</span> |
181 | | - <span class="card-desc">Standard Java API reference for all public classes, methods, and fields. Generated by maven-javadoc-plugin.</span> |
| 155 | + <span class="card-desc">Standard Java API reference for all public classes, methods, and fields.</span> |
182 | 156 | <span class="card-tag tag-java">Javadoc</span> |
183 | 157 | </a> |
184 | | - |
185 | 158 | <a class="card" href="doxygen/html/index.html"> |
186 | | - <span class="card-icon">🔬</span> |
187 | | - <span class="card-title">Doxygen Reference</span> |
188 | | - <span class="card-desc">Cross-referenced HTML with call graphs and class hierarchies. Includes richly documented classes: BorrowingController, BookService, Borrowing.</span> |
| 159 | + <span class="card-icon">🔬</span> |
| 160 | + <span class="card-title">Doxygen</span> |
| 161 | + <span class="card-desc">Cross-referenced HTML with call graphs and class hierarchies.</span> |
189 | 162 | <span class="card-tag tag-doxygen">Doxygen</span> |
190 | 163 | </a> |
191 | | - |
192 | 164 | </div> |
193 | 165 |
|
194 | | - <!-- ── Test Reports ── --> |
195 | | - <p class="section-title">🧪 Test Reports</p> |
| 166 | + <p class="section-title">🧪 Test Reports</p> |
196 | 167 | <div class="grid"> |
197 | | - |
198 | 168 | <a class="card" href="site/jacoco/index.html"> |
199 | | - <span class="card-icon">📊</span> |
| 169 | + <span class="card-icon">📊</span> |
200 | 170 | <span class="card-title">JaCoCo Coverage</span> |
201 | | - <span class="card-desc">Line, branch, and method coverage report. Minimum threshold enforced: 25 % line coverage.</span> |
| 171 | + <span class="card-desc">Line, branch, and method coverage. Minimum threshold: 25% line coverage.</span> |
202 | 172 | <span class="card-tag tag-test">JaCoCo</span> |
203 | 173 | </a> |
204 | | - |
205 | | - <a class="card" href="site/surefire-report.html"> |
206 | | - <span class="card-icon">✅</span> |
207 | | - <span class="card-title">Surefire — Unit Tests</span> |
208 | | - <span class="card-desc">Pass / fail / skipped results for every JUnit 5 unit test case, with execution times.</span> |
| 174 | + <a class="card" href="site/surefire.html"> |
| 175 | + <span class="card-icon">✅</span> |
| 176 | + <span class="card-title">Surefire — Unit Tests</span> |
| 177 | + <span class="card-desc">Pass / fail / skipped for every JUnit 5 test case with execution times.</span> |
209 | 178 | <span class="card-tag tag-test">Surefire</span> |
210 | 179 | </a> |
211 | | - |
212 | 180 | <a class="card" href="site/reports/perf-report.html"> |
213 | | - <span class="card-icon">⚡</span> |
| 181 | + <span class="card-icon">⚡</span> |
214 | 182 | <span class="card-title">Performance Tests</span> |
215 | | - <span class="card-desc">JUnitPerf throughput and latency results. Generated with the `performance` Maven profile.</span> |
| 183 | + <span class="card-desc">JUnitPerf throughput and latency results (performance Maven profile).</span> |
216 | 184 | <span class="card-tag tag-perf">JUnitPerf</span> |
217 | 185 | </a> |
218 | | - |
219 | 186 | </div> |
220 | 187 |
|
221 | | - <!-- ── Code Quality ── --> |
222 | | - <p class="section-title">🔍 Code Quality Reports</p> |
| 188 | + <p class="section-title">🔍 Code Quality</p> |
223 | 189 | <div class="grid"> |
224 | | - |
225 | 190 | <a class="card" href="site/checkstyle.html"> |
226 | | - <span class="card-icon">📏</span> |
| 191 | + <span class="card-icon">📏</span> |
227 | 192 | <span class="card-title">Checkstyle</span> |
228 | | - <span class="card-desc">Code style conformance report. Validates formatting, naming conventions, and structural rules.</span> |
| 193 | + <span class="card-desc">Code style conformance: formatting, naming conventions, structural rules.</span> |
229 | 194 | <span class="card-tag tag-quality">Checkstyle</span> |
230 | 195 | </a> |
231 | | - |
232 | 196 | <a class="card" href="site/pmd.html"> |
233 | | - <span class="card-icon">🐛</span> |
234 | | - <span class="card-title">PMD — Static Analysis</span> |
235 | | - <span class="card-desc">Detects unused variables, empty catch blocks, overly complex methods, and other code smells.</span> |
| 197 | + <span class="card-icon">🐛</span> |
| 198 | + <span class="card-title">PMD</span> |
| 199 | + <span class="card-desc">Unused variables, empty catch blocks, overly complex methods.</span> |
236 | 200 | <span class="card-tag tag-quality">PMD</span> |
237 | 201 | </a> |
238 | | - |
239 | 202 | <a class="card" href="site/cpd.html"> |
240 | | - <span class="card-icon">📋</span> |
241 | | - <span class="card-title">CPD — Copy-Paste Detector</span> |
242 | | - <span class="card-desc">Identifies duplicated code blocks across the entire codebase.</span> |
243 | | - <span class="card-tag tag-quality">PMD/CPD</span> |
| 203 | + <span class="card-icon">📋</span> |
| 204 | + <span class="card-title">CPD — Copy-Paste Detector</span> |
| 205 | + <span class="card-desc">Identifies duplicated code blocks across the codebase.</span> |
| 206 | + <span class="card-tag tag-quality">CPD</span> |
244 | 207 | </a> |
245 | | - |
246 | 208 | <a class="card" href="site/jdepend-report.html"> |
247 | | - <span class="card-icon">📐</span> |
248 | | - <span class="card-title">JDepend — Package Metrics</span> |
249 | | - <span class="card-desc">Coupling, cohesion, and instability metrics at the package level. Useful for spotting architectural drift.</span> |
| 209 | + <span class="card-icon">📐</span> |
| 210 | + <span class="card-title">JDepend</span> |
| 211 | + <span class="card-desc">Coupling, cohesion, and instability metrics at the package level.</span> |
250 | 212 | <span class="card-tag tag-quality">JDepend</span> |
251 | 213 | </a> |
252 | | - |
253 | 214 | </div> |
254 | 215 |
|
255 | | - <!-- ── Full Maven Site ── --> |
256 | | - <p class="section-title">🗂️ Full Maven Site</p> |
| 216 | + <p class="section-title">🗂️ Full Maven Site</p> |
257 | 217 | <div class="grid"> |
258 | | - |
259 | 218 | <a class="card" href="site/index.html"> |
260 | | - <span class="card-icon">📑</span> |
261 | | - <span class="card-title">Maven Site (complete)</span> |
262 | | - <span class="card-desc">Complete Maven-generated site with all plugins, project info, dependency reports, and more.</span> |
| 219 | + <span class="card-icon">📑</span> |
| 220 | + <span class="card-title">Maven Site</span> |
| 221 | + <span class="card-desc">Complete Maven-generated site with all plugins, project info, and dependency reports.</span> |
263 | 222 | <span class="card-tag tag-java">Maven</span> |
264 | 223 | </a> |
265 | | - |
266 | 224 | </div> |
267 | 225 |
|
268 | 226 | </main> |
269 | 227 |
|
270 | 228 | <footer> |
271 | | - SpringBootLibrary · SPQ subject · Generated by GitHub Actions · |
272 | | - <a href="https://github.com/dipina/SpringBootLibrary" style="color:var(--brand)">GitHub Repository</a> |
| 229 | + SpringBootLibrarySphinx · SPQ subject · Generated by GitHub Actions · |
| 230 | + <a href="https://github.com/dipina/SpringBootLibrarySphinx" style="color: var(--brand)">GitHub Repository</a> |
273 | 231 | </footer> |
274 | 232 |
|
275 | 233 | </body> |
|
0 commit comments