Skip to content

Commit ee3a8eb

Browse files
committed
Initial commit: Boost Library Usage Analysis with multi-version support
0 parents  commit ee3a8eb

179 files changed

Lines changed: 72785 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nojekyll

Whitespace-only changes.

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Boost Library Usage Analysis
2+
3+
This repository hosts comprehensive analysis and statistics of Boost C++ Library usage across GitHub repositories, organized by Boost version.
4+
5+
## Repository Structure
6+
7+
```
8+
.
9+
├── index.html # Version selector (root landing page)
10+
├── v1.90/ # Boost 1.90 analysis
11+
│ ├── index.html # Main dashboard
12+
│ ├── bsl_analysis.html # BSL-1.0 license analysis
13+
│ ├── data_to_release_note.html # Release notes data
14+
│ ├── dashboard_data.json # Dashboard data
15+
│ └── libraries/ # Individual library detail pages
16+
│ ├── algorithm.html
17+
│ ├── asio.html
18+
│ └── ...
19+
├── v1.91/ # Boost 1.91 analysis (when available)
20+
│ └── ...
21+
└── _config.yml # Jekyll configuration
22+
```
23+
24+
## Adding a New Version
25+
26+
When a new Boost version (e.g., 1.91) becomes available:
27+
28+
1. **Create the version directory:**
29+
```bash
30+
mkdir v1.91
31+
```
32+
33+
2. **Copy the structure from the previous version:**
34+
```bash
35+
cp -r v1.90/* v1.91/
36+
```
37+
38+
3. **Update the files in v1.91/** with new data:
39+
- Update `index.html` with new statistics
40+
- Update `bsl_analysis.html` with new BSL-1.0 data
41+
- Update `data_to_release_note.html` with new release notes
42+
- Update `dashboard_data.json` with new dashboard data
43+
- Update all library detail pages in `libraries/` with new data
44+
45+
4. **Update the root `index.html`:**
46+
- Add a new version card for v1.91
47+
- Mark it as "Latest" (remove "Latest" from previous version)
48+
- Update the JavaScript `latestVersion` variable if auto-redirect is enabled
49+
50+
5. **Update version references:**
51+
- Search and replace version numbers in the new version's files
52+
- Update any hardcoded version references (e.g., "Latest Version: 1.90.0" → "1.91.0")
53+
54+
## File Organization
55+
56+
- **Root `index.html`**: Landing page with version selector
57+
- **Version directories (`v1.90/`, `v1.91/`, etc.)**: Each contains a complete set of analysis pages for that version
58+
- **Library detail pages**: Located in `v{version}/libraries/` directory
59+
60+
## Navigation
61+
62+
- Users land on the root `index.html` and select a version
63+
- Within each version, navigation links are relative (no version prefix needed)
64+
- Library pages link back to their version's dashboard using `../index.html`
65+
- All version pages include a "Back to Version Selector" link
66+
67+
## Notes
68+
69+
- All internal links within a version directory use relative paths
70+
- The root index.html uses absolute paths with version prefixes (e.g., `v1.90/index.html`)
71+
- When adding new versions, ensure all links are updated correctly
72+

_config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Boost Library Usage Analysis
2+
description: |
3+
Comprehensive analysis and statistics of Boost C++ Library usage across GitHub repositories.<br />
4+
Explore usage trends, library popularity, repository statistics, and BSL-1.0 license analysis.
5+
6+
show_downloads: false

index.html

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Boost Library Usage Analysis</title>
7+
<style>
8+
* {
9+
margin: 0;
10+
padding: 0;
11+
box-sizing: border-box;
12+
}
13+
14+
body {
15+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
16+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
17+
min-height: 100vh;
18+
display: flex;
19+
align-items: center;
20+
justify-content: center;
21+
padding: 20px;
22+
}
23+
24+
.container {
25+
background: white;
26+
border-radius: 16px;
27+
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
28+
max-width: 800px;
29+
width: 100%;
30+
padding: 60px 40px;
31+
text-align: center;
32+
}
33+
34+
h1 {
35+
color: #2d3748;
36+
font-size: 2.5rem;
37+
margin-bottom: 10px;
38+
font-weight: 700;
39+
}
40+
41+
.subtitle {
42+
color: #718096;
43+
font-size: 1.1rem;
44+
margin-bottom: 40px;
45+
}
46+
47+
.version-list {
48+
display: grid;
49+
gap: 20px;
50+
margin-top: 40px;
51+
}
52+
53+
.version-card {
54+
background: #f7fafc;
55+
border: 2px solid #e2e8f0;
56+
border-radius: 12px;
57+
padding: 24px;
58+
text-decoration: none;
59+
color: #2d3748;
60+
transition: all 0.3s ease;
61+
display: block;
62+
position: relative;
63+
}
64+
65+
.version-card:hover {
66+
border-color: #667eea;
67+
background: #edf2f7;
68+
transform: translateY(-2px);
69+
box-shadow: 0 8px 20px rgba(102, 126, 234, 0.2);
70+
}
71+
72+
.version-card.latest {
73+
border-color: #48bb78;
74+
background: linear-gradient(135deg, #f0fff4 0%, #c6f6d5 100%);
75+
}
76+
77+
.version-card.latest:hover {
78+
border-color: #38a169;
79+
box-shadow: 0 8px 20px rgba(72, 187, 120, 0.3);
80+
}
81+
82+
.version-header {
83+
display: flex;
84+
align-items: center;
85+
justify-content: space-between;
86+
margin-bottom: 12px;
87+
}
88+
89+
.version-number {
90+
font-size: 1.5rem;
91+
font-weight: 700;
92+
color: #2d3748;
93+
}
94+
95+
.version-badge {
96+
background: #667eea;
97+
color: white;
98+
padding: 4px 12px;
99+
border-radius: 20px;
100+
font-size: 0.75rem;
101+
font-weight: 600;
102+
text-transform: uppercase;
103+
}
104+
105+
.version-badge.latest {
106+
background: #48bb78;
107+
}
108+
109+
.version-description {
110+
color: #718096;
111+
font-size: 0.95rem;
112+
text-align: left;
113+
margin-top: 8px;
114+
}
115+
116+
.footer {
117+
margin-top: 40px;
118+
padding-top: 30px;
119+
border-top: 1px solid #e2e8f0;
120+
color: #a0aec0;
121+
font-size: 0.9rem;
122+
}
123+
124+
@media (max-width: 600px) {
125+
.container {
126+
padding: 40px 20px;
127+
}
128+
129+
h1 {
130+
font-size: 2rem;
131+
}
132+
133+
.version-card {
134+
padding: 20px;
135+
}
136+
}
137+
</style>
138+
</head>
139+
<body>
140+
<div class="container">
141+
<h1>Boost Library Usage Analysis</h1>
142+
<p class="subtitle">Comprehensive analysis and statistics of Boost C++ Library usage across GitHub repositories</p>
143+
144+
<div class="version-list">
145+
<a href="v1.90/index.html" class="version-card latest">
146+
<div class="version-header">
147+
<span class="version-number">Boost 1.90</span>
148+
<span class="version-badge latest">Latest</span>
149+
</div>
150+
<div class="version-description">
151+
View usage statistics, library popularity, repository analysis, and BSL-1.0 license adoption for Boost 1.90.
152+
</div>
153+
</a>
154+
155+
<!-- Future versions will be added here -->
156+
<!-- Example for when 1.91 is available:
157+
<a href="v1.91/index.html" class="version-card latest">
158+
<div class="version-header">
159+
<span class="version-number">Boost 1.91</span>
160+
<span class="version-badge latest">Latest</span>
161+
</div>
162+
<div class="version-description">
163+
View usage statistics, library popularity, repository analysis, and BSL-1.0 license adoption for Boost 1.91.
164+
</div>
165+
</a>
166+
<a href="v1.90/index.html" class="version-card">
167+
<div class="version-header">
168+
<span class="version-number">Boost 1.90</span>
169+
</div>
170+
<div class="version-description">
171+
View usage statistics, library popularity, repository analysis, and BSL-1.0 license adoption for Boost 1.90.
172+
</div>
173+
</a>
174+
-->
175+
</div>
176+
177+
<div class="footer">
178+
<p>Select a Boost version to view its usage analysis dashboard</p>
179+
</div>
180+
</div>
181+
182+
<script>
183+
// Auto-redirect to latest version (optional - comment out if you want users to choose)
184+
// Uncomment the following lines to enable auto-redirect:
185+
/*
186+
const latestVersion = 'v1.90';
187+
const currentPath = window.location.pathname;
188+
if (currentPath === '/' || currentPath.endsWith('/index.html')) {
189+
// Only redirect if we're at the root index
190+
const pathParts = currentPath.split('/').filter(p => p);
191+
if (pathParts.length === 0 || (pathParts.length === 1 && pathParts[0] === 'index.html')) {
192+
window.location.href = latestVersion + '/index.html';
193+
}
194+
}
195+
*/
196+
</script>
197+
</body>
198+
</html>

0 commit comments

Comments
 (0)