diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 44864ba..2c07903 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -47,7 +47,7 @@ jobs: # Install Tailwind CLI if package.json exists if [ -f "package.json" ]; then echo "Installing Tailwind dependencies..." - pnpm install || npm install + pnpm install --no-frozen-lockfile || npm install fi - name: Setup Hugo diff --git a/README.md b/README.md index 7f73e9d..90a8b4b 100644 --- a/README.md +++ b/README.md @@ -121,5 +121,4 @@ Join thousands of creators in our vibrant community to ask questions, share your MIT © 2016-Present [George Cushen](https://georgecushen.com) - diff --git a/config/_default/hugo.yaml b/config/_default/hugo.yaml index 459e4f3..16c633f 100644 --- a/config/_default/hugo.yaml +++ b/config/_default/hugo.yaml @@ -3,8 +3,8 @@ # Hugo Documentation: https://gohugo.io/getting-started/configuration/#all-configuration-settings # This file is formatted using YAML syntax - learn more at https://learnxinyminutes.com/docs/yaml/ -# Website name -title: Hugo Academic CV Theme +# Website name (set in params.yaml under hugoblox.branding.name) +title: '' # Website URL baseURL: 'https://example.com/' @@ -30,7 +30,7 @@ pagination: enableEmoji: true enableRobotsTXT: true footnotereturnlinkcontents: ^ -ignoreFiles: [\.ipynb$, .ipynb_checkpoints$, \.Rmd$, \.Rmarkdown$, _cache$] +ignoreFiles: [".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "_cache$"] disableAliases: true outputs: home: [HTML, RSS, headers, redirects, backlinks] diff --git a/config/_default/params.yaml b/config/_default/params.yaml index 79a6d82..7dcd2b8 100644 --- a/config/_default/params.yaml +++ b/config/_default/params.yaml @@ -3,19 +3,73 @@ # Documentation: https://docs.hugoblox.com/ # This file is formatted using YAML syntax - learn more at https://learnxinyminutes.com/docs/yaml/ -# Appearance -appearance: - mode: system - color: indigo +# ============================================================================== +# HUGO BLOX CONFIGURATION +# ============================================================================== +hugoblox: + # ──────────────────────────────────────────────────────────────────────────── + # BRANDING + # Your site's identity - used in navbar, footer, SEO, and copyright + # ──────────────────────────────────────────────────────────────────────────── + branding: + # Display name shown in navbar and general site display + name: "Your Name" + # Optional: Browser tab title (defaults to name if not set) + # site_title: "Your Name | Research" + # Optional: Legal/copyright entity (defaults to name if not set) + # organization: "Your Full Legal Name" -# SEO + # ──────────────────────────────────────────────────────────────────────────── + # THEME + # Controls colors and appearance + # ──────────────────────────────────────────────────────────────────────────── + theme: + # Mode: 'light', 'dark', or 'system' (follows OS preference) + mode: system + # Theme pack: name from data/themes/ or { light: "x", dark: "y" } for mix-and-match + pack: "default" + # Optional: Override theme pack colors + # colors: + # primary: "indigo" # Tailwind palette name or hex (e.g., "#6366f1") + # secondary: "emerald" + # neutral: "stone" # Affects gray utilities (text-gray-*, bg-gray-*) + + # ──────────────────────────────────────────────────────────────────────────── + # TYPOGRAPHY + # Controls fonts and text sizing + # ──────────────────────────────────────────────────────────────────────────── + typography: + # Font: 'sans' (Inter), 'serif' (Roboto Slab), or 'native' (system fonts) + font: "sans" + # Size: 'sm', 'md', 'lg', or 'xl' (affects base font size and scale) + size: "md" + + # ──────────────────────────────────────────────────────────────────────────── + # LAYOUT + # Controls spacing and visual structure + # ──────────────────────────────────────────────────────────────────────────── + layout: + # Border radius: 'none', 'sm', 'md', 'lg', or 'full' + radius: "md" + # Spacing density: 'compact', 'comfortable', or 'spacious' + spacing: "comfortable" + +# ============================================================================== +# SEO & MARKETING +# ============================================================================== marketing: seo: site_type: Person local_business_type: '' - org_name: '' description: 'The highly-customizable Hugo Academic theme powered by Hugo Blox Builder. Easily create your personal academic website.' - twitter: 'GetResearchDev' + twitter: 'BuildLore' + llm: + allow: + - / + disallow: [] + note: 'Guidance for AI crawlers - customize to match your public content.' + contact: '' + policy_url: '' analytics: google_analytics: '' baidu_tongji: '' @@ -26,33 +80,41 @@ marketing: google: '' baidu: '' -# Site header +# ============================================================================== +# SITE HEADER +# ============================================================================== header: navbar: enable: true block: 'navbar' fixed_to_top: true show_search: true - show_theme_chooser: true - logo: - text: 'Your Name' + show_mode_toggle: true + show_theme_picker: true -# Site footer +# ============================================================================== +# SITE FOOTER +# ============================================================================== footer: copyright: - notice: '© {year} Me. This work is licensed under {license}' + # Use {year} for current year, {name} for branding.organization, {license} for CC license link + notice: '© {year} {name}. This work is licensed under {license}' license: enable: true allow_derivatives: false share_alike: true allow_commercial: false -# Localization +# ============================================================================== +# LOCALIZATION +# ============================================================================== locale: date_format: 'Jan 2, 2006' time_format: '3:04 PM' -# Site features +# ============================================================================== +# SITE FEATURES +# ============================================================================== features: math: enable: false diff --git a/content/_index.md b/content/_index.md index ae9488f..b0d60a6 100644 --- a/content/_index.md +++ b/content/_index.md @@ -23,8 +23,11 @@ sections: education: '' interests: '' design: - # Apply a gradient background - css_class: hbx-bg-gradient + # Use the new Gradient Mesh which automatically adapts to the selected theme colors + background: + gradient_mesh: + enable: true + # Avatar customization avatar: size: medium # Options: small (150px), medium (200px, default), large (320px), xl (400px), xxl (500px) @@ -80,7 +83,7 @@ sections: # Page type to display. E.g. post, talk, publication... page_type: blog # Choose how many pages you would like to display (0 = all pages) - count: 5 + count: 10 # Filter on criteria filters: author: '' diff --git a/content/authors/admin/_index.md b/content/authors/admin/_index.md index c117924..58a309e 100644 --- a/content/authors/admin/_index.md +++ b/content/authors/admin/_index.md @@ -37,7 +37,7 @@ profiles: url: 'mailto:alex.johnson@meta.com' label: E-mail Me - icon: brands/x - url: https://twitter.com/AlexAIResearch + url: https://x.com/AlexAIResearch - icon: brands/github url: https://github.com/alexjohnsonai - icon: brands/linkedin diff --git a/content/blog/data-visualization/index.md b/content/blog/data-visualization/index.md index 3584db0..49ee71a 100644 --- a/content/blog/data-visualization/index.md +++ b/content/blog/data-visualization/index.md @@ -8,6 +8,21 @@ tags: - Hugo - Hugo Blox - Markdown +cover: + image: "https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=2560" + position: + x: 50 + y: 40 + overlay: + enabled: true + type: "gradient" + opacity: 0.4 + gradient: "bottom" + fade: + enabled: true + height: "80px" + icon: + name: "✨" image: caption: 'Image credit: [**Unsplash**](https://unsplash.com)' --- diff --git a/content/blog/get-started/index.md b/content/blog/get-started/index.md index ff71674..d4a5506 100644 --- a/content/blog/get-started/index.md +++ b/content/blog/get-started/index.md @@ -8,6 +8,22 @@ date: 2023-10-27 image: caption: 'Image credit: [**Unsplash**](https://unsplash.com)' +cover: + image: "https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=2560" + position: + x: 50 + y: 40 + overlay: + enabled: true + type: "gradient" + opacity: 0.4 + gradient: "bottom" + fade: + enabled: true + height: "80px" + icon: + name: "✨" + authors: - admin - Ted @@ -41,7 +57,7 @@ Welcome 👋 - 👉 [**Create a new site**](https://hugoblox.com/templates/) - 📚 [**Personalize your site**](https://docs.hugoblox.com/) - 💬 [Chat with the **Hugo Blox community**](https://discord.gg/z8wNYzb) or [**Hugo community**](https://discourse.gohugo.io) -- 🐦 Twitter: [@GetResearchDev](https://x.com/BuildLore) [@GeorgeCushen](https://twitter.com/GeorgeCushen) #MadeWithHugoBlox +- 🐦 Twitter: [@BuildLore](https://x.com/BuildLore) [@GeorgeCushen](https://x.com/GeorgeCushen) #MadeWithHugoBlox - 💡 [Request a **feature** or report a **bug** for _Hugo Blox_](https://github.com/HugoBlox/hugo-blox-builder/issues) - ⬆️ **Updating Hugo Blox?** View the [Update Guide](https://docs.hugoblox.com/reference/update/) and [Release Notes](https://github.com/HugoBlox/hugo-blox-builder/releases) diff --git a/content/blog/notebook-onboarding/cover.jpg b/content/blog/notebook-onboarding/cover.jpg new file mode 100644 index 0000000..98cd461 Binary files /dev/null and b/content/blog/notebook-onboarding/cover.jpg differ diff --git a/content/blog/notebook-onboarding/featured.jpg b/content/blog/notebook-onboarding/featured.jpg new file mode 100644 index 0000000..41dc165 Binary files /dev/null and b/content/blog/notebook-onboarding/featured.jpg differ diff --git a/content/blog/notebook-onboarding/hugoblox-onboarding.ipynb b/content/blog/notebook-onboarding/hugoblox-onboarding.ipynb new file mode 100644 index 0000000..444d9dc --- /dev/null +++ b/content/blog/notebook-onboarding/hugoblox-onboarding.ipynb @@ -0,0 +1,161 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2f21e4c5", + "metadata": {}, + "source": [ + "# Ship Notebook Stories in Minutes\n", + "Hugo Blox Notebook renderer turns your `.ipynb` experiments into beautiful long-form posts.\n", + "Use this sample to see how markdown, code, and outputs flow together." + ] + }, + { + "cell_type": "markdown", + "id": "3078072c", + "metadata": {}, + "source": [ + "1. Drop notebooks inside `assets/notebooks/` (or import them as page resources).\n", + "2. Reference them with `{{}}`.\n", + "3. Control code, outputs, metadata badges, and download links via shortcode params." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7b29b28a", + "metadata": { + "tags": [ + "demo", + "quickstart" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting data...\n", + "Training notebook-ready block...\n", + "Done!\n" + ] + }, + { + "data": { + "text/plain": [ + "0.982" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import math\n", + "accuracy = 0.982\n", + "print(\"Collecting data...\")\n", + "print(\"Training notebook-ready block...\")\n", + "print(\"Done!\")\n", + "accuracy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ceecfe89", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Launch Readiness: 98.2% confidence
Notebook blocks are theme-aware and dark-mode friendly.
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML\n", + "HTML(\"
Launch Readiness: 98.2% confidence
Notebook blocks are theme-aware and dark-mode friendly.
\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "664e49ca", + "metadata": { + "tags": [ + "metrics" + ] + }, + "outputs": [ + { + "data": { + "application/json": { + "metrics": { + "engagement_rate": 0.73, + "read_time_minutes": 4.6, + "subscribers": 1280 + } + }, + "text/plain": [ + "{'metrics': {'engagement_rate': 0.73, 'read_time_minutes': 4.6, 'subscribers': 1280}}" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics = {\n", + " 'metrics': {\n", + " 'engagement_rate': 0.73,\n", + " 'read_time_minutes': 4.6,\n", + " 'subscribers': 1280\n", + " }\n", + "}\n", + "metrics" + ] + }, + { + "cell_type": "markdown", + "id": "0f761ba1", + "metadata": {}, + "source": [ + "> Tip: Pair this block with Call-to-Action cards or the Embed shortcode to link to GitHub repos, datasets, or ARXIV preprints." + ] + } + ], + "metadata": { + "authors": [ + { + "name": "HugoBlox Studio" + } + ], + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/content/blog/notebook-onboarding/index.md b/content/blog/notebook-onboarding/index.md new file mode 100644 index 0000000..776da83 --- /dev/null +++ b/content/blog/notebook-onboarding/index.md @@ -0,0 +1,70 @@ +--- +title: ⚡️ Turn Jupyter Notebooks into Blog Posts +summary: Publish your data science and research directly from Jupyter Notebooks. No screenshots required. +date: 2024-07-15 +authors: + - admin +tags: + - Hugo Blox + - Jupyter + - Open Science + - Tutorials +cover: + # image: cover.jpg # Auto-detected from cover image in this folder + icon: + name: "📔" +image: + caption: "Image credit: [HugoBlox](https://hugoblox.com)" + focal_point: Center + placement: 1 +content_meta: + trending: true +--- + +As a researcher or data scientist, your work often lives in Jupyter Notebooks. But sharing those insights effectively usually means taking screenshots, messy copy-pasting, or exporting to PDF. + +Hugo Blox changes that. With the `{{}}` shortcode, you can render your actual `.ipynb` files directly as beautiful, interactive blog posts or project pages. Keep your code, outputs, and narrative in one place. + +{{< toc mobile_only=true is_open=true >}} + +## Why publish notebooks? + +> [!TIP] +> **Reproducible Research**: By publishing the actual notebook, you allow others to download and run your code, verifying your results and building upon your work. + +- **No more screenshots** – Render crisp code and vector plots directly from your source. +- **Theme consistent** – Notebooks automatically adapt to your site's theme (including dark mode). +- **Flexible sourcing** – Display notebooks from your `assets/` folder, page bundles, or even directly from a remote GitHub URL. +- **Interactive** – Users can copy code blocks or download the full notebook to run locally. + +## Example: Data Science Workflow + +Below is a live example of a notebook rendered right here in this post. Notice how the markdown, code, and outputs (text, HTML, and JSON) are all preserved and styled. + +{{< notebook + src="hugoblox-onboarding.ipynb" + title="Launch Readiness Analysis" + show_metadata=true + line_numbers=true + dense=false + download_label="Download notebook" + show_outputs=true +>}} + +## How to add a notebook + +1. **Save your notebook.** Place your `.ipynb` file in `assets/notebooks/` (for global access) or inside a page bundle (like `content/blog/my-post/analysis.ipynb`). +2. **Add the shortcode.** In any Markdown page, simply use: + `{{}}` +3. **Customize.** You can hide code cells for non-technical audiences (`show_code=false`) or just show the output (`show_outputs=true`). + +> [!IMPORTANT] +> Hugo Blox respects your privacy. Notebook rendering happens statically at build time—no third-party services required. + +## Next steps + +- **Try it out:** Drop one of your existing notebooks into this site and see how it looks. +- **Link your papers:** Use the Embed shortcode to link your notebook to your latest arXiv preprint or GitHub repository. +- **Get help:** Join the community on [Discord](https://discord.gg/z8wNYzb) or check the [documentation](https://docs.hugoblox.com). + +Happy researching! 🚀 diff --git a/content/blog/project-management/index.md b/content/blog/project-management/index.md index 959b1af..9c4a8c0 100644 --- a/content/blog/project-management/index.md +++ b/content/blog/project-management/index.md @@ -9,6 +9,21 @@ tags: - Markdown image: caption: 'Image credit: [**Unsplash**](https://unsplash.com)' +cover: + image: "https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=2560" + position: + x: 50 + y: 40 + overlay: + enabled: true + type: "gradient" + opacity: 0.4 + gradient: "bottom" + fade: + enabled: true + height: "80px" + icon: + name: "✨" --- Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more! diff --git a/content/blog/second-brain/index.md b/content/blog/second-brain/index.md index 8128fd6..00dec39 100644 --- a/content/blog/second-brain/index.md +++ b/content/blog/second-brain/index.md @@ -9,6 +9,21 @@ tags: - Markdown image: caption: 'Image credit: [**Unsplash**](https://unsplash.com)' +cover: + image: "https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=2560" + position: + x: 50 + y: 40 + overlay: + enabled: true + type: "gradient" + opacity: 0.4 + gradient: "bottom" + fade: + enabled: true + height: "80px" + icon: + name: "✨" --- Create a personal knowledge base and share your knowledge with your peers. diff --git a/content/blog/teach-courses/index.md b/content/blog/teach-courses/index.md index eb41246..89ff526 100644 --- a/content/blog/teach-courses/index.md +++ b/content/blog/teach-courses/index.md @@ -11,6 +11,21 @@ tags: - Markdown image: caption: 'Embed rich media such as videos and LaTeX math' +cover: + image: "https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=2560" + position: + x: 50 + y: 40 + overlay: + enabled: true + type: "gradient" + opacity: 0.4 + gradient: "bottom" + fade: + enabled: true + height: "80px" + icon: + name: "✨" --- [Hugo Blox Builder](https://hugoblox.com) is designed to give technical content creators a seamless experience. You can focus on the content and the Hugo Blox Builder which this template is built upon handles the rest. diff --git a/go.mod b/go.mod index d6f28ec..4099737 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,6 @@ module github.com/HugoBlox/hugo-blox-builder/templates/academic-cv go 1.19 require ( - github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2 - github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.10.0 + github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v0.0.0-20231109145828-d9695efa098f + github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.0.0-20251130065528-c8f2322fa65e ) diff --git a/netlify.toml b/netlify.toml index bd01c00..d415f4c 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ echo "Go version: $(go version || echo 'Go not available')" echo "=== Installing dependencies ===" - pnpm install --verbose + pnpm install --verbose --no-frozen-lockfile echo "=== Running Hugo build ===" hugo --gc --minify -b $URL --logLevel debug --printI18nWarnings --printPathWarnings @@ -38,7 +38,7 @@ set -e echo "=== Deploy Preview Build ===" echo "Deploy URL: $DEPLOY_PRIME_URL" - pnpm install --verbose + pnpm install --verbose --no-frozen-lockfile hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL --logLevel debug --printI18nWarnings --printPathWarnings pnpm dlx pagefind --source 'public' --verbose """ @@ -48,7 +48,7 @@ set -e echo "=== Branch Deploy Build ===" echo "Deploy URL: $DEPLOY_PRIME_URL" - pnpm install --verbose + pnpm install --verbose --no-frozen-lockfile hugo --gc --minify -b $DEPLOY_PRIME_URL --logLevel debug --printI18nWarnings --printPathWarnings pnpm dlx pagefind --source 'public' --verbose """ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81810da..cd00ced 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@tailwindcss/typography': specifier: ^0.5.10 version: 0.5.16(tailwindcss@4.1.12) + preact: + specifier: ^10.27.2 + version: 10.27.2 tailwindcss: specifier: ^4.1.12 version: 4.1.12 @@ -376,6 +379,9 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} + preact@10.27.2: + resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -683,6 +689,8 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + preact@10.27.2: {} + source-map-js@1.2.1: {} tailwindcss@4.1.12: {}