jekyll-theme-zer0 0.10.6 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +400 -0
- data/README.md +24 -8
- data/_data/navigation/about.yml +39 -11
- data/_data/navigation/docs.yml +53 -23
- data/_data/navigation/home.yml +27 -9
- data/_data/navigation/main.yml +27 -8
- data/_data/navigation/posts.yml +22 -6
- data/_data/navigation/quickstart.yml +8 -3
- data/_includes/README.md +2 -0
- data/_includes/components/js-cdn.html +4 -1
- data/_includes/components/post-card.html +2 -11
- data/_includes/components/preview-image.html +32 -0
- data/_includes/content/intro.html +5 -6
- data/_includes/core/header.html +14 -0
- data/_includes/navigation/sidebar-categories.html +20 -9
- data/_includes/navigation/sidebar-folders.html +8 -7
- data/_includes/navigation/sidebar-right.html +16 -10
- data/_layouts/blog.html +15 -45
- data/_layouts/category.html +4 -24
- data/_layouts/collection.html +2 -12
- data/_layouts/default.html +1 -1
- data/_layouts/journals.html +2 -12
- data/_layouts/notebook.html +296 -0
- data/_sass/core/_docs.scss +1 -1
- data/_sass/custom.scss +54 -17
- data/_sass/notebooks.scss +458 -0
- data/assets/images/notebooks/test-notebook_files/test-notebook_4_0.png +0 -0
- data/assets/js/sidebar.js +511 -0
- data/scripts/README.md +128 -105
- data/scripts/analyze-commits.sh +9 -311
- data/scripts/bin/build +22 -22
- data/scripts/build +7 -111
- data/scripts/convert-notebooks.sh +415 -0
- data/scripts/features/validate_preview_urls.py +500 -0
- data/scripts/fix-markdown-format.sh +8 -262
- data/scripts/generate-preview-images.sh +7 -787
- data/scripts/install-preview-generator.sh +8 -528
- data/scripts/lib/README.md +5 -5
- data/scripts/lib/gem.sh +19 -7
- data/scripts/release +7 -236
- data/scripts/setup.sh +9 -153
- data/scripts/test-auto-version.sh +7 -256
- data/scripts/test-mermaid.sh +7 -287
- data/scripts/test.sh +9 -154
- metadata +9 -10
- data/scripts/features/preview_generator.py +0 -646
- data/scripts/lib/test/run_tests.sh +0 -140
- data/scripts/lib/test/test_changelog.sh +0 -87
- data/scripts/lib/test/test_gem.sh +0 -68
- data/scripts/lib/test/test_git.sh +0 -82
- data/scripts/lib/test/test_validation.sh +0 -72
- data/scripts/lib/test/test_version.sh +0 -96
- data/scripts/version.sh +0 -178
data/scripts/test-mermaid.sh
CHANGED
|
@@ -1,291 +1,11 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
#
|
|
3
|
+
# ============================================================================
|
|
4
|
+
# WRAPPER: This script forwards to scripts/test/integration/mermaid
|
|
5
5
|
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# --verbose Show detailed output
|
|
10
|
-
# --headless Run in headless mode (for CI/CD)
|
|
11
|
-
# --quick Run quick validation only
|
|
12
|
-
# --local Test local Jekyll server
|
|
13
|
-
# --docker Test Docker container
|
|
14
|
-
###############################################################################
|
|
6
|
+
# The canonical location is scripts/test/integration/mermaid. This wrapper
|
|
7
|
+
# exists for backward compatibility with existing workflows.
|
|
8
|
+
# ============================================================================
|
|
15
9
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
# Colors for output
|
|
20
|
-
RED='\033[0;31m'
|
|
21
|
-
GREEN='\033[0;32m'
|
|
22
|
-
YELLOW='\033[1;33m'
|
|
23
|
-
BLUE='\033[0;34m'
|
|
24
|
-
NC='\033[0m' # No Color
|
|
25
|
-
|
|
26
|
-
# Test counters
|
|
27
|
-
TESTS_PASSED=0
|
|
28
|
-
TESTS_FAILED=0
|
|
29
|
-
TOTAL_TESTS=0
|
|
30
|
-
|
|
31
|
-
# Configuration
|
|
32
|
-
VERBOSE=false
|
|
33
|
-
HEADLESS=false
|
|
34
|
-
QUICK=false
|
|
35
|
-
TEST_MODE="both" # local, docker, both
|
|
36
|
-
|
|
37
|
-
# Parse arguments
|
|
38
|
-
for arg in "$@"; do
|
|
39
|
-
case $arg in
|
|
40
|
-
--verbose)
|
|
41
|
-
VERBOSE=true
|
|
42
|
-
shift
|
|
43
|
-
;;
|
|
44
|
-
--headless)
|
|
45
|
-
HEADLESS=true
|
|
46
|
-
shift
|
|
47
|
-
;;
|
|
48
|
-
--quick)
|
|
49
|
-
QUICK=true
|
|
50
|
-
shift
|
|
51
|
-
;;
|
|
52
|
-
--local)
|
|
53
|
-
TEST_MODE="local"
|
|
54
|
-
shift
|
|
55
|
-
;;
|
|
56
|
-
--docker)
|
|
57
|
-
TEST_MODE="docker"
|
|
58
|
-
shift
|
|
59
|
-
;;
|
|
60
|
-
--help)
|
|
61
|
-
echo "Usage: $0 [options]"
|
|
62
|
-
echo "Options:"
|
|
63
|
-
echo " --verbose Show detailed output"
|
|
64
|
-
echo " --headless Run in headless mode (for CI/CD)"
|
|
65
|
-
echo " --quick Run quick validation only"
|
|
66
|
-
echo " --local Test local Jekyll server only"
|
|
67
|
-
echo " --docker Test Docker container only"
|
|
68
|
-
echo " --help Show this help message"
|
|
69
|
-
exit 0
|
|
70
|
-
;;
|
|
71
|
-
*)
|
|
72
|
-
echo "Unknown option: $arg"
|
|
73
|
-
echo "Use --help for usage information"
|
|
74
|
-
exit 1
|
|
75
|
-
;;
|
|
76
|
-
esac
|
|
77
|
-
done
|
|
78
|
-
|
|
79
|
-
# Logging functions
|
|
80
|
-
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
|
|
81
|
-
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
82
|
-
log_warning() { echo -e "${YELLOW}[!]${NC} $1"; }
|
|
83
|
-
log_error() { echo -e "${RED}[✗]${NC} $1"; }
|
|
84
|
-
|
|
85
|
-
# Test function
|
|
86
|
-
run_test() {
|
|
87
|
-
local test_name="$1"
|
|
88
|
-
local test_command="$2"
|
|
89
|
-
|
|
90
|
-
TOTAL_TESTS=$((TOTAL_TESTS + 1))
|
|
91
|
-
|
|
92
|
-
if [ "$VERBOSE" = true ]; then
|
|
93
|
-
log_info "Running: $test_name"
|
|
94
|
-
fi
|
|
95
|
-
|
|
96
|
-
if eval "$test_command" >/dev/null 2>&1; then
|
|
97
|
-
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
98
|
-
log_success "$test_name"
|
|
99
|
-
return 0
|
|
100
|
-
else
|
|
101
|
-
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
102
|
-
log_error "$test_name"
|
|
103
|
-
return 1
|
|
104
|
-
fi
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
# Test file existence
|
|
108
|
-
test_file_exists() {
|
|
109
|
-
local file_path="$1"
|
|
110
|
-
local description="$2"
|
|
111
|
-
|
|
112
|
-
run_test "$description" "[ -f '$file_path' ]"
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
# Test file content
|
|
116
|
-
test_file_content() {
|
|
117
|
-
local file_path="$1"
|
|
118
|
-
local pattern="$2"
|
|
119
|
-
local description="$3"
|
|
120
|
-
|
|
121
|
-
run_test "$description" "grep -q '$pattern' '$file_path'"
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
# Test URL accessibility
|
|
125
|
-
test_url() {
|
|
126
|
-
local url="$1"
|
|
127
|
-
local description="$2"
|
|
128
|
-
|
|
129
|
-
run_test "$description" "curl -s -f '$url' >/dev/null"
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
# Test Mermaid script loading
|
|
133
|
-
test_mermaid_script() {
|
|
134
|
-
local url="$1"
|
|
135
|
-
local description="$2"
|
|
136
|
-
local response
|
|
137
|
-
local count
|
|
138
|
-
|
|
139
|
-
TOTAL_TESTS=$((TOTAL_TESTS + 1))
|
|
140
|
-
response=$(curl -s "$url" 2>/dev/null) || true
|
|
141
|
-
count=$(echo "$response" | grep -c 'mermaid.min.js' || true)
|
|
142
|
-
if [ "$count" -gt 0 ]; then
|
|
143
|
-
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
144
|
-
log_success "$description"
|
|
145
|
-
return 0
|
|
146
|
-
else
|
|
147
|
-
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
148
|
-
log_error "$description"
|
|
149
|
-
return 1
|
|
150
|
-
fi
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
# Test Mermaid initialization
|
|
154
|
-
test_mermaid_init() {
|
|
155
|
-
local url="$1"
|
|
156
|
-
local description="$2"
|
|
157
|
-
local response
|
|
158
|
-
local count
|
|
159
|
-
|
|
160
|
-
TOTAL_TESTS=$((TOTAL_TESTS + 1))
|
|
161
|
-
response=$(curl -s "$url" 2>/dev/null) || true
|
|
162
|
-
count=$(echo "$response" | grep -c 'mermaid.initialize' || true)
|
|
163
|
-
if [ "$count" -gt 0 ]; then
|
|
164
|
-
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
165
|
-
log_success "$description"
|
|
166
|
-
return 0
|
|
167
|
-
else
|
|
168
|
-
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
169
|
-
log_error "$description"
|
|
170
|
-
return 1
|
|
171
|
-
fi
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
# Test diagram rendering
|
|
175
|
-
test_diagram_rendering() {
|
|
176
|
-
local url="$1"
|
|
177
|
-
local description="$2"
|
|
178
|
-
local response
|
|
179
|
-
local count
|
|
180
|
-
|
|
181
|
-
TOTAL_TESTS=$((TOTAL_TESTS + 1))
|
|
182
|
-
response=$(curl -s "$url" 2>/dev/null) || true
|
|
183
|
-
count=$(echo "$response" | grep -c 'class="mermaid"' || true)
|
|
184
|
-
if [ "$count" -gt 0 ]; then
|
|
185
|
-
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
186
|
-
log_success "$description"
|
|
187
|
-
return 0
|
|
188
|
-
else
|
|
189
|
-
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
190
|
-
log_error "$description"
|
|
191
|
-
return 1
|
|
192
|
-
fi
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
# Main test execution
|
|
196
|
-
main() {
|
|
197
|
-
echo "🧪 Mermaid Integration Test Suite"
|
|
198
|
-
echo "=================================="
|
|
199
|
-
echo "Mode: $TEST_MODE"
|
|
200
|
-
echo "Verbose: $VERBOSE"
|
|
201
|
-
echo "Quick: $QUICK"
|
|
202
|
-
echo ""
|
|
203
|
-
|
|
204
|
-
# Core file tests
|
|
205
|
-
log_info "Testing core files..."
|
|
206
|
-
|
|
207
|
-
test_file_exists "_includes/components/mermaid.html" "Mermaid include file exists"
|
|
208
|
-
test_file_exists "docs/jekyll/mermaid.md" "Main documentation exists"
|
|
209
|
-
test_file_exists "docs/jekyll/mermaid-test-suite.md" "Test suite exists"
|
|
210
|
-
test_file_exists "docs/jekyll/jekyll-diagram-with-mermaid.md" "Tutorial exists"
|
|
211
|
-
|
|
212
|
-
# Configuration tests
|
|
213
|
-
log_info "Testing configuration..."
|
|
214
|
-
|
|
215
|
-
test_file_content "_config.yml" "jekyll-mermaid" "Jekyll-mermaid plugin configured"
|
|
216
|
-
test_file_content "_config.yml" "mermaid:" "Mermaid configuration present"
|
|
217
|
-
test_file_content "_includes/core/head.html" "page.mermaid" "Conditional loading configured"
|
|
218
|
-
test_file_content "_includes/core/head.html" "mermaid.html" "Mermaid include referenced"
|
|
219
|
-
|
|
220
|
-
# Mermaid include file tests
|
|
221
|
-
log_info "Testing Mermaid include file..."
|
|
222
|
-
|
|
223
|
-
test_file_content "_includes/components/mermaid.html" "mermaid@10" "Mermaid v10 CDN link"
|
|
224
|
-
test_file_content "_includes/components/mermaid.html" "mermaid.initialize" "Mermaid initialization script"
|
|
225
|
-
test_file_content "_includes/components/mermaid.html" "forest" "Forest theme configured"
|
|
226
|
-
test_file_content "_includes/components/mermaid.html" "FontAwesome" "FontAwesome support included"
|
|
227
|
-
|
|
228
|
-
# Documentation tests
|
|
229
|
-
log_info "Testing documentation..."
|
|
230
|
-
|
|
231
|
-
test_file_content "docs/jekyll/mermaid.md" "mermaid: true" "Main docs have front matter"
|
|
232
|
-
test_file_content "docs/jekyll/mermaid-test-suite.md" "mermaid: true" "Test suite has front matter"
|
|
233
|
-
test_file_content "docs/jekyll/mermaid.md" "graph TD" "Main docs have examples"
|
|
234
|
-
test_file_content "docs/jekyll/mermaid-test-suite.md" "graph TD" "Test suite has examples"
|
|
235
|
-
|
|
236
|
-
# Server tests (if not quick mode)
|
|
237
|
-
if [ "$QUICK" = false ]; then
|
|
238
|
-
log_info "Testing server functionality..."
|
|
239
|
-
|
|
240
|
-
# Test local server if enabled
|
|
241
|
-
if [ "$TEST_MODE" = "local" ] || [ "$TEST_MODE" = "both" ]; then
|
|
242
|
-
log_info "Testing local Jekyll server..."
|
|
243
|
-
|
|
244
|
-
# Check if local server is running
|
|
245
|
-
if curl -s -f "http://localhost:4000" >/dev/null 2>&1; then
|
|
246
|
-
test_url "http://localhost:4000/docs/jekyll/mermaid/" "Main documentation accessible"
|
|
247
|
-
test_url "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Test suite accessible"
|
|
248
|
-
test_mermaid_script "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Mermaid script loads on test page"
|
|
249
|
-
test_mermaid_init "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Mermaid initializes on test page"
|
|
250
|
-
test_diagram_rendering "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Diagrams render on test page"
|
|
251
|
-
else
|
|
252
|
-
log_warning "Local Jekyll server not running. Start with: bundle exec jekyll serve"
|
|
253
|
-
fi
|
|
254
|
-
fi
|
|
255
|
-
|
|
256
|
-
# Test Docker server if enabled
|
|
257
|
-
if [ "$TEST_MODE" = "docker" ] || [ "$TEST_MODE" = "both" ]; then
|
|
258
|
-
log_info "Testing Docker container..."
|
|
259
|
-
|
|
260
|
-
# Check if Docker container is running
|
|
261
|
-
if docker ps | grep -q "zer0-mistakes-jekyll"; then
|
|
262
|
-
test_url "http://localhost:4000/docs/jekyll/mermaid/" "Docker: Main documentation accessible"
|
|
263
|
-
test_url "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Docker: Test suite accessible"
|
|
264
|
-
test_mermaid_script "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Docker: Mermaid script loads"
|
|
265
|
-
test_mermaid_init "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Docker: Mermaid initializes"
|
|
266
|
-
test_diagram_rendering "http://localhost:4000/docs/jekyll/mermaid-test-suite/" "Docker: Diagrams render"
|
|
267
|
-
else
|
|
268
|
-
log_warning "Docker container not running. Start with: docker-compose up -d"
|
|
269
|
-
fi
|
|
270
|
-
fi
|
|
271
|
-
fi
|
|
272
|
-
|
|
273
|
-
# Summary
|
|
274
|
-
echo ""
|
|
275
|
-
echo "📊 Test Results Summary"
|
|
276
|
-
echo "======================"
|
|
277
|
-
echo "Total Tests: $TOTAL_TESTS"
|
|
278
|
-
echo "Passed: $TESTS_PASSED"
|
|
279
|
-
echo "Failed: $TESTS_FAILED"
|
|
280
|
-
|
|
281
|
-
if [ $TESTS_FAILED -eq 0 ]; then
|
|
282
|
-
log_success "All tests passed! ✅"
|
|
283
|
-
exit 0
|
|
284
|
-
else
|
|
285
|
-
log_error "Some tests failed! ❌"
|
|
286
|
-
exit 1
|
|
287
|
-
fi
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
# Run main function
|
|
291
|
-
main "$@"
|
|
10
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
11
|
+
exec "$SCRIPT_DIR/test/integration/mermaid" "$@"
|
data/scripts/test.sh
CHANGED
|
@@ -1,156 +1,11 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
BLUE='\033[0;34m'
|
|
13
|
-
NC='\033[0m' # No Color
|
|
14
|
-
|
|
15
|
-
# Default values
|
|
16
|
-
VERBOSE=false
|
|
17
|
-
|
|
18
|
-
# Parse arguments
|
|
19
|
-
while [[ $# -gt 0 ]]; do
|
|
20
|
-
case $1 in
|
|
21
|
-
--verbose|-v)
|
|
22
|
-
VERBOSE=true
|
|
23
|
-
shift
|
|
24
|
-
;;
|
|
25
|
-
*)
|
|
26
|
-
echo -e "${RED}Unknown option: $1${NC}"
|
|
27
|
-
exit 1
|
|
28
|
-
;;
|
|
29
|
-
esac
|
|
30
|
-
done
|
|
31
|
-
|
|
32
|
-
# Function to log messages
|
|
33
|
-
log() {
|
|
34
|
-
echo -e "${GREEN}[TEST]${NC} $1"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
warn() {
|
|
38
|
-
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
error() {
|
|
42
|
-
echo -e "${RED}[ERROR]${NC} $1"
|
|
43
|
-
exit 1
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
info() {
|
|
47
|
-
echo -e "${BLUE}[INFO]${NC} $1"
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
success() {
|
|
51
|
-
echo -e "${GREEN}✓${NC} $1"
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
fail() {
|
|
55
|
-
echo -e "${RED}✗${NC} $1"
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
# Test counter
|
|
59
|
-
TESTS_RUN=0
|
|
60
|
-
TESTS_PASSED=0
|
|
61
|
-
|
|
62
|
-
run_test() {
|
|
63
|
-
local test_name="$1"
|
|
64
|
-
local test_command="$2"
|
|
65
|
-
|
|
66
|
-
TESTS_RUN=$((TESTS_RUN + 1))
|
|
67
|
-
|
|
68
|
-
log "Running: $test_name"
|
|
69
|
-
|
|
70
|
-
if [[ "$VERBOSE" == true ]]; then
|
|
71
|
-
echo "Command: $test_command"
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
if eval "$test_command" > /dev/null 2>&1; then
|
|
75
|
-
success "$test_name"
|
|
76
|
-
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
77
|
-
else
|
|
78
|
-
fail "$test_name"
|
|
79
|
-
if [[ "$VERBOSE" == true ]]; then
|
|
80
|
-
echo "Command output:"
|
|
81
|
-
eval "$test_command" 2>&1 || true
|
|
82
|
-
fi
|
|
83
|
-
fi
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
log "Running tests for zer0-mistakes Jekyll theme..."
|
|
87
|
-
|
|
88
|
-
# Test 1: Validate package.json
|
|
89
|
-
run_test "Validate package.json syntax" "jq empty package.json"
|
|
90
|
-
|
|
91
|
-
# Test 2: Validate package.json version
|
|
92
|
-
run_test "Validate package.json version format" "jq -r '.version' package.json | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$'"
|
|
93
|
-
|
|
94
|
-
# Test 3: Validate gemspec syntax
|
|
95
|
-
run_test "Validate gemspec syntax" "ruby -c jekyll-theme-zer0.gemspec"
|
|
96
|
-
|
|
97
|
-
# Test 4: Build gem (test build)
|
|
98
|
-
run_test "Test gem build" "gem build jekyll-theme-zer0.gemspec"
|
|
99
|
-
|
|
100
|
-
# Test 5: Check for required files
|
|
101
|
-
run_test "Check README.md exists" "test -f README.md"
|
|
102
|
-
run_test "Check LICENSE exists" "test -f LICENSE"
|
|
103
|
-
run_test "Check _layouts directory exists" "test -d _layouts"
|
|
104
|
-
run_test "Check _includes directory exists" "test -d _includes"
|
|
105
|
-
run_test "Check _sass directory exists" "test -d _sass"
|
|
106
|
-
run_test "Check assets directory exists" "test -d assets"
|
|
107
|
-
|
|
108
|
-
# Test 6: Validate YAML front matter in layouts
|
|
109
|
-
if [[ -d "_layouts" ]]; then
|
|
110
|
-
for layout in _layouts/*.html; do
|
|
111
|
-
if [[ -f "$layout" ]]; then
|
|
112
|
-
layout_name=$(basename "$layout")
|
|
113
|
-
run_test "Validate YAML front matter in $layout_name" "head -10 '$layout' | grep -q -- '---' && head -10 '$layout' | tail -n +2 | head -n -1 | ruby -ryaml -e 'YAML.load(STDIN.read)'"
|
|
114
|
-
fi
|
|
115
|
-
done
|
|
116
|
-
fi
|
|
117
|
-
|
|
118
|
-
# Test 7: Check for common Jekyll requirements
|
|
119
|
-
run_test "Check Jekyll dependency in gemspec" "grep -q 'jekyll' jekyll-theme-zer0.gemspec"
|
|
120
|
-
|
|
121
|
-
# Test 8: Validate version consistency
|
|
122
|
-
PACKAGE_VERSION=$(jq -r '.version' package.json)
|
|
123
|
-
if [[ -f "jekyll-theme-zer0-${PACKAGE_VERSION}.gem" ]]; then
|
|
124
|
-
run_test "Version consistency check" "test -f jekyll-theme-zer0-${PACKAGE_VERSION}.gem"
|
|
125
|
-
fi
|
|
126
|
-
|
|
127
|
-
# Test 9: Check scripts are executable
|
|
128
|
-
if [[ -d "scripts" ]]; then
|
|
129
|
-
for script in scripts/*.sh; do
|
|
130
|
-
if [[ -f "$script" ]]; then
|
|
131
|
-
script_name=$(basename "$script")
|
|
132
|
-
run_test "Check $script_name is executable" "test -x '$script'"
|
|
133
|
-
fi
|
|
134
|
-
done
|
|
135
|
-
fi
|
|
136
|
-
|
|
137
|
-
# Test 10: Validate bundle install
|
|
138
|
-
run_test "Test bundle install" "bundle install --quiet"
|
|
139
|
-
|
|
140
|
-
# Clean up test gem file
|
|
141
|
-
rm -f jekyll-theme-zer0-*.gem 2>/dev/null || true
|
|
142
|
-
|
|
143
|
-
# Test results
|
|
144
|
-
log ""
|
|
145
|
-
log "Test Results:"
|
|
146
|
-
log "Tests run: $TESTS_RUN"
|
|
147
|
-
log "Tests passed: $TESTS_PASSED"
|
|
148
|
-
log "Tests failed: $((TESTS_RUN - TESTS_PASSED))"
|
|
149
|
-
|
|
150
|
-
if [[ $TESTS_PASSED -eq $TESTS_RUN ]]; then
|
|
151
|
-
success "All tests passed!"
|
|
152
|
-
exit 0
|
|
153
|
-
else
|
|
154
|
-
fail "Some tests failed!"
|
|
155
|
-
exit 1
|
|
156
|
-
fi
|
|
3
|
+
# ============================================================================
|
|
4
|
+
# WRAPPER: This script forwards to scripts/test/theme/validate
|
|
5
|
+
#
|
|
6
|
+
# The canonical location is scripts/test/theme/validate. This wrapper exists
|
|
7
|
+
# for backward compatibility with existing workflows.
|
|
8
|
+
# ============================================================================
|
|
9
|
+
|
|
10
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
11
|
+
exec "$SCRIPT_DIR/test/theme/validate" "$@"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-theme-zer0
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Amr Abdel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -101,6 +101,7 @@ files:
|
|
|
101
101
|
- _includes/components/mermaid.html
|
|
102
102
|
- _includes/components/post-card.html
|
|
103
103
|
- _includes/components/powered-by.html
|
|
104
|
+
- _includes/components/preview-image.html
|
|
104
105
|
- _includes/components/quick-index.html
|
|
105
106
|
- _includes/components/searchbar.html
|
|
106
107
|
- _includes/components/svg.html
|
|
@@ -141,6 +142,7 @@ files:
|
|
|
141
142
|
- _layouts/index.html
|
|
142
143
|
- _layouts/journals.html
|
|
143
144
|
- _layouts/landing.html
|
|
145
|
+
- _layouts/notebook.html
|
|
144
146
|
- _layouts/root.html
|
|
145
147
|
- _layouts/sitemap-collection.html
|
|
146
148
|
- _layouts/stats.html
|
|
@@ -153,6 +155,7 @@ files:
|
|
|
153
155
|
- _sass/core/_variables.scss
|
|
154
156
|
- _sass/core/code-copy.scss
|
|
155
157
|
- _sass/custom.scss
|
|
158
|
+
- _sass/notebooks.scss
|
|
156
159
|
- assets/.DS_Store
|
|
157
160
|
- assets/css/custom.css
|
|
158
161
|
- assets/css/main.scss
|
|
@@ -161,6 +164,7 @@ files:
|
|
|
161
164
|
- assets/images/gravatar-small.png
|
|
162
165
|
- assets/images/gravatar.png
|
|
163
166
|
- assets/images/info-banner-mountain-wizard.png
|
|
167
|
+
- assets/images/notebooks/test-notebook_files/test-notebook_4_0.png
|
|
164
168
|
- assets/images/previews/10-ai-tools-that-will-transform-your-productivity-.png
|
|
165
169
|
- assets/images/previews/business.png
|
|
166
170
|
- assets/images/previews/css-grid-mastery-build-any-layout-you-can-imagine.png
|
|
@@ -195,6 +199,7 @@ files:
|
|
|
195
199
|
- assets/js/particles-source.js
|
|
196
200
|
- assets/js/particles.js
|
|
197
201
|
- assets/js/side-bar-folders.js
|
|
202
|
+
- assets/js/sidebar.js
|
|
198
203
|
- assets/particles.json
|
|
199
204
|
- scripts/README.md
|
|
200
205
|
- scripts/analyze-commits.sh
|
|
@@ -202,10 +207,11 @@ files:
|
|
|
202
207
|
- scripts/bin/release
|
|
203
208
|
- scripts/bin/test
|
|
204
209
|
- scripts/build
|
|
210
|
+
- scripts/convert-notebooks.sh
|
|
205
211
|
- scripts/example-usage.sh
|
|
206
212
|
- scripts/features/generate-preview-images
|
|
207
213
|
- scripts/features/install-preview-generator
|
|
208
|
-
- scripts/features/
|
|
214
|
+
- scripts/features/validate_preview_urls.py
|
|
209
215
|
- scripts/fix-markdown-format.sh
|
|
210
216
|
- scripts/generate-preview-images.sh
|
|
211
217
|
- scripts/install-preview-generator.sh
|
|
@@ -215,12 +221,6 @@ files:
|
|
|
215
221
|
- scripts/lib/gem.sh
|
|
216
222
|
- scripts/lib/git.sh
|
|
217
223
|
- scripts/lib/preview_generator.py
|
|
218
|
-
- scripts/lib/test/run_tests.sh
|
|
219
|
-
- scripts/lib/test/test_changelog.sh
|
|
220
|
-
- scripts/lib/test/test_gem.sh
|
|
221
|
-
- scripts/lib/test/test_git.sh
|
|
222
|
-
- scripts/lib/test/test_validation.sh
|
|
223
|
-
- scripts/lib/test/test_version.sh
|
|
224
224
|
- scripts/lib/validation.sh
|
|
225
225
|
- scripts/lib/version.sh
|
|
226
226
|
- scripts/release
|
|
@@ -240,7 +240,6 @@ files:
|
|
|
240
240
|
- scripts/utils/analyze-commits
|
|
241
241
|
- scripts/utils/fix-markdown
|
|
242
242
|
- scripts/utils/setup
|
|
243
|
-
- scripts/version.sh
|
|
244
243
|
homepage: https://github.com/bamr87/zer0-mistakes
|
|
245
244
|
licenses:
|
|
246
245
|
- MIT
|