Skip to content

Commit 9e95c9c

Browse files
committed
modified: armbian-media_kit.sh
deleted: brand_src/armbian-logo_dark_v2.1.svg deleted: brand_src/armbian-logo_light_v2.1.svg deleted: brand_src/armbian_cpu_v2.0.svg modified: favicon.ico deleted: images/128x128/armbian-logo_dark_v2.1.png deleted: images/128x128/armbian-logo_light_v2.1.png deleted: images/128x128/armbian_cpu_v2.0.png deleted: images/128x128/armbian_discord_v2.1.png deleted: images/128x128/armbian_font.v2.1.png deleted: images/128x128/configng-mascot_v2.0.png deleted: images/128x128/configng_cog_v2.0.png deleted: images/16x16/armbian-logo_dark_v2.1.png deleted: images/16x16/armbian-logo_light_v2.1.png deleted: images/16x16/armbian_cpu_v2.0.png modified: images/16x16/armbian_discord_v2.1.png modified: images/16x16/armbian_font.v2.1.png modified: images/16x16/configng-mascot_v2.0.png modified: images/16x16/configng_cog_v2.0.png deleted: images/256x256/armbian-logo_dark_v2.1.png deleted: images/256x256/armbian-logo_light_v2.1.png deleted: images/256x256/armbian_cpu_v2.0.png deleted: images/256x256/armbian_discord_v2.1.png deleted: images/256x256/armbian_font.v2.1.png deleted: images/256x256/configng-mascot_v2.0.png deleted: images/256x256/configng_cog_v2.0.png deleted: images/32x32/armbian-logo_dark_v2.1.png deleted: images/32x32/armbian-logo_light_v2.1.png deleted: images/32x32/armbian_cpu_v2.0.png deleted: images/32x32/armbian_discord_v2.1.png deleted: images/32x32/armbian_font.v2.1.png deleted: images/32x32/configng-mascot_v2.0.png deleted: images/32x32/configng_cog_v2.0.png new file: images/48x48/armbian_discord_v2.1.png new file: images/48x48/armbian_font.v2.1.png new file: images/48x48/configng-mascot_v2.0.png new file: images/48x48/configng_cog_v2.0.png deleted: images/512x512/armbian-logo_dark_v2.1.png deleted: images/512x512/armbian-logo_light_v2.1.png deleted: images/512x512/armbian_cpu_v2.0.png modified: images/512x512/armbian_discord_v2.1.png modified: images/512x512/armbian_font.v2.1.png modified: images/512x512/configng-mascot_v2.0.png modified: images/512x512/configng_cog_v2.0.png deleted: images/64x64/armbian-logo_dark_v2.1.png deleted: images/64x64/armbian-logo_light_v2.1.png deleted: images/64x64/armbian_cpu_v2.0.png deleted: images/64x64/armbian_discord_v2.1.png deleted: images/64x64/armbian_font.v2.1.png deleted: images/64x64/configng-mascot_v2.0.png deleted: images/64x64/configng_cog_v2.0.png deleted: images/scalable/armbian-logo_dark_v2.1.svg deleted: images/scalable/armbian-logo_light_v2.1.svg deleted: images/scalable/armbian_cpu_v2.0.svg modified: index.html deleted: logo/High-Resolution-A.jpg deleted: logo/High-Resolution.jpg deleted: logo/Logo-Transparency-A.PNG deleted: logo/Logo-Transparency-black.png deleted: logo/Logo-Transparency-white.png deleted: logo/Logo-Transparency.png deleted: logo/PDF-A.PDF deleted: logo/PDF.PDF deleted: logo/Source-A.PS deleted: logo/Source.ps deleted: logo/Vector-A.PS deleted: logo/Vector.ps deleted: logo/old-logo/6020637.png deleted: logo/old-logo/app-icon-facebook.png deleted: logo/old-logo/desktop/budgie-1.png deleted: logo/old-logo/desktop/budgie-2.png deleted: logo/old-logo/desktop/budgie-3.png deleted: logo/old-logo/desktop/test deleted: logo/old-logo/fonts/PopplLaudatioCondensedLight.ttf deleted: logo/old-logo/fonts/laudcn_2.ttf deleted: logo/old-logo/head1.jpg deleted: logo/old-logo/ikone/80-512.png deleted: logo/old-logo/ikone/armbian-os.svg deleted: logo/old-logo/ikone/armbian-sdk.svg deleted: logo/old-logo/ikone/cloud-download-1.png deleted: logo/old-logo/ikone/download-sm.png deleted: logo/old-logo/ikone/icon-armbian-os.png deleted: logo/old-logo/ikone/icon-armbian-sdk.png deleted: logo/old-logo/ikone/love-sm.png deleted: logo/old-logo/ikone/micro-sd-sm.png deleted: logo/old-logo/ikone/pngwing.com.png deleted: logo/old-logo/ikone/tools-sm.png deleted: logo/old-logo/ikone/tools.png deleted: logo/old-logo/logo za forum.psd deleted: logo/old-logo/logo.svg deleted: logo/old-logo/logo_armbian_big.png deleted: logo/old-logo/logo_facebook.png deleted: logo/old-logo/logo_v1.0 deleted: logo/old-logo/logo_v2.psd deleted: logo/old-logo/logo_v3.png deleted: logo/old-logo/logo_v4.png deleted: logo/old-logo/logo_v4.psd deleted: logo/old-logo/logoforum3.png deleted: logo/old-logo/logoforum4.png modified: logos.json
1 parent d98b120 commit 9e95c9c

