diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 8d54987..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - "label": "Serve Drafts", - "type": "shell", - "command": "hugo server -D --navigateToChanged", - "group": { - "kind": "test", - "isDefault": true - }, - "isBackground": true, - "problemMatcher": [] - }, - { - "label": "Build", - "type": "shell", - "command": "git submodule update --remote --merge && hugo", - "group": { - "kind": "build", - "isDefault": true - }, - "problemMatcher": [] - } - ] -} \ No newline at end of file diff --git a/assets/css/goods.css b/assets/css/goods.css new file mode 100644 index 0000000..74eb7d8 --- /dev/null +++ b/assets/css/goods.css @@ -0,0 +1,113 @@ +/* goods -------- start */ +:root { + --code-bg: rgb(245, 245, 245); /* 定义变量,便于背景色的管理 */ +} + +.dark { + --code-bg: #3b3d42; /* 暗黑模式的背景颜色 */ +} + +#goods { + display: grid; + grid-gap: 2rem; /* 子项之间的间距 */ + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* 自适应布局,每列最小200px,最大填满空间 */ + margin-bottom: 1rem; /* 底部外边距 */ +} + +.goods-container { + border-radius: 8px; /* 圆角 */ + background: var(--code-bg); /* 使用主题背景色 */ + padding: 16px; + overflow: hidden; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04); /* 轻微阴影效果 */ +} + +.goods-image { + min-height: 164px; + display: flex; + justify-content: center; /* 水平居中 */ + align-items: center; /* 垂直居中 */ +} + +.goods-image figure { + margin: 0; /* 去除 figure 元素的默认外边距 */ +} + +.goods-image img { + width: 80%; /* 图片占容器的 80% 宽度 */ + margin: 0 auto; + transition: transform 0.2s ease-in-out; /* 图片放大效果的过渡 */ + cursor: pointer; +} + +.goods-image:hover img { + transform: scale(1.1); /* 悬浮时图片放大 */ +} + +.goods-title { + font-size: 0.875rem; /* 字体大小 */ + margin: 0; + transition: 0.5s; /* 文字样式的渐变 */ +} + +.goods-title a { + font-size: 0.875rem; + text-decoration: none; /* 去除下划线 */ +} + +.goods-info, .goods-note { + font-family: 'DINPro', monospace !important; /* 使用等宽字体 */ + color: #999; + font-size: 0.875rem; /* 文字大小 */ + line-height: 1.4rem; /* 行高 */ +} + +.goods-info-container { + display: flex; + justify-content: space-between; /* 左右对齐 */ + align-items: center; +} + +/* 响应式调整 */ +@media (max-width: 700px) { + .goods-title { + margin: 0 10px !important; /* 边距缩小 */ + } + + .goods-info, .goods-note { + margin: 0 10px; + } + + .goods-image img { + width: 50%; /* 缩小图片尺寸 */ + } + + .goods-note { + margin-top: 8px; + } +} + +@media screen and (min-width: 700px) and (max-width: 900px) { + .goods-title, .goods-title a { + font-size: 0.875rem; /* 保持字体一致 */ + } +} + +@media (min-width: 900px) { + .goods-title, .goods-title a { + font-size: 16px; /* 更大的字体 */ + } + + .goods-note { + margin-top: 0.5rem; + } + + .goods-image img { + width: 80%; /* 恢复图片大小 */ + } + + .goods-container:hover img { + transform: scale(1.1); /* 图片放大效果 */ + } +} +/* goods -------- end */ diff --git a/assets/data/goods.json b/assets/data/goods.json new file mode 100755 index 0000000..3fb8b59 --- /dev/null +++ b/assets/data/goods.json @@ -0,0 +1,624 @@ +{ + "good": [ + { + "source": "2019.12.28 闲鱼", + "image": "InWin D-Frame mini.png", + "price": "CNY370", + "title": "迎广 D-Frame mini", + "title_en": "InWin D-Frame mini", + "link": "https://techgage.com/article/in-win-d-frame-mini-review/", + "note": "PC DIY 的起点,很沉很大", + "note_en": "Start point of PC DIY, heavy and bulky" + }, + { + "source": "2020.04.06 闲鱼", + "image": "2070 SUPER Neptune OC.png", + "price": "CNY3850", + "title": "七彩虹水神 RTX2070s OC", + "title_en": "RTX2070s Neptune OC", + "link": "https://www.colorful.cn/home/Product?id=1706&mid=102", + "note": "静音温度低,水管短又硬", + "note_en": "Silent, low-temp, but hard pipes" + }, + { + "source": "2020.08.20 闲鱼", + "image": "Xbox Controller [Gears5].png", + "price": "CNY425", + "title": "Xbox 手柄 [战争机器]", + "title_en": "Xbox Controller [Gears5]", + "link": "https://www.amazon.com/Xbox-Wireless-Controller-Gears-Limited-one/dp/B07VRD1TT1", + "note": "好看,跟手", + "note_en": "Cool, easy to handle" + }, + { + "source": "2020.08.28 闲鱼", + "image": "Cooler Master NR200P.png", + "price": "CNY580", + "title": "酷冷至尊 NR200P", + "title_en": "Cooler Master NR200P", + "link": "https://www.coolermaster.com/en-us/products/masterbox-nr200p-v2/", + "note": "设计合理,精致小巧", + "note_en": "Well-designed, refined and compact" + }, + { + "source": "2020.09.17 闲鱼", + "image": "Crucia MX500 1TB.png", + "price": "CNY620", + "title": "英睿达 MX500 1TB", + "title_en": "Crucia MX500 1TB", + "link": "https://www.crucial.com/products/ssd/crucial-mx500-ssd", + "note": "", + "note_en": "" + }, + { + "source": "2021.04.04 闲鱼", + "image": "361° AG1 pro 建盏飞白.png", + "price": "CNY490", + "title": "361° AG1 pro 建盏飞白", + "title_en": "", + "link": "https://dw4.co/t/A/1qexBS2Mo", + "note": "结合传统文化,好看", + "note_en": "Combining traditional culture, beautiful" + }, + { + "source": "2021.06.12 闲鱼", + "image": "Kindle Oasis 2.png", + "price": "CNY1099", + "title": "Kindle Oasis2 香槟金32GB", + "title_en": "Kindle Oasis2 Gold 32GB", + "link": "", + "note": "轻便有质感", + "note_en": "light and substantial" + }, + { + "source": "2021.06.15 闲鱼", + "image": "EG RX-78-2.png", + "price": "CNY48", + "title": "", + "title_en": "EG RX-78-2", + "link": "https://bandaihobbysite.cn/index/index/detail/id/1578", + "note": "麻雀虽小五脏俱全", + "note_en": "Small but complete" + }, + { + "source": "2021.06.15 闲鱼", + "image": "RG RX-178 Mk-Ⅱ AEUG.png", + "price": "CNY130", + "title": "RG RX-178 Mk-Ⅱ 奥古", + "title_en": "RG RX-178 Mk-Ⅱ AEUG", + "link": "https://bandaihobbysite.cn/index/index/detail/id/687", + "note": "扎实的机械联动结构", + "note_en": "Solid mechanical linkage structure" + }, + { + "source": "2021.08.01 闲鱼", + "image": "Huawei mobile router B311.png", + "price": "CNY201", + "title": "华为移动路由 B311", + "title_en": "Huawei mobile router B311", + "link": "https://consumer.huawei.com/cn/support/routers/mobile-router/", + "note": "解决了校园网2设备限制", + "note_en": "Solved campus network 2 device restriction" + }, + { + "source": "2021.10.29 闲鱼", + "image": "Magic Trackpad 2.png", + "price": "CNY750", + "title": "妙控板2代", + "title_en": "Magic Trackpad 2", + "link": "https://www.apple.com/shop/product/MK2D3AM/A/magic-trackpad-white-multi-touch-surface", + "note": "精致实用", + "note_en": "Refined and practical" + }, + { + "source": "2021.11.16 闲鱼", + "image": "GSAS Evanthe Lazy Afternoon.png", + "price": "CNY580", + "title": "GSAS 伊万斯 慵懒午后", + "title_en": "GSAS Evanthe Lazy Afternoon", + "link": "https://www.goodsmile.info/en/product/11714/Evanthe+Lazy+Afternoon+Ver.html", + "note": "好设计,好制作", + "note_en": "Good design, good craftsmanship" + }, + { + "source": "2021.12.26 闲鱼", + "image": "HHKB Professional 2.png", + "price": "CNY1000", + "title": "HHKB Professional 2", + "title_en": "HHKB Professional 2", + "link": "https://hhkb.io/models/HHKB_Professional_2/", + "note": "改了YDKB的蓝牙,高级薄膜", + "note_en": "Modified YDKB's Bluetooth, advanced membrane keyboard" + }, + { + "source": "2022.10.14 闲鱼", + "image": "SAMSUNG 970 EVO PLUS 2TB.png", + "price": "CNY1420", + "title": "三星 970 EVO PLUS", + "title_en": "SAMSUNG 970 EVO PLUS", + "link": "https://semiconductor.samsung.com/us/consumer-storage/internal-ssd/970evoplus/", + "note": "2TB", + "note_en": "" + }, + { + "source": "2022.10.22 闲鱼", + "image": "XIAOMI Screen Light Bar 1S.png", + "price": "CNY210", + "title": "米家智能显示器挂灯1S", + "title_en": "XIAOMI Screen Light Bar 1S", + "link": "https://www.mi.com/shop/buy/detail?product_id=15186&cfrom=search", + "note": "", + "note_en": "" + }, + { + "source": "2022.10.27 闲鱼", + "image": "Targus DOCK180.png", + "price": "CNY350", + "title": "", + "title_en": "Targus DOCK180", + "link": "https://www.targus.com/za/universal-usb-c-dv4k-dock-with-power-dock180euz", + "note": "DisplayLink解决MBP不能接两个显示器", + "note_en": "DisplayLink solution for MBP unable to connect two monitors" + }, + { + "source": "2022.12.03 闲鱼", + "image": "MacBook Pro M1 Max.png", + "price": "CNY17500", + "title": "", + "title_en": "MacBook Pro M1 Max", + "link": "https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-m1-max-10-core-cpu-32-core-gpu-14-2021-specs.html", + "note": "强大,10 CPU/32 GPU,32GB内存,1TB存储", + "note_en": "Powerful, 10 CPU/32 GPU, 32GB memory, 1TB storage" + }, + { + "source": "2023.02.12 闲鱼", + "image": "Logitech MX Master 3S.png", + "price": "CNY429", + "title": "罗技 MX Master 3S", + "title_en": "Logitech MX Master 3S", + "link": "https://www.logitech.com/zh-cn/products/mice/mx-master-3s", + "note": "Mac上最好的鼠标", + "note_en": "The best mouse for Mac" + }, + { + "source": "2023.02.23 闲鱼", + "image": "Cooler Master HAF 500.png", + "price": "CNY599", + "title": "酷冷至尊 HAF 500", + "title_en": "Cooler Master HAF 500", + "link": "https://www.coolermaster.com/en-us/products/haf-500/", + "note": "做工扎实,设计有巧思", + "note_en": "Well-crafted, with thoughtful design" + }, + { + "source": "2023.02.23 闲鱼", + "image": "GIGABYTE Z690 AERO G.png", + "price": "CNY1599", + "title": "技嘉 Z690 AERO G", + "title_en": "GIGABYTE Z690 AERO G", + "link": "https://www.gigabyte.com/Motherboard/Z690-AERO-G-DDR4-rev-1x#kf", + "note": "内敛低调不平凡", + "note_en": "Unassuming and understated, yet extraordinary." + }, + { + "source": "2023.02.26 闲鱼", + "image": "Noctua NF-A20 Black.png", + "price": "CNY156", + "title": "猫头鹰 NF-A20 黑色", + "title_en": "Noctua NF-A20 Black", + "link": "https://noctua.at/en/nf-a20-pwm-chromax-black-swap", + "note": "一丝微动,凉风万里", + "note_en": "Slightly motion, endless cool" + }, + { + "source": "2023.02.28 闲鱼", + "image": "ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO White Edition.png", + "price": "CNY13500", + "title": "索泰 RTX4090 AMP EXTREME AIRO 月白", + "title_en": "ZOTAC RTX4090 AMP Extreme AIRO White", + "link": "https://www.zotac.com/us/product/graphics_card/zotac-gaming-geforce-rtx-4090-amp-extreme-airo-white-edition", + "note": "优雅强大", + "note_en": "Elegant and powerful" + }, + { + "source": "2024.08.16 闲鱼", + "image": "Magic Mouse 2.png", + "price": "CNY150", + "title": "妙控鼠标2代", + "title_en": "Magic Mouse 2", + "link": "https://www.apple.com/shop/product/MK2E3AM/A/magic-mouse-white-multi-touch-surface", + "note": "坚持过了,难用", + "note_en": "Tried hard, but failed" + }, + { + "source": "2020.07.26 拼多多", + "image": "Dell U2720Q.png", + "price": "CNY3489", + "title": "戴尔 U2720Q", + "title_en": "Dell U2720Q", + "link": "https://www.dell.com/support/home/en-us/product-support/product/dell-u2720q-monitor", + "note": "护眼颜色好", + "note_en": "Eye-friendly and vibrant" + }, + { + "source": "2021.06.10 拼多多", + "image": "MacBook Pro M1.png", + "price": "CNY8399", + "title": "", + "title_en": "MacBook Pro M1", + "link": "https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-m1-8-core-13-2020-specs.html", + "note": "我和macOS和M芯片的开始,轻便续航长", + "note_en": "Start with both macOS and M-series chip, light and long-lasting battery" + }, + { + "source": "2023.01.18 拼多多", + "image": "PS5 Controller [God Of War].png", + "price": "CNY461", + "title": "PS5 手柄 [战神]", + "title_en": "PS5 Controller [God Of War]", + "link": "", + "note": "好看又好玩", + "note_en": "Appealing and fun" + }, + { + "source": "2023.02.11 拼多多", + "image": "EDIFIER NEW-X.png", + "price": "CNY853", + "title": "漫步者 花再NEW-X", + "title_en": "EDIFIER NEW-X", + "link": "https://www.edifier.com/cn/product/product-561.html", + "note": "精致有设计", + "note_en": "Refined and designed" + }, + { + "source": "2023.04.07 拼多多", + "image": "Apple Watch Series 8.png", + "price": "CNY2628", + "title": "", + "title_en": "Apple Watch Series 8", + "link": "https://support.apple.com/en-us/111848", + "note": "不知不觉就没戴了", + "note_en": "Gradually stopped wearing it without realizing" + }, + { + "source": "2024.01.22 拼多多", + "image": "PGU RX-78-2.png", + "price": "CNY454", + "title": "", + "title_en": "PGU RX-78-2", + "link": "https://bandaihobbysite.cn/index/index/detail/id/2525", + "note": "买的BGU,喷了漆很酷", + "note_en": "Bought BGU, looks cool after painted" + }, + { + "source": "2024.08.05 拼多多", + "image": "CUKTECH Power Bank.png", + "price": "CNY71", + "title": "CUKTECH 充电宝", + "title_en": "CUKTECH Power Bank", + "link": "https://cuktech.com.cn/show_procon.thtml?id=159", + "note": "小巧强大,10000mAh 30W", + "note_en": "Compact yet powerful, 10000mAh 30W" + }, + { + "source": "2020.01.26 京东", + "image": "InWin Chopin.png", + "price": "CNY509", + "title": "迎广 肖邦", + "title_en": "InWin Chopin", + "link": "https://www.in-win.com/cn/gaming-chassis/chopin-max", + "note": "铝合金外框/自带150W电源", + "note_en": "Aluminum alloy frame/Built-in 150W power supply" + }, + { + "source": "2019.12.15 淘宝", + "image": "SanDisk CZ880 128GB.png", + "price": "CNY232", + "title": "闪迪 CZ880 128GB", + "title_en": "SanDisk CZ880 128GB", + "link": "https://detail.zol.com.cn/usb_flash_drive/index1165202.shtml", + "note": "口袋SSD", + "note_en": "Pocket SSD" + }, + { + "source": "2019.12.28 淘宝", + "image": "Logitech G102.png", + "price": "CNY90", + "title": "罗技 G102", + "title_en": "Logitech G102", + "link": "https://www.logitechg.com/zh-cn/products/gaming-mice/g102-prodigy-gaming-mouse", + "note": "入门鼠标,中规中矩", + "note_en": "Entry-level mouse, run-of-the-mill" + }, + { + "source": "2019.12.28 淘宝", + "image": "Logitech K845.png", + "price": "CNY315", + "title": "罗技 K845", + "title_en": "Logitech K845", + "link": "https://www.logitech.com/zh-cn/products/keyboards/k845-mechanical-illuminated", + "note": "入门键盘", + "note_en": "Entry-level keyboard" + }, + { + "source": "2020.01.12 淘宝", + "image": "ROG Strix X570-I Gaming.png", + "price": "CNY2100", + "title": "", + "title_en": "ROG Strix X570-I Gaming", + "link": "https://rog.asus.com/us/motherboards/rog-strix/rog-strix-x570-i-gaming-model/", + "note": "主板风扇太吵了", + "note_en": "Noisy motherboard fan" + }, + { + "source": "2020.01.16 淘宝", + "image": "Noctua NF-A12x25.png", + "price": "CNY245", + "title": "猫头鹰 NF-A12x25", + "title_en": "Noctua NF-A12x25", + "link": "https://noctua.at/cn/nf-a12x25-5v-pwm", + "note": "性能强,但太贵了", + "note_en": "Perfect performance, but too expensive" + }, + { + "source": "2020.01.16 淘宝", + "image": "Noctua NF-U12A.png", + "price": "CNY654", + "title": "猫头鹰 NF-U12A", + "title_en": "Noctua NF-U12A", + "link": "https://noctua.at/cn/nh-u12a", + "note": "买风扇送散热器", + "note_en": "Buy fans, heater as gift." + }, + { + "source": "2020.02.05 淘宝", + "image": "SONY MDR7506.png", + "price": "CNY702", + "title": "索尼 MDR7506", + "title_en": "SONY MDR7506", + "link": "https://pro.sony/ue_US/products/headphones/mdr-7506", + "note": "耳罩掉渣", + "note_en": "Earcups are flaking off" + }, + { + "source": "2020.02.10 淘宝", + "image": "NetGear Orbi RBK20.png", + "price": "CNY814", + "title": "", + "title_en": "NetGear Orbi RBK20", + "link": "https://www.netgear.com/support/product/rbk20/", + "note": "预埋网线坏了,Mesh组网", + "note_en": "Pre-installed cable is broken, Mesh networking" + }, + { + "source": "2020.02.21 淘宝", + "image": "Toa Heavy Industries Synthetic Human Test Body.png", + "price": "CNY685", + "title": "东亚重工 合成人间 人偶", + "title_en": "Toa Heavy Industries Synthetic Human Test Body", + "link": "https://1000toys.jp/detail.aspx?goto=product69", + "note": "第一个手办,超级可动", + "note_en": "The first figure, super articulated" + }, + { + "source": "2020.02.22 淘宝", + "image": "Logitech M275.png", + "price": "CNY89", + "title": "罗技 M275", + "title_en": "Logitech M275", + "link": "https://www.logitech.com/assets/64693/2/kaluga-b330-m280m330m320m331.pdf", + "note": "人体工程学", + "note_en": "Ergonomics" + }, + { + "source": "2021.01.20 淘宝", + "image": "Razer Seiren Mini.png", + "price": "CNY249", + "title": "雷蛇魔音海妖迷你版", + "title_en": "Razer Seiren Mini", + "link": "https://cn.razerzone.com/streaming-microphones/razer-seiren-mini", + "note": "小巧精致", + "note_en": "Compact and exquisite" + }, + { + "source": "2021.01.23 淘宝", + "image": "Razer Viper Ultimate.png", + "price": "CNY493", + "title": "雷蛇毒蝰终极版", + "title_en": "Razer Viper Ultimate", + "link": "https://cn.razerzone.com/gaming-mice/razer-viper-ultimate", + "note": "很轻很强大", + "note_en": "Extremely light yet incredibly powerful" + }, + { + "source": "2021.02.04 淘宝", + "image": "RG RX-93 νGundam.png", + "price": "CNY438", + "title": "", + "title_en": "RG RX-93 νGundam", + "link": "https://bandaihobbysite.cn/index/index/detail/id/2263", + "note": "电镀版,年度最佳", + "note_en": "Plated ver, best of the Year" + }, + { + "source": "2021.03.20 淘宝", + "image": "Seagate Skyhawk ST4000VX007 4TB.png", + "price": "CNY478", + "title": "希捷酷鹰 4TB", + "title_en": "Seagate Skyhawk 4TB", + "link": "https://www.seagate.com/files/www-content/datasheets/pdfs/skyhawk-3-5-hdd-DS1902-16-2106TW-zh_TW.pdf", + "note": "ST4000VX007", + "note_en": "ST4000VX007" + }, + { + "source": "2021.06.15 淘宝", + "image": "BANDAI Figure-rise DORAEMON.png", + "price": "CNY128", + "title": "万代 Figure-rise 哆啦A梦", + "title_en": "BANDAI Figure-rise DORAEMON", + "link": "https://bandaihobbysite.cn/index/index/detail/id/1905", + "note": "机械猫,透明外壳", + "note_en": "Transparent-cased mechanical cat" + }, + { + "source": "2021.06.15 淘宝", + "image": "RG EVANGELION-01.png", + "price": "CNY305", + "title": "RG EVA 初号机", + "title_en": "RG EVANGELION-01", + "link": "https://bandaihobbysite.cn/index/index/detail/id/2399", + "note": "经典造型", + "note_en": "Classic Design" + }, + { + "source": "2021.09.28 淘宝", + "image": "iPad Pro M1 2021.png", + "price": "CNY5248", + "title": "", + "title_en": "iPad Pro M1 2021", + "link": "https://everymac.com/systems/apple/ipad/specs/apple-ipad-pro-11-inch-3rd-gen-a2460-wi-fi-5g-cellular-mainland-china-specs.html", + "note": "128GB,M1芯片的草稿本", + "note_en": "128GB, M1 Chip draft book" + }, + { + "source": "2021.10.01 淘宝", + "image": "361° AG1 pro 杭罗.png", + "price": "CNY559", + "title": "361° AG1 pro 杭罗", + "title_en": "", + "link": "https://dw4.co/t/A/1qewy68lM", + "note": "结合传统文化,好看", + "note_en": "Combining traditional culture, beautiful" + }, + { + "source": "2022.01.11 淘宝", + "image": "HWJ RAMBLER Bulldog.png", + "price": "CNY242", + "title": "HWJ RAMBLER 斗牛犬", + "title_en": "HWJ RAMBLER Bulldog", + "link": "https://www.bigbadtoystore.com/Product/VariationDetails/171591?o=4", + "note": "精致但太贵", + "note_en": "Refined but too expensive" + }, + { + "source": "2022.05.12 淘宝", + "image": "XIAOMI Router AX6000.png", + "price": "CNY516", + "title": "小米路由器 AX6000", + "title_en": "XIAOMI Router AX6000", + "link": "https://www.mi.com/r6000", + "note": "2台全屋覆盖", + "note_en": "Whole-home coverage with 2 units" + }, + { + "source": "2023.01.25 淘宝", + "image": "Disney Lightyear Laser Saber.png", + "price": "CNY199", + "title": "迪士尼 巴斯光年激光剑", + "title_en": "Disney Lightyear Laser Saber", + "link": "https://www.disneystore.asia/mattel-disney-pixar-lightyear-laser-saber-roleplay-toy-461062809312.html", + "note": "很帅,对大学生来说刚好", + "note_en": "Just right for college students, very cool" + }, + { + "source": "2023.02.10 淘宝", + "image": "ZHITAI TiPlus5000 1TB.png", + "price": "CNY459", + "title": "致钛 TiPlus5000 1TB", + "title_en": "ZHITAI TiPlus5000 1TB", + "link": "https://www.ymtc.com/cn/products/35.html?cat=44", + "note": "", + "note_en": "" + }, + { + "source": "2023.02.10 淘宝", + "image": "M.2 SSD Enclosure.png", + "price": "CNY154", + "title": "饭盒5号 M.2硬盘盒", + "title_en": "M.2 SSD Enclosure", + "link": "https://item.taobao.com/item.htm?id=678715110099", + "note": "战术硬盘盒", + "note_en": "Tactical SSD enclosure" + }, + { + "source": "2023.02.23 淘宝", + "image": "Intel i5 13600K.png", + "price": "CNY2045", + "title": "", + "title_en": "Intel i5 13600K", + "link": "https://www.intel.com/content/www/us/en/products/sku/230493/intel-core-i513600k-processor-24m-cache-up-to-5-10-ghz/specifications.html", + "note": "13代缩肛警告", + "note_en": "13th Gen Vmin Instability Issue" + }, + { + "source": "2024.05.20 淘宝", + "image": "Logitech M240.png", + "price": "CNY119", + "title": "罗技 M240", + "title_en": "Logitech M240", + "link": "https://www.logitech.com/zh-cn/products/mice/m240-silent-bluetooth-mouse", + "note": "小巧", + "note_en": "Petite" + }, + { + "source": "2021.08.18 Apple", + "image": "AirPods Pro 1.png", + "price": "CNY1150", + "title": "", + "title_en": "AirPods Pro 1", + "link": "https://support.apple.com/en-us/111861", + "note": "物有所值", + "note_en": "It's worth it" + }, + { + "source": "2021.09.21 Apple", + "image": "Apple Pencil 2.png", + "price": "CNY895", + "title": "", + "title_en": "Apple Pencil 2", + "link": "https://www.apple.com.cn/apple-pencil/", + "note": "摔不坏", + "note_en": "Drop-resistant" + }, + { + "source": "2021.11.19 Apple", + "image": "iPhone13.png", + "price": "CNY5999", + "title": "", + "title_en": "iPhone13 128GB", + "link": "https://www.apple.com/by/iphone-13/", + "note": "地铁上摔坏iPhone8之后...", + "note_en": "After breaking iPhone8 on the subway..." + }, + { + "source": "2017.xx.xx 淘宝", + "image": "G-SHOCK GWG-1000-1A3.png", + "price": "CNY2xxx", + "title": "", + "title_en": "G-SHOCK GWG-1000-1A3", + "link": "https://www.casio.com.cn/watches/gshock/product.GWG-1000-1A3/", + "note": "结实耐用", + "note_en": "Sturdy and durable" + }, + { + "source": "2020.xx.xx", + "image": "rOtring 800.png", + "price": "CNY2xx", + "title": "红环 800", + "title_en": "rOtring 800", + "link": "https://www.rotring.com/pens-pencils/mechanical-pencils/rotring-800/SAP_1904447.html", + "note": "最强自动铅笔", + "note_en": "Ultimate Mechanical Pencil" + }, + { + "source": "2020.xx.xx 继承", + "image": "iPhone8.png", + "price": "CNYxxxx", + "title": "", + "title_en": "iPhone8", + "link": "https://support.apple.com/en-sg/111976", + "note": "高中生最快乐的一集", + "note_en": "Happiest episode of high school life" + } + ] +} \ No newline at end of file diff --git a/assets/icons/monkeytype.svg b/assets/icons/monkeytype.svg new file mode 100644 index 0000000..9625650 --- /dev/null +++ b/assets/icons/monkeytype.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/img/author.png b/assets/images/author.png similarity index 100% rename from assets/img/author.png rename to assets/images/author.png diff --git a/assets/images/background.svg b/assets/images/background.svg new file mode 100644 index 0000000..a3dc3e7 --- /dev/null +++ b/assets/images/background.svg @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/featured.svg b/assets/images/featured.svg new file mode 100644 index 0000000..e4db6eb --- /dev/null +++ b/assets/images/featured.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/goods/2070 SUPER Neptune OC.png b/assets/images/goods/2070 SUPER Neptune OC.png new file mode 100644 index 0000000..44f15b1 Binary files /dev/null and b/assets/images/goods/2070 SUPER Neptune OC.png differ diff --git "a/assets/images/goods/361\302\260 AG1 pro \345\273\272\347\233\217\351\243\236\347\231\275.png" "b/assets/images/goods/361\302\260 AG1 pro \345\273\272\347\233\217\351\243\236\347\231\275.png" new file mode 100644 index 0000000..0e0cea6 Binary files /dev/null and "b/assets/images/goods/361\302\260 AG1 pro \345\273\272\347\233\217\351\243\236\347\231\275.png" differ diff --git "a/assets/images/goods/361\302\260 AG1 pro \346\235\255\347\275\227.png" "b/assets/images/goods/361\302\260 AG1 pro \346\235\255\347\275\227.png" new file mode 100644 index 0000000..4512cce Binary files /dev/null and "b/assets/images/goods/361\302\260 AG1 pro \346\235\255\347\275\227.png" differ diff --git a/assets/images/goods/AirPods Pro 1.png b/assets/images/goods/AirPods Pro 1.png new file mode 100644 index 0000000..cec8982 Binary files /dev/null and b/assets/images/goods/AirPods Pro 1.png differ diff --git a/assets/images/goods/Apple Pencil 2.png b/assets/images/goods/Apple Pencil 2.png new file mode 100644 index 0000000..7c25f2f Binary files /dev/null and b/assets/images/goods/Apple Pencil 2.png differ diff --git a/assets/images/goods/Apple Watch Series 8.png b/assets/images/goods/Apple Watch Series 8.png new file mode 100644 index 0000000..05d9c6e Binary files /dev/null and b/assets/images/goods/Apple Watch Series 8.png differ diff --git a/assets/images/goods/BANDAI Figure-rise DORAEMON.png b/assets/images/goods/BANDAI Figure-rise DORAEMON.png new file mode 100644 index 0000000..8ee5c22 Binary files /dev/null and b/assets/images/goods/BANDAI Figure-rise DORAEMON.png differ diff --git a/assets/images/goods/CUKTECH Power Bank.png b/assets/images/goods/CUKTECH Power Bank.png new file mode 100644 index 0000000..02b28ff Binary files /dev/null and b/assets/images/goods/CUKTECH Power Bank.png differ diff --git a/assets/images/goods/Cooler Master HAF 500.png b/assets/images/goods/Cooler Master HAF 500.png new file mode 100644 index 0000000..17b24a9 Binary files /dev/null and b/assets/images/goods/Cooler Master HAF 500.png differ diff --git a/assets/images/goods/Cooler Master NR200P.png b/assets/images/goods/Cooler Master NR200P.png new file mode 100644 index 0000000..f350533 Binary files /dev/null and b/assets/images/goods/Cooler Master NR200P.png differ diff --git a/assets/images/goods/Crucia MX500 1TB.png b/assets/images/goods/Crucia MX500 1TB.png new file mode 100644 index 0000000..f742095 Binary files /dev/null and b/assets/images/goods/Crucia MX500 1TB.png differ diff --git a/assets/images/goods/Dell U2720Q.png b/assets/images/goods/Dell U2720Q.png new file mode 100644 index 0000000..d063fe0 Binary files /dev/null and b/assets/images/goods/Dell U2720Q.png differ diff --git a/assets/images/goods/Disney Lightyear Laser Saber.png b/assets/images/goods/Disney Lightyear Laser Saber.png new file mode 100644 index 0000000..0be31f2 Binary files /dev/null and b/assets/images/goods/Disney Lightyear Laser Saber.png differ diff --git a/assets/images/goods/EDIFIER NEW-X.png b/assets/images/goods/EDIFIER NEW-X.png new file mode 100644 index 0000000..6d51a67 Binary files /dev/null and b/assets/images/goods/EDIFIER NEW-X.png differ diff --git a/assets/images/goods/EG RX-78-2.png b/assets/images/goods/EG RX-78-2.png new file mode 100644 index 0000000..b0e7a4d Binary files /dev/null and b/assets/images/goods/EG RX-78-2.png differ diff --git a/assets/images/goods/G-SHOCK GWG-1000-1A3.png b/assets/images/goods/G-SHOCK GWG-1000-1A3.png new file mode 100644 index 0000000..f6f9f76 Binary files /dev/null and b/assets/images/goods/G-SHOCK GWG-1000-1A3.png differ diff --git a/assets/images/goods/GIGABYTE Z690 AERO G.png b/assets/images/goods/GIGABYTE Z690 AERO G.png new file mode 100644 index 0000000..44890d1 Binary files /dev/null and b/assets/images/goods/GIGABYTE Z690 AERO G.png differ diff --git a/assets/images/goods/GSAS Evanthe Lazy Afternoon.png b/assets/images/goods/GSAS Evanthe Lazy Afternoon.png new file mode 100644 index 0000000..24839d3 Binary files /dev/null and b/assets/images/goods/GSAS Evanthe Lazy Afternoon.png differ diff --git a/assets/images/goods/HHKB Professional 2.png b/assets/images/goods/HHKB Professional 2.png new file mode 100644 index 0000000..6702c67 Binary files /dev/null and b/assets/images/goods/HHKB Professional 2.png differ diff --git a/assets/images/goods/HWJ RAMBLER Bulldog.png b/assets/images/goods/HWJ RAMBLER Bulldog.png new file mode 100644 index 0000000..73e0793 Binary files /dev/null and b/assets/images/goods/HWJ RAMBLER Bulldog.png differ diff --git a/assets/images/goods/Huawei mobile router B311.png b/assets/images/goods/Huawei mobile router B311.png new file mode 100644 index 0000000..ccd7ab4 Binary files /dev/null and b/assets/images/goods/Huawei mobile router B311.png differ diff --git a/assets/images/goods/InWin Chopin.png b/assets/images/goods/InWin Chopin.png new file mode 100644 index 0000000..5516a18 Binary files /dev/null and b/assets/images/goods/InWin Chopin.png differ diff --git a/assets/images/goods/InWin D-Frame mini.png b/assets/images/goods/InWin D-Frame mini.png new file mode 100644 index 0000000..f0339d5 Binary files /dev/null and b/assets/images/goods/InWin D-Frame mini.png differ diff --git a/assets/images/goods/Intel i5 13600K.png b/assets/images/goods/Intel i5 13600K.png new file mode 100644 index 0000000..07699fa Binary files /dev/null and b/assets/images/goods/Intel i5 13600K.png differ diff --git a/assets/images/goods/Kindle Oasis 2.png b/assets/images/goods/Kindle Oasis 2.png new file mode 100644 index 0000000..6648515 Binary files /dev/null and b/assets/images/goods/Kindle Oasis 2.png differ diff --git a/assets/images/goods/Logitech G102.png b/assets/images/goods/Logitech G102.png new file mode 100644 index 0000000..67d8f58 Binary files /dev/null and b/assets/images/goods/Logitech G102.png differ diff --git a/assets/images/goods/Logitech K845.png b/assets/images/goods/Logitech K845.png new file mode 100644 index 0000000..b9be35c Binary files /dev/null and b/assets/images/goods/Logitech K845.png differ diff --git a/assets/images/goods/Logitech M240.png b/assets/images/goods/Logitech M240.png new file mode 100644 index 0000000..e9b7f52 Binary files /dev/null and b/assets/images/goods/Logitech M240.png differ diff --git a/assets/images/goods/Logitech M275.png b/assets/images/goods/Logitech M275.png new file mode 100644 index 0000000..78da6e1 Binary files /dev/null and b/assets/images/goods/Logitech M275.png differ diff --git a/assets/images/goods/Logitech MX Master 3S.png b/assets/images/goods/Logitech MX Master 3S.png new file mode 100644 index 0000000..92b4193 Binary files /dev/null and b/assets/images/goods/Logitech MX Master 3S.png differ diff --git a/assets/images/goods/M.2 SSD Enclosure.png b/assets/images/goods/M.2 SSD Enclosure.png new file mode 100644 index 0000000..1d91fb7 Binary files /dev/null and b/assets/images/goods/M.2 SSD Enclosure.png differ diff --git a/assets/images/goods/MacBook Pro M1 Max.png b/assets/images/goods/MacBook Pro M1 Max.png new file mode 100644 index 0000000..63d389f Binary files /dev/null and b/assets/images/goods/MacBook Pro M1 Max.png differ diff --git a/assets/images/goods/MacBook Pro M1.png b/assets/images/goods/MacBook Pro M1.png new file mode 100644 index 0000000..79b4e96 Binary files /dev/null and b/assets/images/goods/MacBook Pro M1.png differ diff --git a/assets/images/goods/Magic Mouse 2.png b/assets/images/goods/Magic Mouse 2.png new file mode 100644 index 0000000..5f94e17 Binary files /dev/null and b/assets/images/goods/Magic Mouse 2.png differ diff --git a/assets/images/goods/Magic Trackpad 2.png b/assets/images/goods/Magic Trackpad 2.png new file mode 100644 index 0000000..01892f0 Binary files /dev/null and b/assets/images/goods/Magic Trackpad 2.png differ diff --git a/assets/images/goods/NetGear Orbi RBK20.png b/assets/images/goods/NetGear Orbi RBK20.png new file mode 100644 index 0000000..0e27943 Binary files /dev/null and b/assets/images/goods/NetGear Orbi RBK20.png differ diff --git a/assets/images/goods/Noctua NF-A12x25.png b/assets/images/goods/Noctua NF-A12x25.png new file mode 100644 index 0000000..6eeb817 Binary files /dev/null and b/assets/images/goods/Noctua NF-A12x25.png differ diff --git a/assets/images/goods/Noctua NF-A20 Black.png b/assets/images/goods/Noctua NF-A20 Black.png new file mode 100644 index 0000000..b7faeb5 Binary files /dev/null and b/assets/images/goods/Noctua NF-A20 Black.png differ diff --git a/assets/images/goods/Noctua NF-U12A.png b/assets/images/goods/Noctua NF-U12A.png new file mode 100644 index 0000000..f662c22 Binary files /dev/null and b/assets/images/goods/Noctua NF-U12A.png differ diff --git a/assets/images/goods/PGU RX-78-2.png b/assets/images/goods/PGU RX-78-2.png new file mode 100644 index 0000000..063040a Binary files /dev/null and b/assets/images/goods/PGU RX-78-2.png differ diff --git a/assets/images/goods/PS5 Controller [God Of War].png b/assets/images/goods/PS5 Controller [God Of War].png new file mode 100644 index 0000000..1dfa8aa Binary files /dev/null and b/assets/images/goods/PS5 Controller [God Of War].png differ diff --git a/assets/images/goods/RAY's Model World Cutting Mat.png b/assets/images/goods/RAY's Model World Cutting Mat.png new file mode 100644 index 0000000..50d58b8 Binary files /dev/null and b/assets/images/goods/RAY's Model World Cutting Mat.png differ diff --git a/assets/images/goods/RG EVANGELION-01.png b/assets/images/goods/RG EVANGELION-01.png new file mode 100644 index 0000000..eb3977f Binary files /dev/null and b/assets/images/goods/RG EVANGELION-01.png differ diff --git "a/assets/images/goods/RG RX-178 Mk-\342\205\241 AEUG.png" "b/assets/images/goods/RG RX-178 Mk-\342\205\241 AEUG.png" new file mode 100644 index 0000000..042456e Binary files /dev/null and "b/assets/images/goods/RG RX-178 Mk-\342\205\241 AEUG.png" differ diff --git "a/assets/images/goods/RG RX-93 \316\275Gundam.png" "b/assets/images/goods/RG RX-93 \316\275Gundam.png" new file mode 100644 index 0000000..7f7a3a6 Binary files /dev/null and "b/assets/images/goods/RG RX-93 \316\275Gundam.png" differ diff --git a/assets/images/goods/ROG Strix X570-I Gaming.png b/assets/images/goods/ROG Strix X570-I Gaming.png new file mode 100644 index 0000000..3e1fd04 Binary files /dev/null and b/assets/images/goods/ROG Strix X570-I Gaming.png differ diff --git a/assets/images/goods/Razer Seiren Mini.png b/assets/images/goods/Razer Seiren Mini.png new file mode 100644 index 0000000..be16ef8 Binary files /dev/null and b/assets/images/goods/Razer Seiren Mini.png differ diff --git a/assets/images/goods/Razer Viper Ultimate.png b/assets/images/goods/Razer Viper Ultimate.png new file mode 100644 index 0000000..b7392ab Binary files /dev/null and b/assets/images/goods/Razer Viper Ultimate.png differ diff --git a/assets/images/goods/SAMSUNG 970 EVO PLUS 2TB.png b/assets/images/goods/SAMSUNG 970 EVO PLUS 2TB.png new file mode 100644 index 0000000..1cf3540 Binary files /dev/null and b/assets/images/goods/SAMSUNG 970 EVO PLUS 2TB.png differ diff --git a/assets/images/goods/SONY MDR7506.png b/assets/images/goods/SONY MDR7506.png new file mode 100644 index 0000000..fba7792 Binary files /dev/null and b/assets/images/goods/SONY MDR7506.png differ diff --git a/assets/images/goods/SanDisk CZ880 128GB.png b/assets/images/goods/SanDisk CZ880 128GB.png new file mode 100644 index 0000000..d164070 Binary files /dev/null and b/assets/images/goods/SanDisk CZ880 128GB.png differ diff --git a/assets/images/goods/Seagate Skyhawk ST4000VX007 4TB.png b/assets/images/goods/Seagate Skyhawk ST4000VX007 4TB.png new file mode 100644 index 0000000..138c2f4 Binary files /dev/null and b/assets/images/goods/Seagate Skyhawk ST4000VX007 4TB.png differ diff --git a/assets/images/goods/Targus DOCK180.png b/assets/images/goods/Targus DOCK180.png new file mode 100644 index 0000000..24a81a0 Binary files /dev/null and b/assets/images/goods/Targus DOCK180.png differ diff --git a/assets/images/goods/Toa Heavy Industries Synthetic Human Test Body.png b/assets/images/goods/Toa Heavy Industries Synthetic Human Test Body.png new file mode 100644 index 0000000..58e09c1 Binary files /dev/null and b/assets/images/goods/Toa Heavy Industries Synthetic Human Test Body.png differ diff --git a/assets/images/goods/XIAOMI Router AX6000.png b/assets/images/goods/XIAOMI Router AX6000.png new file mode 100644 index 0000000..2c961c5 Binary files /dev/null and b/assets/images/goods/XIAOMI Router AX6000.png differ diff --git a/assets/images/goods/XIAOMI Screen Light Bar 1S.png b/assets/images/goods/XIAOMI Screen Light Bar 1S.png new file mode 100644 index 0000000..c06e1b8 Binary files /dev/null and b/assets/images/goods/XIAOMI Screen Light Bar 1S.png differ diff --git a/assets/images/goods/Xbox Controller [Gears5].png b/assets/images/goods/Xbox Controller [Gears5].png new file mode 100644 index 0000000..2f31dec Binary files /dev/null and b/assets/images/goods/Xbox Controller [Gears5].png differ diff --git a/assets/images/goods/ZHITAI TiPlus5000 1TB.png b/assets/images/goods/ZHITAI TiPlus5000 1TB.png new file mode 100644 index 0000000..186e152 Binary files /dev/null and b/assets/images/goods/ZHITAI TiPlus5000 1TB.png differ diff --git a/assets/images/goods/ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO White Edition.png b/assets/images/goods/ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO White Edition.png new file mode 100644 index 0000000..c03974e Binary files /dev/null and b/assets/images/goods/ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO White Edition.png differ diff --git a/assets/images/goods/iPad Pro M1 2021.png b/assets/images/goods/iPad Pro M1 2021.png new file mode 100644 index 0000000..c0d1beb Binary files /dev/null and b/assets/images/goods/iPad Pro M1 2021.png differ diff --git a/assets/images/goods/iPhone13.png b/assets/images/goods/iPhone13.png new file mode 100644 index 0000000..0e4c7d5 Binary files /dev/null and b/assets/images/goods/iPhone13.png differ diff --git a/assets/images/goods/iPhone8.png b/assets/images/goods/iPhone8.png new file mode 100644 index 0000000..9683e9f Binary files /dev/null and b/assets/images/goods/iPhone8.png differ diff --git a/assets/images/goods/rOtring 800.png b/assets/images/goods/rOtring 800.png new file mode 100644 index 0000000..b8ba332 Binary files /dev/null and b/assets/images/goods/rOtring 800.png differ diff --git a/assets/img/logo/logo-black.png b/assets/images/logo/logo-black.png similarity index 100% rename from assets/img/logo/logo-black.png rename to assets/images/logo/logo-black.png diff --git a/assets/img/logo/logo-title-black.png b/assets/images/logo/logo-title-black.png similarity index 100% rename from assets/img/logo/logo-title-black.png rename to assets/images/logo/logo-title-black.png diff --git a/assets/img/logo/logo-title-white.png b/assets/images/logo/logo-title-white.png similarity index 100% rename from assets/img/logo/logo-title-white.png rename to assets/images/logo/logo-title-white.png diff --git a/assets/img/logo/logo-white.png b/assets/images/logo/logo-white.png similarity index 100% rename from assets/img/logo/logo-white.png rename to assets/images/logo/logo-white.png diff --git a/assets/img/logo/logo-word.png b/assets/images/logo/logo-word.png similarity index 100% rename from assets/img/logo/logo-word.png rename to assets/images/logo/logo-word.png diff --git a/assets/js/lazyload.iife.min.js b/assets/js/lazyload.iife.min.js new file mode 100755 index 0000000..afd8792 --- /dev/null +++ b/assets/js/lazyload.iife.min.js @@ -0,0 +1,151 @@ +// 使用 IIFE (Immediately Invoked Function Expression) 封装代码,防止全局变量污染 +var LazyLoad = (function() { + "use strict"; // 严格模式,提高代码安全性 + + // 判断是否在浏览器环境中执行 + const isBrowser = typeof window !== "undefined"; + + // 判断是否为低功能设备(如爬虫等) + const isBot = isBrowser && ( + !("onscroll" in window) || + typeof navigator !== "undefined" && + /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent) + ); + + // 判断是否为高分辨率设备 + const isHighDPI = isBrowser && window.devicePixelRatio > 1; + + // 默认配置 + const defaultSettings = { + elements_selector: ".lazy", // 要懒加载的元素选择器 + container: isBot || isBrowser ? document : null, // 滚动容器 + threshold: 300, // 触发加载的阈值 + data_src: "src", // 数据源属性名称 + data_srcset: "srcset", // 图片 srcset 属性 + data_sizes: "sizes", // 图片 sizes 属性 + class_applied: "applied", // 应用加载后的类名 + class_loading: "loading", // 正在加载的类名 + class_loaded: "loaded", // 加载完成的类名 + class_error: "error", // 加载错误的类名 + unobserve_completed: true, // 是否在加载完成后停止观察 + use_native: false, // 是否使用原生浏览器懒加载支持 + }; + + // 合并用户设置和默认设置 + const mergeSettings = (userSettings) => Object.assign({}, defaultSettings, userSettings); + + // 向外界发送 LazyLoad 初始化事件 + const triggerEvent = function(instance, name) { + let event; + const eventName = `LazyLoad::${name}`; + try { + event = new CustomEvent(eventName, { detail: { instance } }); + } catch (e) { + event = document.createEvent("CustomEvent"); + event.initCustomEvent(eventName, false, false, { instance }); + } + window.dispatchEvent(event); + }; + + // 用于处理图片的各种属性 + const setImageSrcAttributes = (element, settings) => { + const src = element.getAttribute(settings.data_src); + const srcset = element.getAttribute(settings.data_srcset); + const sizes = element.getAttribute(settings.data_sizes); + + if (sizes) element.setAttribute("sizes", sizes); + if (srcset) element.setAttribute("srcset", srcset); + if (src) element.setAttribute("src", src); + }; + + // 处理每个懒加载元素 + const loadElement = (element, settings, instance) => { + // 如果是图片,处理其 src, srcset 等属性 + if (element.tagName === "IMG") { + setImageSrcAttributes(element, settings); + } + + // 添加加载中的 class + element.classList.add(settings.class_loading); + + // 处理加载完成和错误的事件 + element.addEventListener("load", function() { + element.classList.remove(settings.class_loading); + element.classList.add(settings.class_loaded); + // 如果配置了 unobserve_completed,停止观察该元素 + if (settings.unobserve_completed && instance) { + instance.unobserve(element); + } + }); + + element.addEventListener("error", function() { + element.classList.remove(settings.class_loading); + element.classList.add(settings.class_error); + }); + }; + + // 构造函数,创建 LazyLoad 实例 + function LazyLoad(userSettings) { + this.settings = mergeSettings(userSettings); + this.observer = null; + this.init(); + triggerEvent(this, "Initialized"); + } + + // 初始化 LazyLoad + LazyLoad.prototype.init = function() { + if (isBot || !window.IntersectionObserver) { + // 如果是爬虫或不支持 IntersectionObserver,则直接加载所有元素 + this.loadAll(); + } else { + // 启动 IntersectionObserver 进行懒加载 + this.observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + const element = entry.target; + loadElement(element, this.settings, this); + this.observer.unobserve(element); // 加载完成后停止观察 + } + }); + }, { + root: this.settings.container === document ? null : this.settings.container, + rootMargin: `${this.settings.threshold}px`, + }); + + // 开始观察所有懒加载元素 + this.observeAll(); + } + }; + + // 加载所有元素(无观察) + LazyLoad.prototype.loadAll = function() { + const elements = document.querySelectorAll(this.settings.elements_selector); + elements.forEach((element) => loadElement(element, this.settings)); + }; + + // 开始观察所有懒加载元素 + LazyLoad.prototype.observeAll = function() { + const elements = document.querySelectorAll(this.settings.elements_selector); + elements.forEach((element) => { + this.observer.observe(element); + }); + }; + + // 停止观察指定元素 + LazyLoad.prototype.unobserve = function(element) { + if (this.observer) { + this.observer.unobserve(element); + } + }; + + // 销毁 LazyLoad 实例 + LazyLoad.prototype.destroy = function() { + if (this.observer) { + this.observer.disconnect(); + } + this.observer = null; + }; + + return LazyLoad; // 返回 LazyLoad 构造函数,供外界使用 +})(); + diff --git a/config/_default/config.toml b/config/_default/config.toml index 4b420f3..80f743a 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -2,7 +2,7 @@ # Refer to the theme docs for more details about each of these parameters. # https://blowfish.page/docs/getting-started/ -theme = "blowfish" # UNCOMMENT THIS LINE +theme = "blowfish" baseURL = "https://nand.fun/" defaultContentLanguage = "zh-cn" diff --git a/config/_default/languages.zh-cn.toml b/config/_default/languages.zh-cn.toml index 364080b..37bb233 100644 --- a/config/_default/languages.zh-cn.toml +++ b/config/_default/languages.zh-cn.toml @@ -1,5 +1,5 @@ languageCode = "zh-cn" -languageName = "中文" +languageName = "简体中文" weight = 1 title = "Nand Fun" diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml index 48d7312..54c1d22 100644 --- a/config/_default/menus.en.toml +++ b/config/_default/menus.en.toml @@ -16,70 +16,55 @@ pageRef = "posts" weight = 10 [[main]] -name = "About" -pageRef = "about" +name = "Goods" +pageRef = "goods" weight = 20 [[main]] -name = "History" -pageRef = "history" -weight = 20 +name = "Media" +url = "https://neodb.social/users/hza2002" +weight = 30 + +[[main]] +name = "About" +pageRef = "about" +weight = 97 [[main]] identifier = "github" pre = "github" url = "https://github.com/hza2002/nand" -weight = 30 - -#[[main]] -# name = "example sub-menu 1" -# parent = "Parent" -# pageRef = "posts" -# weight = 20 - -#[[main]] -# name = "example sub-menu 2" -# parent = "Parent" -# pageRef = "posts" -# weight = 20 - -#[[subnavigation]] -# name = "An interesting topic" -# pageRef = "tags/interesting-topic" -# weight = 10 - -#[[subnavigation]] -# name = "My Awesome Category" -# pre = "github" -# pageRef = "categories/awesome" -# weight = 20 - -#[[main]] -# name = "Categories" -# pageRef = "categories" -# weight = 20 - -#[[main]] -# name = "Tags" -# pageRef = "tags" -# weight = 30 +weight = 98 +[[main]] +pre = "rss" +url = "https://www.nand.fun/en/index.xml" +weight = 99 # -- Footer Menu -- # The footer menu is displayed at the bottom of the page, just before # the copyright notice. Configure as per the main menu above. [[footer]] +pre = "tag" name = "Tags" pageRef = "tags" weight = 10 [[footer]] +pre = "bars" name = "Categories" pageRef = "categories" weight = 20 [[footer]] -name = "Authors" -pageRef = "authors" -weight = 30 +pre = "circle-info" +name = "Status" +url = "https://stats.uptimerobot.com/71CFCySdtt" +weight = 60 + +[[footer]] +pre = "rss" +name = "RSS" +url = "https://www.nand.fun/en/index.xml" +weight = 99 diff --git a/config/_default/menus.zh-cn.toml b/config/_default/menus.zh-cn.toml index 7765047..50c2279 100644 --- a/config/_default/menus.zh-cn.toml +++ b/config/_default/menus.zh-cn.toml @@ -16,42 +16,55 @@ pageRef = "posts" weight = 10 [[main]] -name = "关于" -pageRef = "about" +name = "好物" +pageRef = "goods" weight = 20 [[main]] -name = "经验" -pageRef = "history" -weight = 20 +name = "书影音" +url = "https://neodb.social/users/hza2002" +weight = 30 + +[[main]] +name = "关于" +pageRef = "about" +weight = 97 [[main]] identifier = "github" pre = "github" url = "https://github.com/hza2002/nand" -weight = 30 +weight = 98 + +[[main]] +pre = "rss" +url = "https://www.nand.fun/index.xml" +weight = 99 # -- Footer Menu -- # The footer menu is displayed at the bottom of the page, just before # the copyright notice. Configure as per the main menu above. [[footer]] +pre = "tag" name = "标签" pageRef = "tags" weight = 10 [[footer]] +pre = "bars" name = "分类" pageRef = "categories" weight = 20 [[footer]] -name = "作者" -pageRef = "authors" -weight = 30 +pre = "circle-info" +name = "状态" +url = "https://stats.uptimerobot.com/71CFCySdtt" +weight = 60 [[footer]] pre = "rss" name = "RSS" -url = "https://www.eallion.com/rss" +url = "https://www.nand.fun/index.xml" weight = 99 diff --git a/config/_default/params.toml b/config/_default/params.toml index 9e0debd..f745026 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -6,7 +6,7 @@ # https://blowfish.page/docs/configuration/#theme-parameters colorScheme = "blowfish" -defaultAppearance = "dark" # valid options: light or dark +defaultAppearance = "dark" # valid options: light or dark autoSwitchAppearance = false enableSearch = true @@ -19,22 +19,22 @@ mainSections = ["posts"] disableImageOptimization = false disableTextInHeader = false -defaultBackgroundImage = "img/background.svg" -defaultFeaturedImage = "img/featured.svg" +defaultBackgroundImage = "images/background.svg" +defaultFeaturedImage = "images/featured.svg" highlightCurrentMenuArea = true smartTOC = true smartTOCHideUnfocusedChildren = false -logo = "img/logo/logo-title-white.png" -secondaryLogo = "img/logo/logo-title-black.png" +logo = "images/logo/logo-title-white.png" +secondaryLogo = "images/logo/logo-title-black.png" description = "New And Novel Discoveries" copyright = "© 2021 - { year } All Rights Reserved. 萌ICP备20246233号" [author] name = "按点下班" email = "hza2002@foxmail.com" -image = "img/author.png" +image = "images/author.png" imageQuality = 96 headline = "New And Novel Discoveries" bio = "Work to live, don't live to work" @@ -42,8 +42,8 @@ links = [ { email = "mailto:hza2002@foxmail.com" }, { github = "https://github.com/hza2002" }, { bilibili = "https://space.bilibili.com/437223130" }, - { x-twitter = "https://twitter.com/BillHza" }, { steam = "https://steamcommunity.com/id/hza2002" }, + { monkeytype = "https://monkeytype.com/profile/hza2002" }, { link = "https://nand.fun" }, ] @@ -66,7 +66,7 @@ showMoreLink = true showMoreLinkDest = "/posts/" cardView = true cardViewScreenWidth = false -layoutBackgroundBlur = true # only used when layout equals background +layoutBackgroundBlur = true # only used when layout equals background [article] showDate = true @@ -77,9 +77,9 @@ showDateUpdated = false showAuthor = true # showAuthorBottom = false showHero = true -heroStyle = "background" # valid options: basic, big, background, thumbAndBackground -layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground -layoutBackgroundHeaderSpace = true # only used when heroStyle equals background +heroStyle = "background" # valid options: basic, big, background, thumbAndBackground +layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground +layoutBackgroundHeaderSpace = true # only used when heroStyle equals background showBreadcrumbs = true showDraftLabel = true showEdit = true diff --git a/content/about/BudgetBuddy.png b/content/about/BudgetBuddy.png new file mode 100644 index 0000000..cc7d4c1 Binary files /dev/null and b/content/about/BudgetBuddy.png differ diff --git a/content/about/Digiwin.png b/content/about/Digiwin.png new file mode 100644 index 0000000..4676cc4 Binary files /dev/null and b/content/about/Digiwin.png differ diff --git a/content/about/MoonPhaseTracker.png b/content/about/MoonPhaseTracker.png new file mode 100644 index 0000000..e371652 Binary files /dev/null and b/content/about/MoonPhaseTracker.png differ diff --git a/content/about/Southwest_University.png b/content/about/Southwest_University.png new file mode 100644 index 0000000..0c4d69b Binary files /dev/null and b/content/about/Southwest_University.png differ diff --git a/content/about/SubwayRouteFinder.png b/content/about/SubwayRouteFinder.png new file mode 100644 index 0000000..ce97d91 Binary files /dev/null and b/content/about/SubwayRouteFinder.png differ diff --git a/content/about/VisionGuard.png b/content/about/VisionGuard.png new file mode 100644 index 0000000..bb08cf1 Binary files /dev/null and b/content/about/VisionGuard.png differ diff --git a/content/about/Wenzhou_Foreign_Language_School.jpeg b/content/about/Wenzhou_Foreign_Language_School.jpeg new file mode 100644 index 0000000..3a67a64 Binary files /dev/null and b/content/about/Wenzhou_Foreign_Language_School.jpeg differ diff --git a/content/about/Wenzhou_High_School.png b/content/about/Wenzhou_High_School.png new file mode 100644 index 0000000..ba2d685 Binary files /dev/null and b/content/about/Wenzhou_High_School.png differ diff --git a/content/about/WordWise.png b/content/about/WordWise.png new file mode 100644 index 0000000..6889588 Binary files /dev/null and b/content/about/WordWise.png differ diff --git a/content/about/iFlytek.jpg b/content/about/iFlytek.jpg new file mode 100644 index 0000000..9aade22 Binary files /dev/null and b/content/about/iFlytek.jpg differ diff --git a/content/about/index.en.md b/content/about/index.en.md new file mode 100755 index 0000000..696f3ce --- /dev/null +++ b/content/about/index.en.md @@ -0,0 +1,121 @@ +--- +title: "About" +date: 2024-09-25T01:05:34+08:00 +draft: false +description: All about the nerd from China that really geeks out to computers and full-stack development +--- + +I always try to squeeze in time for work and picking up new skills. Most of these *pet projects* of mine don’t end up seeing the light of day, to be honest. They are, however, great opportunities to try something in the real world and learn from it. + +--- + +## Projects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LogoLinkDescription
Owl{{< badge >}} active {{< /badge >}}Split wireless keyboard for comfort and flexibility.
Vision GuardAn Intelligent Monitoring and Security System.
Subway Route FinderA fast and convenient Chongqing subway route query system.
Budget BuddyPersonal finance manager: import WeChat/Alipay bills, analyze, generate reports.
Moon Phase TrackerExplore moon phases for any selected date.
Word WiseFile manager organizes text files by keyword-based topics.
+ +--- + +## Experience + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CompanyLinkRoleDatesLocation
DigiwinBackend Developer(Internship)2024.07 - 2024.10Nanjing, Jiangsu, China
iFlytekSoftware Developer(Internship)2024.03 - 2024.05Chongqing, China
+ +--- + +## Education + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SchoolLinkDegreeDate
Southwest UniversityBEng, Computer Science2021 - 2025
Wenzhou High SchoolHigh School Education2019 - 2021
Wenzhou Foreign Language SchoolMiddle School Education2017 - 2019
\ No newline at end of file diff --git a/content/about/index.zh-cn.md b/content/about/index.zh-cn.md new file mode 100755 index 0000000..e018766 --- /dev/null +++ b/content/about/index.zh-cn.md @@ -0,0 +1,122 @@ +--- +title: "关于" +date: 2024-09-25T01:05:34+08:00 +draft: false +description: All about the nerd from China that really geeks out to computers and full-stack development +showEdit: false +--- + +我总是尽力挤出时间工作和学习新技能。不过我的大多数*小项目*最终都没产生什么影响。然而,它们确实让我学到了不少,帮我在现实世界得到了更多机会。 + +--- + +## 项目经历 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
图标链接描述
Owl{{< badge >}} 活跃 {{< /badge >}}舒适灵活的分体式无线键盘
Vision Guard智能监控和安全系统
Subway Route Finder重庆地铁线路快捷查询系统
Budget Buddy财务管理器,导入微信/支付宝账单,分析生成报告
Moon Phase Tracker查询任何所选日期的月相
Word Wise通过基于关键词的主题来组织文本文件的文件管理器
+ +--- + +## 工作经验 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
公司网址职位任期地点
Digiwin后端开发(实习)2024.07 - 2024.10中国江苏南京
iFlytek软件开发(实习)2024.03 - 2024.05中国重庆
+ +--- + +## 教育经历 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
学校网址学位时期
西南大学计算机科学本科2021 - 2025
温州中学高中2019 - 2021
温州外国语学校初中2017 - 2019
\ No newline at end of file diff --git a/content/about/owl.png b/content/about/owl.png new file mode 100755 index 0000000..9307796 Binary files /dev/null and b/content/about/owl.png differ diff --git a/content/goods/_index.en.md b/content/goods/_index.en.md new file mode 100755 index 0000000..72dd424 --- /dev/null +++ b/content/goods/_index.en.md @@ -0,0 +1,18 @@ +--- +title: "Goods" +layout: "goods" +layoutBackgroundHeaderSpace: false +sharingLinks: false +showAuthor: false +showComments: false +showDate: false +showEdit: false +showPagination: false +showReadingTime: false +showRelatedContent: false +showTableOfContents: false +showWordCount: false +showZenMode: false +--- + +The various products that have left a deep impression on me through personal experience, some of which are still in use, while others may have already **met their end**, or have been **resold**, or have been discontinued for various reasons, but all of them are recorded here (in reverse order of acquisition), as a **cybernetic memorial hall** 😄. \ No newline at end of file diff --git a/content/goods/_index.zh-cn.md b/content/goods/_index.zh-cn.md new file mode 100755 index 0000000..4a48a47 --- /dev/null +++ b/content/goods/_index.zh-cn.md @@ -0,0 +1,18 @@ +--- +title: "好物分享" +layout: "goods" +layoutBackgroundHeaderSpace: false +showDate: false +showAuthor: false +showEdit: false +showPagination: false +showReadingTime: false +showRelatedContent: false +showWordCount: false +showComments: false +sharingLinks: false +showZenMode: false +showTableOfContents: false +--- + +亲身体验过的各类让我印象深刻的产品,有的产品还在使用,另一些可能已经**寿终正寝**,异或是**转手卖出**,也可能出于各种原因没有继续使用,但全部记录在此(按入手时间倒序),作为**赛博纪念馆**😄。 diff --git a/content/goods/background.jpg b/content/goods/background.jpg new file mode 100755 index 0000000..b86d59c Binary files /dev/null and b/content/goods/background.jpg differ diff --git a/content/posts/_index.en.md b/content/posts/_index.en.md new file mode 100755 index 0000000..039db52 --- /dev/null +++ b/content/posts/_index.en.md @@ -0,0 +1,15 @@ +--- +title: "Documentation" +description: "Learn how to use Blowfish and its features." + +cascade: + showDate: false + showAuthor: false + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Blowfish and its features. +{{< /lead >}} + +--- diff --git a/content/posts/getting-started/index.ja.md b/content/posts/getting-started/index.en.md similarity index 87% rename from content/posts/getting-started/index.ja.md rename to content/posts/getting-started/index.en.md index 25002c2..b82b184 100644 --- a/content/posts/getting-started/index.ja.md +++ b/content/posts/getting-started/index.en.md @@ -9,10 +9,6 @@ series: ["Documentation"] series_order: 3 --- -{{< alert >}} -This section assumes you have already [installed the Blowfish theme]({{< ref "docs/installation" >}}). -{{< /alert >}} -
{{< alert "fire" >}} We just launched a CLI tool to help you get started with Blowfish. It will help you with installation and configuration. Install the CLI tool globally using: @@ -60,8 +56,6 @@ links = [ The `[author]` configuration determines how the author information is displayed on the website. The image should be placed in the site's `assets/` folder. Links will be displayed in the order they are listed. -If you need extra detail, further information about each of these configuration options, is covered in the [Configuration]({{< ref "configuration" >}}) section. - ## Colour schemes Blowfish ships with a number of colour schemes out of the box. To change the scheme, simply set the `colorScheme` theme parameter. Valid options are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, and`slate`. @@ -117,7 +111,6 @@ Blowfish defines a three-colour palette that is used throughout the theme. Each {{< swatches "#6B7280" "#64748b" "#6B7280" >}} -Although these are the default schemes, you can also create your own. Refer to the [Advanced Customisation]({{< ref "advanced-customisation#colour-schemes" >}}) section for details. ## Organising content @@ -201,7 +194,6 @@ The `name` parameter specifies the text that is used in the menu link. You can a The `pageRef` parameter allows you to easily reference Hugo content pages and taxonomies. It is the quickest way to configure the menu as you can simply refer to any Hugo content item and it will automatically build the correct link. To link to external URLs, the `url` parameter can be used. -The `pre` parameter allows you to place an icon from [Blowfish's icon set]({{< ref "samples/icons" >}}) on the menu entry. This parameter can be used with `name` parameter or by itself. If you want to use multiple menu entries with just icons please set the `identifier`parameter otherwise Hugo will default to the naming tag as the id and probably not display all the menu entries. Menu links will be sorted from lowest to highest `weight`, and then alphabetically by `name`. @@ -261,12 +253,9 @@ The default `name` is the `pageRef` title cased. ## Thumbnails & Backgrounds -Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article structure, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then be able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. +Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article structure, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then be able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. -[Here]({{< ref "thumbnails" >}}) is also a guide with more info and a [sample]({{< ref "thumbnail_sample" >}}) if you want to see how you can do it. Additionally, Blowfish also supports background hero images in articles and lists. In order to use a different image than the featured one, add an image file in which the name starts with `background*`. ## Detailed configuration - -The steps above are the bare minimum configuration. If you now run `hugo server` you will be presented with a blank Blowfish website. Detailed configuration is covered in the [Configuration]({{< ref "configuration" >}}) section. diff --git a/content/posts/getting-started/index.it.md b/content/posts/getting-started/index.it.md deleted file mode 100644 index cb20912..0000000 --- a/content/posts/getting-started/index.it.md +++ /dev/null @@ -1,276 +0,0 @@ ---- -title: "Per iniziare" -weight: 3 -draft: false -description: "Tutte le variabili del front matter sono disponibili in Blowfish." -slug: "per-iniziare" -tags: ["installazione", "documenti"] -series: ["Documentazione"] -series_order: 3 ---- - -{{< alert >}} -Questa sezione presuppone che tu abbia già [installato il tema Blowfish]({{< ref "docs/installation" >}}). -{{< /alert >}} - -
-{{< alert "fire" >}} -Abbiamo appena lanciato uno strumento CLI per aiutarvi a iniziare con Blowfish. Vi aiuterà con l'installazione e la configurazione. Installate lo strumento CLI a livello globale utilizzando: -```bash -npx blowfish-tools -``` -{{< /alert >}} - - -I file di configurazione forniti con Blowfish contengono tutte le possibili impostazioni riconosciute dal tema. Per impostazione predefinita, molti di questi sono commentati ma puoi semplicemente decommentarli per attivare o modificare una funzionalità specifica. - -## Configurazione di base - -Prima di creare qualsiasi contenuto, è necessario impostare alcune cose per una nuova installazione. Iniziando dal file `config.toml`, imposta i parametri `baseURL` e `lingualCode`. Il `lingualCode` dovrebbe essere impostato sulla lingua principale che utilizzerai per creare i tuoi contenuti. -======= - -```toml -# config/_default/hugo.toml - -baseURL = "https://your_domain.com/" -languageCode = "en" -``` - -Il passo successivo è configurare le impostazioni della lingua. Sebbene Blowfish supporti le configurazioni multilingue, per ora basta configurare la lingua principale. - -Individua il file "languages.en.toml" nella cartella di configurazione. Se la tua lingua principale è l'inglese puoi utilizzare questo file così com'è. Altrimenti, rinominalo in modo che includa il codice della lingua corretto nel nome del file. Ad esempio, per il francese, rinominare il file in "languages.fr.toml". - -{{< alert >}} - -Tieni presente che il codice della lingua nel nome del file di configurazione della lingua deve corrispondere all'impostazione "languageCode" in "config.toml". - -{{< /alert >}} - -```toml -# config/_default/languages.en.toml - -title = "My awesome website" - -[author] -name = "My name" -image = "img/author.jpg" -headline = "A generally awesome human" -bio = "A little bit about me" -links = [ - { twitter = "https://twitter.com/username" } -] -``` -La configurazione `[author]` determina il modo in cui le informazioni sull'autore vengono visualizzate sul sito web. L'immagine deve essere posizionata nella cartella `assets/`. I link verranno visualizzati nell'ordine in cui sono elencati. - -Se hai bisogno di ulteriori dettagli, ulteriori informazioni su ciascuna di queste opzioni di configurazione sono trattate nella sezione [Configurazione]({{< ref "configuration" >}}). - -## Schemi di colori - -Blowfish viene fornito con una serie di schemi di colori già pronti. Per cambiare lo schema, è sufficiente impostare il parametro del tema `colorScheme`. Le opzioni valide sono `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, and`slate`. - -```toml -# config/_default/params.toml - -colorScheme = "blowfish" -``` -Blowfish definisce una palette di tre colori che viene utilizzata in tutto il tema. Ogni colore principale contiene dieci sfumature basate sui colori inclusi in [Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). I tre colori principali sono utilizzati per l'intestazione, il piè di pagina e i colori d'accento. Ecco i colori per ogni schema: - -#### Blowfish (default) -{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} - -#### Avocado -{{< swatches "#78716c" "#84cc16" "#10b981" >}} - -#### Fire -{{< swatches "#78716c" "#f97316" "#f43f5e" >}} - -#### Ocean -{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} - -#### Forest -{{< swatches "#658c86" "#3bf5df" "#06d45c" >}} - -#### Princess -{{< swatches "#8c658c" "#f53bf2" "#7706d4" >}} - -#### Neon -{{< swatches "#8338ec" "#ff006e" "#3a86ff" >}} - -#### Bloody -{{< swatches "#d90429" "#8d99ae" "#457b9d" >}} - -#### Terminal -{{< swatches "#004b23" "#38b000" "#1a759f" >}} - -#### Marvel -{{< swatches "#2541b2" "#d81159" "#ffbc42" >}} - -#### Noir -{{< swatches "#5c6b73" "#9db4c0" "#00a5cf" >}} - -#### Autumn -{{< swatches "#0a9396" "#ee9b00" "#bb3e03" >}} - -#### Congo -{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} - -#### Slate -{{< swatches "#6B7280" "#64748b" "#6B7280" >}} - - -Sebbene questi siano gli schemi predefiniti, è possibile crearne di propri. Per maggiori informazioni, consultare la sezione [Personalizzazione avanzata]({{< ref "advanced-customisation#colour-schemes" >}}). - -## Organizzazione dei contenuti - -Per impostazione predefinita, Blowfish non obbliga a utilizzare un particolare tipo di contenuto. In questo modo si è liberi di definire il contenuto come si desidera. Potreste preferire _pages_ per un sito statico, _posts_ per un blog o _projects_ per un portfolio. - -Ecco una rapida panoramica di un progetto base di Blowfish. Tutti i contenuti sono inseriti nella cartella `content`: - -```shell -. -├── assets -│ └── img -│ └── author.jpg -├── config -│ └── _default -├── content -│ ├── _index.md -│ ├── about.md -│ └── posts -│ ├── _index.md -│ ├── first-post.md -│ └── another-post -│ ├── aardvark.jpg -│ └── index.md -└── themes - └── blowfish -``` -È importante avere una conoscenza approfondita di come Hugo si aspetta che il contenuto sia organizzato, poiché il tema è progettato per sfruttare appieno i pacchetti di pagine di Hugo. Si consiglia di leggere i [documentazione ufficiale di Hugo](https://gohugo.io/content-management/organization/) per maggiori informazioni. - - -Blowfish è flessibile anche per quanto riguarda le tassonomie. Alcuni preferiscono usare _tags_ e _categories_ per raggruppare i loro contenuti, altri preferiscono usare _topics_. - -Hugo usa di default post, tag e categorie e questo funziona bene se è quello che vuoi. Tuttavia, se desideri personalizzare questo aspetto, è possibile farlo creando un file di configurazione `taxonomies.toml`: - -```toml -# config/_default/taxonomies.toml - -topic = "topics" -``` - -Sostituirà i predefiniti _tags_ e _categorie_ con _topics_. Fare riferimento a [Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/) per ulteriori informazioni sulla denominazione delle tassonomie. - -Quando crei una nuova tassonomia, è necessario sistemare i collegamenti di navigazione sul sito web per puntare alle sezioni corrette, come spiegato di seguito. - -## Menu - -Blowfish dispone di due menu che possono essere personalizzati per adattarsi al contenuto e al layout del sito. Il menu `main` appare nell'intestazione del sito e il menu `footer` appare in fondo alla pagina, appena sopra la nota di copyright. - -Entrambi i menu sono configurati nel file `menus.en.toml`. Simile al file di configurazione delle lingue, se desideri utilizzare un'altra lingua, rinomina questo file e sostituisci `en` con il codice della lingua che si vuole utilizzare. - - -```toml -# config/_default/menus.toml - -[[main]] - name = "Blog" - pageRef = "posts" - weight = 10 - -[[main]] - name = "Topics" - pageRef = "topics" - weight = 20 - -[[main]] - pre = "github" - name = "GitHub" - url = "https://github.com/nunocoracao/blowfish" - weight = 30 - -[[main]] - identifier = "github2" - pre = "github" - url = "https://github.com/nunocoracao/blowfish" - weight = 40 - -[[footer]] - name = "Privacy" - url = "https://external-link" -``` - -Il parametro `name` specifica il testo utilizzato nel collegamento al menu. Si può anche fornire facoltativamente un `title` che riempie l'attributo HTML title per il collegamento. - -Il parametro `pageRef` consente di fare facilmente riferimento alle pagine di contenuto e alle tassonomie di Hugo. È il modo più rapido per configurare il menu, in quanto è sufficiente fare riferimento a qualsiasi elemento di contenuto di Hugo per creare automaticamente il collegamento corretto. Per collegarsi a URL esterni, si può usare il parametro `url`. - -Il parametro `pre` consente di inserire un'icona dal [Set di icone di Blowfish] ({{< ref "samples/icons" >}}) nella voce di menu. Questo parametro può essere usato con il parametro `name` o da solo. Se si vogliono usare più voci di menu con le sole icone, imposta il parametro `identifier`, altrimenti Hugo sceglierà come id il tag di denominazione e probabilmente non visualizzerà tutte le voci di menu. - -I collegamenti al menu saranno ordinati dal più basso al più alto `peso`, e poi in ordine alfabetico per `name`. - -Entrambi i menu sono completamente opzionali e possono essere commentati se non sono necessari. Utilizzare il modello fornito nel file come guida. - -### Nested Menu - -Il tema supporta anche i menu nidificati. Per usarli devi solo definire una voce genitore in `menu.toml` e i suoi sottomenu utilizzando il parametro `parent` per fare riferimento al genitore. Tutte le proprietà possono essere utilizzate per i sottomenu. `pageRef` e `url` possono essere utilizzati anche nella voce principale. I menu nidificati sono disponibili solo nel menu principale e non nel footer. - - -```toml -# config/_default/menus.toml - -[[main]] - name = "Parent" - weight = 20 - -[[main]] - name = "sub-menu 1" - parent = "Parent" - pageRef = "samples" - weight = 20 - -[[main]] - name = "sub-menu 2" - parent = "Parent" - pageRef = "samples" - weight = 20 - -[[main]] - name = "sub-menu 3" - parent = "Parent" - pre = "github" - pageRef = "samples" - weight = 20 -``` - -### Menu di navigazione secondario - -Inoltre, è possibile configurare un menu di sotto-navigazione. Basta definire nuove voci di menu come `subnavigation` in `menus.toml`. -Questo renderà una seconda riga con le sottocategorie sotto il menu principale dell'intestazione. - -```toml -# config/_default/menus.toml - -[[subnavigation]] - name = "An interesting topic" - pageRef = "tags/interesting-topic" - weight = 10 - -[[subnavigation]] - name = "My Awesome Category" - pageRef = "categories/awesome" - weight = 20 -``` - -Il `name` predefinito è il titolo di `pageRef`, con le caselle. - -## Thumbnails & Backgrounds - -Blowfish è stato creato in modo che sia facile aggiungere supporto visivo ai tuoi articoli. Se hai familiarità con la struttura degli articoli di Hugo, devi solo inserire un file immagine (quasi tutti i formati sono supportati ma consigliamo `.png` o `.jpg`) che inizi con `feature*` all'interno della cartella dell'articolo. E questo è tutto, Blowfish sarà quindi in grado di utilizzare l'immagine sia come miniatura all'interno del tuo sito web sia per le schede oEmbed attraverso le piattaforme social. - -[Qui]({{< ref "thumbnails" >}}) è anche una guida con maggiori informazioni e un [esempio]({{< ref "thumbnail_sample" >}}) se vuoi vedere come puoi farlo. - -Additionally, Blowfish also supports background hero images in articles and lists. In order to use a different image than the featured one, add an image file in which the name starts with `background*`. -Inoltre, Blowfish supporta anche una background hero image in articoli ed elenchi. Per utilizzare un'immagine diversa da quella in primo piano, aggiungi un file immagine il cui nome inizia con `background*`. - -## Dettagli di configurazione - -I passaggi precedenti rappresentano la configurazione minima. Se ora esegui `hugo server` ti verrà presentato un sito web Blowfish vuoto. La configurazione dettagliata è trattata nella sezione [Configurazione]({{< ref "configuration" >}}). diff --git a/content/posts/getting-started/index.md b/content/posts/getting-started/index.md deleted file mode 100644 index 25002c2..0000000 --- a/content/posts/getting-started/index.md +++ /dev/null @@ -1,272 +0,0 @@ ---- -title: "Getting Started" -weight: 3 -draft: false -description: "All the front matter variables available in Blowfish." -slug: "getting-started" -tags: ["installation", "docs"] -series: ["Documentation"] -series_order: 3 ---- - -{{< alert >}} -This section assumes you have already [installed the Blowfish theme]({{< ref "docs/installation" >}}). -{{< /alert >}} - -
-{{< alert "fire" >}} -We just launched a CLI tool to help you get started with Blowfish. It will help you with installation and configuration. Install the CLI tool globally using: -```bash -npx blowfish-tools -``` -{{< /alert >}} - - -The config files that ship with Blowfish contain all of the possible settings that the theme recognises. By default, many of these are commented out but you can simply uncomment them to activate or change a specific feature. - -## Basic configuration - -Before creating any content, there are a few things you should set for a new installation. Starting in the `hugo.toml` file, set the `baseURL` and `languageCode` parameters. The `languageCode` should be set to the main language that you will be using to author your content. - -```toml -# config/_default/hugo.toml - -baseURL = "https://your_domain.com/" -languageCode = "en" -``` - -The next step is to configure the language settings. Although Blowfish supports multilingual setups, for now, just configure the main language. - -Locate the `languages.en.toml` file in the config folder. If your main language is English you can use this file as is. Otherwise, rename it so that it includes the correct language code in the filename. For example, for French, rename the file to `languages.fr.toml`. - -{{< alert >}} -Note that the language code in the language config filename should match the `languageCode` setting in `hugo.toml`. -{{< /alert >}} - -```toml -# config/_default/languages.en.toml - -title = "My awesome website" - -[author] -name = "My name" -image = "img/author.jpg" -headline = "A generally awesome human" -bio = "A little bit about me" -links = [ - { twitter = "https://twitter.com/username" } -] -``` - -The `[author]` configuration determines how the author information is displayed on the website. The image should be placed in the site's `assets/` folder. Links will be displayed in the order they are listed. - -If you need extra detail, further information about each of these configuration options, is covered in the [Configuration]({{< ref "configuration" >}}) section. - -## Colour schemes - -Blowfish ships with a number of colour schemes out of the box. To change the scheme, simply set the `colorScheme` theme parameter. Valid options are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, and`slate`. - -```toml -# config/_default/params.toml - -colorScheme = "blowfish" -``` - -Blowfish defines a three-colour palette that is used throughout the theme. Each main colour contains ten shades which are based upon the colours that are included in [Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). The three main colours are used for the header, footer, and accent colours. Here are the colors for each scheme: - -#### Blowfish (default) -{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} - -#### Avocado -{{< swatches "#78716c" "#84cc16" "#10b981" >}} - -#### Fire -{{< swatches "#78716c" "#f97316" "#f43f5e" >}} - -#### Ocean -{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} - -#### Forest -{{< swatches "#658c86" "#3bf5df" "#06d45c" >}} - -#### Princess -{{< swatches "#8c658c" "#f53bf2" "#7706d4" >}} - -#### Neon -{{< swatches "#8338ec" "#ff006e" "#3a86ff" >}} - -#### Bloody -{{< swatches "#d90429" "#8d99ae" "#457b9d" >}} - -#### Terminal -{{< swatches "#004b23" "#38b000" "#1a759f" >}} - -#### Marvel -{{< swatches "#2541b2" "#d81159" "#ffbc42" >}} - -#### Noir -{{< swatches "#5c6b73" "#9db4c0" "#00a5cf" >}} - -#### Autumn -{{< swatches "#0a9396" "#ee9b00" "#bb3e03" >}} - -#### Congo -{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} - -#### Slate -{{< swatches "#6B7280" "#64748b" "#6B7280" >}} - - -Although these are the default schemes, you can also create your own. Refer to the [Advanced Customisation]({{< ref "advanced-customisation#colour-schemes" >}}) section for details. - -## Organising content - -By default, Blowfish doesn't force you to use a particular content type. In doing so you are free to define your content as you wish. You might prefer _pages_ for a static site, _posts_ for a blog, or _projects_ for a portfolio. - -Here's a quick overview of a basic Blowfish project. All content is placed within the `content` folder: - -```shell -. -├── assets -│ └── img -│ └── author.jpg -├── config -│ └── _default -├── content -│ ├── _index.md -│ ├── about.md -│ └── posts -│ ├── _index.md -│ ├── first-post.md -│ └── another-post -│ ├── aardvark.jpg -│ └── index.md -└── themes - └── blowfish -``` - -It's important to have a firm grasp of how Hugo expects content to be organised as the theme is designed to take full advantage of Hugo page bundles. Be sure to read the [official Hugo docs](https://gohugo.io/content-management/organization/) for more information. - -Blowfish is also flexible when it comes to taxonomies. Some people prefer to use _tags_ and _categories_ to group their content, others prefer to use _topics_. - -Hugo defaults to using posts, tags and categories out of the box and this will work fine if that's what you want. If you wish to customise this, however, you can do so by creating a `taxonomies.toml` configuration file: - -```toml -# config/_default/taxonomies.toml - -topic = "topics" -``` - -This will replace the default _tags_ and _categories_ with _topics_. Refer to the [Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/) for more information on naming taxonomies. - -When you create a new taxonomy, you will need to adjust the navigation links on the website to point to the correct sections, which is covered below. - -## Menus - -Blowfish has two menus that can be customised to suit the content and layout of your site. The `main` menu appears in the site header and the `footer` menu appears at the bottom of the page just above the copyright notice. - -Both menus are configured in the `menus.en.toml` file. Similarly to the languages config file, if you wish to use another language, rename this file and replace `en` with the language code you wish to use. - -```toml -# config/_default/menus.toml - -[[main]] - name = "Blog" - pageRef = "posts" - weight = 10 - -[[main]] - name = "Topics" - pageRef = "topics" - weight = 20 - -[[main]] - pre = "github" - name = "GitHub" - url = "https://github.com/nunocoracao/blowfish" - weight = 30 - -[[main]] - identifier = "github2" - pre = "github" - url = "https://github.com/nunocoracao/blowfish" - weight = 40 - -[[footer]] - name = "Privacy" - url = "https://external-link" -``` - -The `name` parameter specifies the text that is used in the menu link. You can also optionally provide a `title` which fills the HTML title attribute for the link. - -The `pageRef` parameter allows you to easily reference Hugo content pages and taxonomies. It is the quickest way to configure the menu as you can simply refer to any Hugo content item and it will automatically build the correct link. To link to external URLs, the `url` parameter can be used. - -The `pre` parameter allows you to place an icon from [Blowfish's icon set]({{< ref "samples/icons" >}}) on the menu entry. This parameter can be used with `name` parameter or by itself. If you want to use multiple menu entries with just icons please set the `identifier`parameter otherwise Hugo will default to the naming tag as the id and probably not display all the menu entries. - -Menu links will be sorted from lowest to highest `weight`, and then alphabetically by `name`. - -Both menus are completely optional and can be commented out if not required. Use the template provided in the file as a guide. - -### Nested menus - -The theme also supports nested menus. In order to use them you just need to define a parent entry in `menu.toml` and its sub-menus using the `parent` parameter to reference the parent. All properties can be used for sub-menus. `pageRef` and `url` can also be used in the parent entry. Nested menus are only available in the main menu not for the footer. - -```toml -# config/_default/menus.toml - -[[main]] - name = "Parent" - weight = 20 - -[[main]] - name = "sub-menu 1" - parent = "Parent" - pageRef = "samples" - weight = 20 - -[[main]] - name = "sub-menu 2" - parent = "Parent" - pageRef = "samples" - weight = 20 - -[[main]] - name = "sub-menu 3" - parent = "Parent" - pre = "github" - pageRef = "samples" - weight = 20 -``` - -### Sub-Navigation menu - -Additionally, you can also configure a sub-navigation menu. Just define new menu entries as `subnavigation` in `menus.toml`. -This will render a second line with sub-categories below the main header menu. - -```toml -# config/_default/menus.toml - -[[subnavigation]] - name = "An interesting topic" - pageRef = "tags/interesting-topic" - weight = 10 - -[[subnavigation]] - name = "My Awesome Category" - pageRef = "categories/awesome" - weight = 20 -``` - -The default `name` is the `pageRef` title cased. - -## Thumbnails & Backgrounds - -Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article structure, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then be able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. - -[Here]({{< ref "thumbnails" >}}) is also a guide with more info and a [sample]({{< ref "thumbnail_sample" >}}) if you want to see how you can do it. - -Additionally, Blowfish also supports background hero images in articles and lists. In order to use a different image than the featured one, add an image file in which the name starts with `background*`. - -## Detailed configuration - -The steps above are the bare minimum configuration. If you now run `hugo server` you will be presented with a blank Blowfish website. Detailed configuration is covered in the [Configuration]({{< ref "configuration" >}}) section. diff --git a/content/posts/shortcodes/index.md b/content/posts/shortcodes/index.en.md similarity index 97% rename from content/posts/shortcodes/index.md rename to content/posts/shortcodes/index.en.md index 9747daf..aea5958 100644 --- a/content/posts/shortcodes/index.md +++ b/content/posts/shortcodes/index.en.md @@ -184,7 +184,6 @@ data: { {{< /chart >}} -You can see some additional Chart.js examples on the [charts samples]({{< ref "charts" >}}) page.


@@ -407,7 +406,7 @@ In order to add images to the gallery, use `img` tags for each image and add `cl ## GitLab Card -`gitlab` allows you to quickly link a GitLab Project (GitLab's jargon for repo). +`gitlab` allows you to quickly link a GitLab Project (GitLab's jargon for repo). It displays realtime stats about it, such as the number of stars and forks it has. Unlike `github` it can't display the main programming language of a project. Finally, custom GitLab instance URL can be provided, as long as the `api/v4/projects/` endpoint is available, making this shortcode compatible with most self-hosted / enterprise deployments. @@ -441,12 +440,9 @@ Finally, custom GitLab instance URL can be provided, as long as the `api/v4/proj **Output:** {{< icon "github" >}} -Icons are populated using Hugo pipelines which makes them very flexible. Blowfish includes a number of built-in icons for social, links and other purposes. Check the [icon samples]({{< ref "samples/icons" >}}) page for a full list of supported icons. Custom icons can be added by providing your own icon assets in the `assets/icons/` directory of your project. The icon can then be referenced in the shortcode by using the SVG filename without the `.svg` extension. -Icons can also be used in partials by calling the [icon partial]({{< ref "partials#icon" >}}). -


## KaTeX @@ -467,7 +463,6 @@ Inline notation can be generated by wrapping the expression in `\\(` and `\\)` d {{< katex >}} \\(f(a,b,c) = (a^2+b^2+c^2)^3\\) -Check out the [mathematical notation samples]({{< ref "mathematical-notation" >}}) page for more examples.


@@ -529,7 +524,7 @@ When life gives you lemons, make lemonade. When life gives you lemons, make lemonade. {{< /lead >}} -


+


## List @@ -568,7 +563,7 @@ The `where` and `value` values are used in the following query `where .Site.Regu


-## LTR/RTL +## LTR/RTL `ltr` and `rtl` allows you to mix your contents. Many RTL language users want to include parts of the content in LTR. Using this shortcode will let you do so, and by leveraging `%` as the outer-most dilemeter in the shortcode [Hugo shortcodes](https://gohugo.io/content-management/shortcodes/#shortcodes-with-markdown), any markdown inside will be rendered normally. @@ -641,7 +636,6 @@ A[Lemons]-->B[Lemonade]; B-->C[Profit] {{< /mermaid >}} -You can see some additional Mermaid examples on the [diagrams and flowcharts samples]({{< ref "diagrams-flowcharts" >}}) page.


@@ -681,7 +675,7 @@ The `timeline` creates a visual timeline that can be used in different use-cases {{}} {{}} -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. {{}} @@ -718,7 +712,7 @@ With other shortcodes {{< timeline >}} {{< timelineItem icon="github" header="header" badge="badge test" subheader="subheader" >}} -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non magna ex. Donec sollicitudin ut lorem quis lobortis. Nam ac ipsum libero. Sed a ex eget ipsum tincidunt venenatis quis sed nisl. Pellentesque sed urna vel odio consequat tincidunt id ut purus. Nam sollicitudin est sed dui interdum rhoncus. {{}} @@ -776,7 +770,7 @@ Blowfish implements a sub-set of TypeIt features using a `shortcode`. Write your ```md {{}} -Lorem ipsum dolor sit amet +Lorem ipsum dolor sit amet {{}} ``` @@ -787,12 +781,12 @@ Lorem ipsum dolor sit amet **Example 2:** ```md -{{}} -Lorem ipsum dolor sit amet, -consectetur adipiscing elit. +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. {{}} ``` @@ -807,7 +801,7 @@ consectetur adipiscing elit. **Example 3:** ```md -{{ +
+ {{ if .Params.showHero | default (.Site.Params.article.showHero | default false) }} + {{ $heroStyle := .Params.heroStyle }} + {{ if not $heroStyle }}{{ $heroStyle = .Site.Params.article.heroStyle }}{{ end }} + {{ $heroStyle := print "partials/hero/" $heroStyle ".html" }} + {{ if templates.Exists $heroStyle }} + {{ partial $heroStyle . }} + {{ else }} + {{ partial "partials/hero/basic.html" . }} + {{ end }} + {{ end }} +
+ {{ if .Params.showBreadcrumbs | default (.Site.Params.article.showBreadcrumbs | default false) }} + {{ partial "breadcrumbs.html" . }} + {{ end }} +

+ {{ .Title }} +

+
+ {{ partial "article-meta/basic.html" (dict "context" . "scope" "single") }} +
+
+
+
+
+ {{ .Content }} +
+ {{ range sort $goods.good "source" "desc" }} + {{ $goodsSrc := .image }} + {{ $goodsSrc := printf "images/goods/%s" $goodsSrc }} + {{ $title := .title }} +
+
+ {{ with resources.Get $goodsSrc }} +
+ {{ $title }} +
+ {{ end }} +
+
+
{{ .price }}
+ {{ if and .source (not (eq .source "")) }} +
{{ .source }}
+ {{ end }} +
+ +
+ {{ if eq $.Site.Language.Lang "en" }} + {{ (.note_en | default .note | default "") | safeHTML }} + {{ else }} + {{ (.note | default .note_en | default "") | safeHTML }} + {{ end }} +
+
+ {{ end }} +
+
+
+
+
+{{ $lazyloadJS := resources.Get "js/lazyload.iife.min.js" | minify | fingerprint "sha256" }} + + +{{ end }} \ No newline at end of file