File tree

100 files changed

+385
-1130
lines changed

Some content is hidden

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

100 files changed

+385
-1130
lines changed

armbian-media_kit.sh

Lines changed: 180 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ media_kit() {
3030
;;
3131
esac
3232
}
33-
3433
_html_page() {
35-
cat <<EOF
34+
cat <<'EOF'
3635
<!DOCTYPE html>
3736
<html>
3837
<head>
@@ -58,6 +57,12 @@ _html_page() {
5857
grid-template-rows: auto auto;
5958
gap: 1em;
6059
}
60+
@media (max-width: 768px) {
61+
main {
62+
grid-template-columns: 1fr;
63+
grid-template-rows: auto;
64+
}
65+
}
6166
.section {
6267
padding: 1em;
6368
background: #f0f0f0;
@@ -66,12 +71,20 @@ _html_page() {
6671
.section h2 {
6772
margin-top: 0;
6873
}
69-
img {
70-
margin: 0.5em;
74+
img {
75+
margin: 0.5em;
76+
vertical-align: middle;
7177
}
7278
.legacy {
7379
opacity: 0.85; /* Slightly dim legacy sections */
7480
}
81+
ul {
82+
list-style-type: none;
83+
padding-left: 0;
84+
}
85+
ul li {
86+
margin: 0.2em 0;
87+
}
7588
</style>
7689
</head>
7790
<body>
@@ -99,7 +112,9 @@ _html_page() {
99112
</main>
100113
101114
<footer>
102-
<p>For more information, see <a href="https://www.armbian.com/brand/" style="color: #fff;">Armbian Brand Guidelines</a>.</p>
115+
<p>For more information, see
116+
<a href="https://www.armbian.com/brand/" style="color: #fff;">Armbian Brand Guidelines</a>.
117+
</p>
103118
</footer>
104119
105120
<script>
@@ -117,15 +132,23 @@ _html_page() {
117132
}
118133
const container = document.getElementById(sectionId);
119134
if (!container) return;
135+
136+
// Adapt for PNG object format
137+
const pngList = logo.pngs.map(p => {
138+
if (typeof p === 'string') {
139+
return `<li><a href="${p}">${p.split('/').pop()}</a></li>`;
140+
} else {
141+
return `<li><a href="${p.path}">${p.size}</a> – ${p.kb} KB</li>`;
142+
}
143+
}).join('');
144+
120145
const div = document.createElement('div');
121-
div.innerHTML = \`
146+
div.innerHTML = `
122147
<hr>
123-
<img src="\${logo.svg}" alt="\${logo.name}" width="64" height="64">
148+
<img src="${logo.svg}" alt="${logo.name}" width="64" height="64">
124149
<p>Download PNG:</p>
125-
<ul>
126-
\${logo.pngs.map(p => \`<li><a href="\${p}">\${p.split('/').pop()}</a></li>\`).join('')}
127-
</ul>
128-
\`;
150+
<ul>${pngList}</ul>
151+
`;
129152
container.appendChild(div);
130153
});
131154
});
@@ -135,7 +158,6 @@ _html_page() {
135158
EOF
136159
}
137160

138-
139161
_html_page_v0.1() {
140162
cat <<EOF
141163
<!DOCTYPE html>
@@ -178,35 +200,76 @@ EOF
178200
}
179201

180202
_html_server_index_json() {
181-
# Directory containing SVGs
182-
SVG_DIR="./images/scalable"
183-
# Output JSON file
184-
OUTPUT="logos.json"
185-
186-
echo "[" > "$OUTPUT"
187-
first=1
188-
local SIZES=(16 32 64 128 256 512)
189-
for file in "$SVG_DIR"/*.svg; do
190-
[[ -e "$file" ]] || continue
191-
name=$(basename "$file" .svg)
192-
[[ $first -eq 0 ]] && echo "," >> "$OUTPUT"
193-
first=0
194-
echo " {" >> "$OUTPUT"
195-
echo " \"name\": \"$name\"," >> "$OUTPUT"
196-
echo " \"svg\": \"$file\"," >> "$OUTPUT"
197-
echo " \"pngs\": [" >> "$OUTPUT"
198-
for i in "${!SIZES[@]}"; do
199-
sz="${SIZES[$i]}"
200-
echo -n " \"share/icons/hicolor/${sz}x${sz}/${name}.png\"" >> "$OUTPUT"
201-
[[ $i -lt $((${#SIZES[@]}-1)) ]] && echo "," >> "$OUTPUT"
202-
done
203-
echo "" >> "$OUTPUT"
204-
echo " ]" >> "$OUTPUT"
205-
echo -n " }" >> "$OUTPUT"
206-
done
207-
echo "" >> "$OUTPUT"
208-
echo "]" >> "$OUTPUT"
209-
echo "JSON file created: $OUTPUT"
203+
SVG_DIR="./brand_src"
204+
OUTPUT="logos.json"
205+
SIZES=(16 32 512)
206+
207+
mapfile -t svg_files < <(find "$SVG_DIR" -type f -name "*.svg" | sort -u)
208+
209+
echo "[" > "$OUTPUT"
210+
first=1
211+
212+
for file in "${svg_files[@]}"; do
213+
[[ -e "$file" ]] || continue
214+
name=$(basename "$file" .svg)
215+
216+
# Determine category
217+
case "$file" in
218+
*"/legacy/"*)
219+
if [[ "$name" == armbian_* ]]; then category="armbian-legacy"
220+
elif [[ "$name" == configng_* ]]; then category="configng-legacy"
221+
else category="other-legacy"; fi
222+
;;
223+
*)
224+
if [[ "$name" == armbian_* ]]; then category="armbian"
225+
elif [[ "$name" == configng_* ]]; then category="configng"
226+
else category="other"; fi
227+
;;
228+
esac
229+
230+
# Safely extract SVG metadata
231+
svg_width=$(grep -oP 'width="[^"]+"' "$file" | head -n1 | cut -d'"' -f2 || echo "")
232+
svg_height=$(grep -oP 'height="[^"]+"' "$file" | head -n1 | cut -d'"' -f2 || echo "")
233+
svg_viewbox=$(grep -oP 'viewBox="[^"]+"' "$file" | head -n1 | cut -d'"' -f2 || echo "")
234+
svg_title=$(grep -oP '<title>(.*?)</title>' "$file" | head -n1 || echo "")
235+
svg_desc=$(grep -oP '<desc>(.*?)</desc>' "$file" | head -n1 || echo "")
236+
237+
[[ $first -eq 0 ]] && echo "," >> "$OUTPUT"
238+
first=0
239+
echo " {" >> "$OUTPUT"
240+
echo " \"name\": \"$name\"," >> "$OUTPUT"
241+
echo " \"category\": \"$category\"," >> "$OUTPUT"
242+
echo " \"svg\": \"$file\"," >> "$OUTPUT"
243+
echo " \"svg_meta\": {" >> "$OUTPUT"
244+
echo " \"width\": \"$svg_width\"," >> "$OUTPUT"
245+
echo " \"height\": \"$svg_height\"," >> "$OUTPUT"
246+
echo " \"viewBox\": \"$svg_viewbox\"," >> "$OUTPUT"
247+
echo " \"title\": \"$svg_title\"," >> "$OUTPUT"
248+
echo " \"desc\": \"$svg_desc\"" >> "$OUTPUT"
249+
echo " }," >> "$OUTPUT"
250+
echo " \"pngs\": [" >> "$OUTPUT"
251+
252+
for i in "${!SIZES[@]}"; do
253+
sz="${SIZES[$i]}"
254+
png_path="images/${sz}x${sz}/${name}.png"
255+
if [[ -f "$png_path" ]]; then
256+
kb=$(du -k "$png_path" 2>/dev/null | cut -f1 || echo 0)
257+
else
258+
kb=0
259+
fi
260+
kb_decimal=$(printf "%.2f" "$kb")
261+
echo -n " { \"path\": \"$png_path\", \"size\": \"${sz}x${sz}\", \"kb\": ${kb_decimal} }" >> "$OUTPUT"
262+
[[ $i -lt $((${#SIZES[@]}-1)) ]] && echo "," >> "$OUTPUT"
263+
done
264+
265+
echo "" >> "$OUTPUT"
266+
echo " ]" >> "$OUTPUT"
267+
echo -n " }" >> "$OUTPUT"
268+
done
269+
270+
echo "" >> "$OUTPUT"
271+
echo "]" >> "$OUTPUT"
272+
echo "JSON file created: $OUTPUT"
210273
}
211274

212275

@@ -240,7 +303,83 @@ _html_server_main() {
240303
echo "Test complete"
241304
}
242305

306+
243307
_icon_set_from_svg() {
308+
SRC_DIR="./brand_src"
309+
SIZES=(16 48 512)
310+
311+
# Name of the base SVG (without extension) to use for favicon
312+
FAVICON_BASE="configng-mascot_v2.0" # change this to whatever your main icon is
313+
314+
# Check for ImageMagick's convert command
315+
if ! command -v convert &> /dev/null; then
316+
echo "Error: ImageMagick 'convert' command not found."
317+
read -p "Would you like to install ImageMagick using 'sudo apt install imagemagick'? [Y/n] " yn
318+
case "$yn" in
319+
[Yy]* | "" )
320+
echo "Installing ImageMagick..."
321+
sudo apt update && sudo apt install imagemagick
322+
if ! command -v convert &> /dev/null; then
323+
echo "Installation failed or 'convert' still not found. Exiting."
324+
exit 1
325+
fi
326+
;;
327+
* )
328+
echo "Cannot proceed without ImageMagick. Exiting."
329+
exit 1
330+
;;
331+
esac
332+
fi
333+
334+
if [ ! -d "$SRC_DIR" ]; then
335+
echo "Error: Source directory '$SRC_DIR' does not exist."
336+
exit 1
337+
fi
338+
339+
shopt -s nullglob
340+
svg_files=("$SRC_DIR"/*.svg)
341+
if [ ${#svg_files[@]} -eq 0 ]; then
342+
echo "Error: No SVG files found in '$SRC_DIR'."
343+
exit 1
344+
fi
345+
shopt -u nullglob
346+
347+
for svg in "${svg_files[@]}"; do
348+
base=$(basename "$svg" .svg)
349+
for size in "${SIZES[@]}"; do
350+
OUT_DIR="images/${size}x${size}"
351+
mkdir -p "$OUT_DIR"
352+
OUT_FILE="${OUT_DIR}/${base}.png"
353+
if [[ ! -f "$OUT_FILE" || "$svg" -nt "$OUT_FILE" ]]; then
354+
convert -background none -resize ${size}x${size} "$svg" "$OUT_FILE"
355+
if [ $? -eq 0 ]; then
356+
echo "Generated $OUT_FILE"
357+
else
358+
echo "Failed to convert $svg to $OUT_FILE"
359+
fi
360+
fi
361+
done
362+
done
363+
364+
cp -r "$SRC_DIR" "images/scalable"
365+
366+
# Generate multi-resolution favicon.ico from chosen SVG
367+
FAVICON_SVG="$SRC_DIR/${FAVICON_BASE}.svg"
368+
if [[ -f "$FAVICON_SVG" ]]; then
369+
echo "Creating favicon.ico from $FAVICON_SVG"
370+
convert -background none "$FAVICON_SVG" -resize 16x16 favicon-16.png
371+
convert -background none "$FAVICON_SVG" -resize 32x32 favicon-32.png
372+
convert -background none "$FAVICON_SVG" -resize 48x48 favicon-48.png
373+
convert favicon-16.png favicon-32.png favicon-48.png favicon.ico
374+
rm favicon-16.png favicon-32.png favicon-48.png
375+
echo "Multi-resolution favicon.ico created."
376+
else
377+
echo "Could not create favicon.ico (SVG not found: $FAVICON_SVG)"
378+
fi
379+
}
380+
381+
382+
_icon_set_from_svg_v1.0() {
244383
SRC_DIR="./brand_src"
245384
SIZES=(16 32 64 128 256 512)
246385
# Check for ImageMagick's convert command

0 commit comments

Comments
 (0)