Compare commits

..

13 commits

Author SHA1 Message Date
George Cushen
322b500bd2 starters: update 2024-05-19 17:46:11 +01:00
George Cushen
81df9f3e9c starters: update 2024-05-19 17:20:22 +01:00
George Cushen
50c6efcd67 starters: port Academic theme to Tailwind 2024-05-19 17:12:23 +01:00
George Cushen
5ee9dc5857 starters: port Academic theme to Tailwind 2024-05-19 16:39:09 +01:00
George Cushen
928399f2cd feat(blox): add fill_image option to article-grid view
Also
- Fixes Tailwind safelist/whitelistPatterns given change in Tailwind v3 config structure
- Renames new `resume-biography-2` to `resume-biography-3` due to clash
2024-05-19 16:32:46 +01:00
George Cushen
3463e63b4c feat(blox): port Academic CV two column avatar/bio blox
Adds `resume-biography-2` blox
2024-05-19 13:13:48 +01:00
George Cushen
78e9a5787d feat(view): reduce data size in Card 2024-05-19 13:12:23 +01:00
George Cushen
d8ba8a1565 feat(view): fix left alignment for multiple var length citation views 2024-05-19 13:11:58 +01:00
George Cushen
307f5b9798 feat(view): fix case of no authors specified in article-grid view 2024-05-19 13:10:31 +01:00
George Cushen
01488c3821 feat(blox): allow to specify grid cols in article-grid view 2024-05-19 13:09:52 +01:00
George Cushen
564bf13e6d feat(blox): support HTML & fix accessibility in case of Emerald bg 2024-05-19 13:08:20 +01:00
George Cushen
55b856df3a feat(blox): support HTML & multiple paragraphs in Markdown blox 2024-05-19 13:07:35 +01:00
George Cushen
370dc623ab fix: debug msg 2024-05-19 13:06:15 +01:00
86 changed files with 2457 additions and 43 deletions

View file

@ -17,7 +17,7 @@ jobs:
matrix:
# define package to repository map
package:
- local_path: 'starters-bootstrap/academic-cv'
- local_path: 'starters/academic-cv'
split_repository: 'theme-academic-cv'
- local_path: 'starters/resume'
split_repository: 'theme-resume'

View file

@ -1,4 +1,4 @@
.blox-resume-biography {
.resume-biography {
#profile {
text-align: center;
padding: 30px 10px;
@ -53,18 +53,18 @@
font-size: 0.9rem;
}
.ul-edu {
list-style: none;
}
/*.ul-edu {*/
/* list-style: none;*/
/* }*/
.ul-edu li {
position: relative;
padding: 0 15px 4px 3px;
}
/* .ul-edu li {*/
/* position: relative;*/
/* padding: 0 15px 4px 3px;*/
/* }*/
.ul-edu li .description p {
margin: 0;
}
/* .ul-edu li .description p {*/
/* margin: 0;*/
/* }*/
.ul-edu li .description p.course {
font-size: 0.9rem;

View file

@ -30,6 +30,10 @@
@apply py-24; /* last:mb-0 */
}
.section-subheading {
@apply font-bold text-xl;
}
/* Fill padding of `.home-section` parent */
.home-section-bg {
position: absolute;

File diff suppressed because one or more lines are too long

View file

@ -94,10 +94,11 @@
<div class="flex flex-col items-center">
{{ partial "functions/render_view" (dict "fragment" "start" "page" $block "item" . "view" $view) }}
{{ $config := dict "columns" ($block.design.columns | default 2) "len" (len $query) "fill_image" ($block.design.fill_image | default true) }}
{{ partial "functions/render_view" (dict "fragment" "start" "page" $block "item" . "view" $view "config" $config) }}
{{ range $index, $item := $query }}
{{ partial "functions/render_view" (dict "page" $block "item" . "view" $view "index" $index) }}
{{ partial "functions/render_view" (dict "page" $block "item" . "view" $view "index" $index "config" $config) }}
{{end}}
{{ partial "functions/render_view" (dict "fragment" "end" "page" $block "item" . "view" $view) }}

View file

@ -7,7 +7,7 @@
{{ $block := .wcBlock }}
{{ $title := $block.content.title | emojify | $page.RenderString }}
{{ $text := $block.content.text | emojify | $page.RenderString }}
{{ $text := $block.content.text | emojify | $page.RenderString | safeHTML }}
{{ $card_class := $block.design.card.css_class }}
{{ $card_style := $block.design.card.css_style }}
@ -17,9 +17,9 @@
<h2 class="text-white text-4xl md:text-6xl tracking-tight">
{{ $title }}
</h2>
<p class="text-slate-300 mt-4 text-lg md:text-xl">
<div class="text-gray-100 mt-4 text-lg md:text-xl prose">
{{ $text }}
</p>
</div>
{{ with $block.content.button }}
<div class="flex mt-5">
<a href="{{.url}}" class="rounded text-center transition focus-visible:ring-2 ring-offset-2 ring-gray-200 px-5 py-2.5 bg-white hover:bg-gray-300 text-black border-2 border-transparent">

View file

@ -6,7 +6,7 @@
{{ $page := .wcPage }}
{{ $block := .wcBlock }}
{{ $title := $block.content.title | emojify | $page.RenderString }}
{{ $text := $block.content.text | emojify | $page.RenderString }}
{{ $text := $block.content.text | emojify | $page.RenderString | safeHTML }}
<div class="flex flex-col items-center max-w-prose mx-auto gap-3 justify-center">
@ -14,5 +14,6 @@
{{ $title }}
</div>
{{ with $text }}<p class="prose prose-slate lg:prose-xl dark:prose-invert max-w-prose">{{ . }}</p>{{ end }}
{{/* We use DIV rather than P to support `prose` class and multiple paragraphs */}}
{{ with $text }}<div class="prose prose-slate lg:prose-xl dark:prose-invert max-w-prose">{{ . }}</div>{{ end }}
</div>

View file

@ -0,0 +1,158 @@
{{/* Hugo Blox: Biography 3 */}}
{{/* Documentation: https://hugoblox.com/blocks/ */}}
{{/* License: https://github.com/HugoBlox/hugo-blox-builder/blob/main/LICENSE.md */}}
{{/* Initialise */}}
{{ $page := .wcPage }}
{{ $block := .wcBlock }}
{{ $author := $block.content.username | default "admin" }}
{{ $person_page_path := (printf "/authors/%s" $author) }}
{{ $person_page := site.GetPage $person_page_path }}
{{ if not $person_page }}
{{ errorf "Could not find an author page at `%s`. Please check the value of `author` in your About widget and create an associated author page if one does not already exist. See https://docs.hugoblox.com/page-builder/#about " $person_page_path }}
{{end}}
{{ $person := $person_page.Params }}
{{ $avatar := ($person_page.Resources.ByType "image").GetMatch "*avatar*" }}
{{ $avatar_shape := site.Params.features.avatar.shape | default "circle" }}
<div class="resume-biography px-3 flex flex-col md:flex-row justify-center gap-12">
<div class="flex-none m-w-[130px] mx-auto md:mx-0">
{{ $img := "" }}
{{with $block.design.banner.filename}}
{{- $img = resources.Get (path.Join "media" .) -}}
{{ if $img }}
{{- $img = $img.Process "webp" -}}
<div class="w-full bg-gray-200 dark:bg-gray-900 flex flex-wrap items-center justify-center">
<div class="w-full bg-white rounded dark:bg-gray-800">
<div class="h-2/4 sm:h-64 overflow-hidden w-full">
<img class="w-full object-cover"
src="{{$img.RelPermalink}}"
width="{{$img.Width}}" height="{{$img.Height}}"
alt="" />
</div>
</div>
</div>
{{ end }}
{{ end }}
<div id="profile" class="flex justify-center items-center flex-col">
{{ if $avatar }}
<div class="avatar-wrapper {{ if $img }}-mt-[105px]{{else}}mt-10{{end}}">
{{ $avatar_image := $avatar.Fill "150x150 Center" }}
<img class="avatar rounded-full bg-white dark:bg-gray-800 p-1" src="{{ $avatar_image.RelPermalink }}" alt="{{$person_page.Title}}"
width="{{ $avatar_image.Width }}" height="{{ $avatar_image.Height }}">
{{with $person.status.icon}}<span class="avatar-emoji">{{.|emojify}}</span>{{end}}
</div>
{{ end }}
<div class="portrait-title dark:text-white">
<div class="text-3xl font-bold mb-2 mt-6">
{{- if $person.name_pronunciation -}}
<ruby>
<rb>{{ $person_page.Title }}</rb>
<rt>{{ $person.name_pronunciation }}</rt>
</ruby>
{{- else -}}
{{- $person_page.Title -}}
{{- end -}}
</div>
{{ with $person.role }}<h3 class="font-semibold mb-1">{{ . | markdownify | emojify }}</h3>{{ end }}
{{ range $person.organizations }}
<div class="mb-2">
{{ with .url }}<a href="{{ . }}" target="_blank" rel="noopener">{{ end }}
<div>{{ .name }}</div>
{{ if .url }}</a>{{ end }}
</div>
{{ end }}
</div>
<ul class="network-icon dark:text-zinc-100">
{{ range $person.profiles }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .url | default .link }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = (.url | default .link) | relLangURL }}
{{ if eq (path.Ext $link) ".pdf" }}{{ $target = "target=\"_blank\" rel=\"noopener\"" }}{{ end }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<li>
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} aria-label="{{ .icon }}"
{{ with .label }} data-toggle="tooltip" data-placement="top" title="{{.}}"{{ end }}>
{{ partial "functions/get_icon" (dict "name" .icon "attributes" "style=\"height: 1.5rem;\"") }}
</a>
</li>
{{ end }}
</ul>
</div>
</div>
<div class="flex-auto max-w-prose md:mt-12">
{{ with ($block.content.text | emojify | $page.RenderString) | default $person_page.Content }}
<div class="pt-2 justify-content-center prose prose-slate dark:prose-invert">
<div class="bio-text" {{ with $block.design.biography.style }}{{ (printf "style=\"%s\"" .) | safe.HTMLAttr }}{{end}}>
{{ . }}
</div>
</div>
{{ end }}
{{ with $block.content.button }}
<a href="{{.url}}" target="_blank" class="inline-flex items-center px-4 py-2 text-sm font-medium text-gray-900 bg-white border border-gray-200 rounded-lg hover:bg-gray-100 hover:text-primary-700 focus:z-10 focus:ring-4 focus:outline-none focus:ring-gray-200 focus:text-primary-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-700"><svg class="w-3.5 h-3.5 me-2.5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
<path d="M14.707 7.793a1 1 0 0 0-1.414 0L11 10.086V1.5a1 1 0 0 0-2 0v8.586L6.707 7.793a1 1 0 1 0-1.414 1.414l4 4a1 1 0 0 0 1.416 0l4-4a1 1 0 0 0-.002-1.414Z"/>
<path d="M18 12h-2.55l-2.975 2.975a3.5 3.5 0 0 1-4.95 0L4.55 12H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2Zm-3 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"/>
</svg> {{.text}}</a>
{{ end }}
<div class="grid grid-cols-2 gap-4 justify-between mt-6 dark:text-gray-300">
{{ with $person.interests }}
<div class="">
<div class="section-subheading mb-3">{{ i18n "interests" | markdownify }}</div>
<ul class="list-disc list-inside space-y-1 pl-5">
{{ range . }}
<li>
{{ . | markdownify | emojify }}
</li>
{{ end }}
</ul>
</div>
{{ end }}
{{ with $person.education }}
<div class="">
<div class="section-subheading mb-3">{{ i18n "education" | markdownify }}</div>
<ul class="">
{{ range . }}
<li class="flex items-start gap-3">
{{ partial "functions/get_icon" (dict "name" "academic-cap" "attributes" "style=\"\" class='flex-shrink-0 w-5 h-5 me-2 mt-1'") }}
<div class="description">
<p class="course">{{ .area }}{{ with .year }}, {{ . }}{{ end }}</p>
<p class="text-sm">{{ .institution }}</p>
</div>
</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
</div>
</div>

View file

@ -35,7 +35,7 @@
{{ end }}
{{ end }}
<div id="profile" class="flex justify-center items-center flex-col">
<div id="profile" class="resume-biography flex justify-center items-center flex-col">
{{ if $avatar }}
<div class="avatar-wrapper {{ if $img }}-mt-[105px]{{else}}mt-10{{end}}">

View file

@ -15,9 +15,9 @@
{{ end }}
{{ if eq $fragment "body" }}
{{ $html = (partial (printf "views/%s" $view) (dict "page" $page "item" $item "index" $index)) }}
{{ $html = (partial (printf "views/%s" $view) (dict "page" $page "item" $item "index" $index "config" (.config | default dict))) }}
{{ else }}
{{ $html = (partial (printf "views/%s.%s" $view $fragment) (dict "page" $page "item" $item "index" $index)) }}
{{ $html = (partial (printf "views/%s.%s" $view $fragment) (dict "page" $page "item" $item "index" $index "config" (.config | default dict))) }}
{{ end }}
{{ return $html }}

View file

@ -49,7 +49,7 @@
{{ $theme_name := (lower site.Params.appearance.color) | default "blue" }}
{{ $theme_path := printf "css/themes/%s.css" $theme_name }}
{{ if not (fileExists (printf "assets/%s" $theme_path)) }}
{{ errorf "The specified color theme `%s.css` was not found in `assets/css/themes/`. Either install your custom color theme in the folder or set the `color` theme value in `params.yaml` to an existing theme such as `blue`." }}
{{ errorf "The specified color theme `%s.css` was not found in `assets/css/themes/`. Either install your custom color theme in the folder or set the `color` theme value in `params.yaml` to an existing theme such as `blue`." $theme_name }}
{{ else }}
{{ $theme_css := resources.Get $theme_path | minify }}
<link rel="stylesheet" href="{{ $theme_css.RelPermalink }}" />

View file

@ -1,21 +1,34 @@
{{ $item := .item }}
{{ $fill_image := .config.fill_image | default true }}
{{ $resource := partial "functions/get_featured_image.html" $item }}
{{ $anchor := $item.Params.image.focal_point | default "Center" }}
{{ $link := $item.Params.external_link | default $item.RelPermalink }}
{{ $target := "" }}
{{ if $item.Params.external_link }}
{{ $link = $item.Params.external_link }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<div class="group cursor-pointer">
{{ with $resource }}
{{ $image := .Fill (printf "655x655 %s" $anchor) }}
{{ $image := "" }}
{{if $fill_image}}
{{ $image = .Fill (printf "960x540 %s" $anchor) }}
{{else}}
{{ $image = .Fit (printf "960x540 %s" $anchor) }}
{{end}}
{{ if ne $image.MediaType.SubType "gif" }}{{ $image = $image.Process "webp" }}{{ end }}
<div class="overflow-hidden rounded-md bg-gray-100 transition-all hover:scale-105 dark:bg-gray-800">
<a
class="relative block aspect-video"
href="{{ $item.RelPermalink }}">
href="{{ $link }}" {{ $target | safeHTMLAttr }}>
<img alt="{{ $item.Title | plainify }}"
class="object-cover transition-all"
class="{{if $fill_image}}object-fill{{else}}object-contain{{end}} transition-all"
data-nimg="fill"
decoding="async"
fetchpriority="high" height="{{ $image.Height }}" loading="lazy" src="{{ $image.RelPermalink }}"
@ -28,25 +41,27 @@
<div class="flex gap-3">
{{ range $index, $value := first 1 ($item.GetTerms "tags") }}
<a href="{{.RelPermalink}}"><span
class="inline-block text-xs font-medium tracking-wider uppercase mt-5 text-primary-600 dark:text-primary-300">{{ .Page.LinkTitle }}</span></a>
class="inline-block text-xs font-medium tracking-wider uppercase mt-5 text-primary-700 dark:text-primary-300">{{ .Page.LinkTitle }}</span></a>
{{end}}
</div>
<!-- <div class="relative line-clamp-2" style="display: block; height: 4em">-->
<h2 class="text-lg font-semibold leading-snug tracking-tight mt-2 dark:text-white"><a
href="{{ $item.RelPermalink }}"><span
href="{{ $link }}" {{ $target | safeHTMLAttr }}><span
class="bg-gradient-to-r from-primary-200 to-primary-100 bg-[length:0px_10px] bg-left-bottom bg-no-repeat transition-[background-size] duration-500 hover:bg-[length:100%_3px] group-hover:bg-[length:100%_10px] dark:from-primary-800 dark:to-primary-900">
{{- $item.Title -}}
{{if $target}}{{ partial "functions/get_icon" (dict "name" "arrow-top-right-on-square" "attributes" "style=\"height: 1em;\" class=\"inline-flex h-6 w-6 pl-2\"") }}{{end}}
</span></a>
</h2>
<!-- </div>-->
<div class="grow"><p class="mt-2 line-clamp-3 text-sm text-gray-500 dark:text-gray-400"><a
href="{{ $item.RelPermalink }}">
href="{{ $link }}" {{ $target | safeHTMLAttr }}>
{{ ($item.Params.summary | default $item.Summary) | plainify | htmlUnescape | chomp -}}
</a></p>
</div>
<div class="flex-none">
<div class="mt-3 flex items-center space-x-3 text-gray-500 dark:text-gray-400 cursor-default">
<!-- <a href="">-->
{{ if .Params.authors }}
<div class="flex items-center gap-3">
{{ range $index, $value := first 1 ($item.GetTerms "authors") }}
<div class="relative h-5 w-5 flex-shrink-0">
@ -64,7 +79,9 @@
</div>
<span class="truncate text-sm">
{{- .Page.LinkTitle -}}
</span></div>
</span>
</div>
{{end}}
<!-- </a>-->
<span class="text-xs text-gray-300 dark:text-gray-600"></span>
{{end}}
@ -73,6 +90,7 @@
</time>
</div>
</div>
</div>
</div>
</div>

View file

@ -1,2 +1,5 @@
<div class="container px-8 mx-auto max-w-screen-lg xl:px-5 py-5 lg:py-8">
<div class="grid gap-10 md:grid-cols-2 lg:gap-10">
{{ $columns := .config.columns | default 2 }}
{{ $len := .config.len | default 2 }}
{{/* NOTE: dynamic `md:grid-cols-{{$columns}}` class requires Tailwind exception */}}
<div class="container px-8 mx-auto xl:px-5 py-5 lg:py-8 {{ if eq $len 1 }}max-w-[500px] justify-center{{else}}max-w-screen-lg {{end}}">
<div class="grid gap-10 md:grid-cols-{{$columns}} lg:gap-10">

View file

@ -24,7 +24,7 @@
<p class="block mt-1 text-sm leading-tight font-medium text-black dark:text-white">
{{ ($item.Params.summary | default $item.Summary) | plainify | htmlUnescape | chomp -}}
</p>
<p class="mt-2 text-gray-500 dark:text-gray-400">
<p class="mt-2 text-gray-500 dark:text-gray-400 text-sm">
{{- $item.Date | time.Format (site.Params.locale.date_format | default ":date_long") -}}
</p>
</div>

View file

@ -1,2 +1,3 @@
<div class="mt-16 sm:mt-20 w-fit">
<div class="flex max-w-3xl flex-col space-y-3">
{{/* Left alignment / width is set so that multiple blocks with this view & variable length content all left align. */}}
<div class="mt-16 sm:mt-20 container max-w-3xl w-full">
<div class="flex flex-col space-y-3">

View file

@ -25,8 +25,33 @@ module.exports = {
'task-list', /* As it's added via JS */
'pl-4', 'pl-8', 'pl-12', /* TOC indents */
'min-h-screen', /* Blox options */
{
/* For dynamic article-grid.start */
pattern: /grid-cols-+/,
variants: ['md'],
},
{
pattern: /bg-white+/,
},
{
pattern: /bg-gray+/,
},
{
pattern: /bg-primary+/,
},
{
pattern: /bg-gradient+/,
},
{
pattern: /from-primary+/,
},
{
pattern: /to-primary+/,
},
],
whitelistPatterns: [/^bg-white/, /^bg-gray-/, /^bg-primary-/, /^bg-gradient-/, /^from-primary-/, /^to-primary-/], /* /^pl-/ for TOC */
/* /^bg-white/, /^bg-gray-/, /^bg-primary-/, /^bg-gradient-/, /^from-primary-/, /^to-primary-/,
/^md:grid-cols-+/], */
/* /^pl-/ for TOC */
darkMode: ['class'],
theme: {
extend: {

View file

@ -0,0 +1,2 @@
github: gcushen
custom: https://hugoblox.com/sponsor/

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View file

@ -0,0 +1,57 @@
# Hugo Blox GitHub Action to convert Bibtex publications to Markdown-based webpages
name: Import Publications From Bibtex
# Require permission to create a PR
permissions:
contents: write
pull-requests: write
# Run workflow when a `.bib` file is added or updated in the `data/` folder
on:
push:
branches: ['main']
paths: ['publications.bib']
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
hugoblox:
if: github.repository_owner != 'HugoBlox'
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install academic==0.10.0
- name: Run Academic (Bibtex To Markdown Converter)
# Check `.bib` file exists for case when action runs on `.bib` deletion
# Note GH only provides hashFiles func in `steps.if` context, not `jobs.if` context
if: ${{ hashFiles('publications.bib') != '' }}
run: academic import publications.bib content/publication/ --compact
- name: Create Pull Request
# Set ID for `Check outputs` stage
id: cpr
uses: peter-evans/create-pull-request@v5
with:
commit-message: 'content: import publications from Bibtex'
title: Hugo Blox Builder - Import latest publications
body: |
Import the latest publications from `publications.bib` to `content/publication/`.
将最新的出版物从`publications.bib`导入到`content/publication/`。
[View Documentation](https://github.com/GetRD/academic-file-converter)
base: main
labels: automated-pr, content
branch: hugoblox-import-publications
delete-branch: true
- name: Check outputs
if: ${{ steps.cpr.outputs.pull-request-number }}
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"

View file

@ -0,0 +1,72 @@
name: Deploy website to GitHub Pages
env:
WC_HUGO_VERSION: '0.126.1'
on:
# Trigger the workflow every time you push to the `main` branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Provide permission to clone the repo and deploy it to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build website
build:
if: github.repository_owner != 'HugoBlox'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch history for Hugo's .GitInfo and .Lastmod
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: ${{ env.WC_HUGO_VERSION }}
extended: true
- uses: actions/cache@v3
with:
path: /tmp/hugo_cache_runner/
key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.mod') }}
restore-keys: |
${{ runner.os }}-hugomod-
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Hugo
env:
HUGO_ENVIRONMENT: production
run: |
echo "Hugo Cache Dir: $(hugo config | grep cachedir)"
hugo --minify --baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Generate Pagefind search index
run: npx pagefind --site "public"
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: ./public
# Deploy website to GitHub Pages hosting
deploy:
if: github.repository_owner != 'HugoBlox'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

View file

@ -0,0 +1,22 @@
name: Updater (WIP)
on:
schedule:
- cron: 0 0 * * 0
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Provide permission to clone the repo and deploy it to GitHub Pages
permissions:
contents: write
jobs:
update:
if: github.repository_owner == 'HugoBlox'
runs-on: ubuntu-latest
steps:
- uses: HugoBlox/gh-action-updater@v1
with:
feed-url: https://hugoblox.com/rss.xml
readme-section: news
branch: main

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023-present George Cushen (https://georgecushen.com/)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,52 @@
# [Hugo Academic CV Theme](https://github.com/HugoBlox/theme-academic-cv)
[![Screenshot](.github/preview.webp)](https://hugoblox.com/templates/)
The Hugo **Academic CV Template** empowers you to easily create your job-winning online resumé, showcase your academic publications, and create online courses or knowledge bases to grow your audience.
[![Get Started](https://img.shields.io/badge/-Get%20started-ff4655?style=for-the-badge)](https://hugoblox.com/templates/)
[![Discord](https://img.shields.io/discord/722225264733716590?style=for-the-badge)](https://discord.com/channels/722225264733716590/742892432458252370/742895548159492138)
[![Twitter Follow](https://img.shields.io/twitter/follow/GetResearchDev?label=Follow%20on%20Twitter)](https://twitter.com/GetResearchDev)
**Trusted by 250,000+ researchers, educators, and students.** Highly customizable via the integrated **no-code, Hugo Blox Builder**, making every site truly personalized ⭐⭐⭐⭐⭐
Easily write technical content with plain text Markdown, LaTeX math, diagrams, RMarkdown, or Jupyter, and import publications from BibTeX.
[Check out the latest demo](https://academic-demo.netlify.app/) of what you'll get in less than 10 minutes, or [get inspired by our academics and research groups](https://hugoblox.com/creators/).
The integrated [**Hugo Blox Builder**](https://hugoblox.com) and CMS makes it easy to create a beautiful website for free. Edit your site in the CMS (or your favorite editor), generate it with [Hugo](https://github.com/gohugoio/hugo), and deploy with GitHub or Netlify. Customize anything on your site with widgets, light/dark themes, and language packs.
- 👉 [**Get Started**](https://hugoblox.com/templates/)
- 📚 [View the **documentation**](https://docs.hugoblox.com/)
- 💬 [Chat with the **Hugo Blox Builder community**](https://discord.gg/z8wNYzb) or [**Hugo community**](https://discourse.gohugo.io)
- 🐦 Twitter: [@GetResearchDev](https://twitter.com/GetResearchDev) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithHugoBlox](https://twitter.com/search?q=%23MadeWithHugoBlox&src=typed_query)
- ⬇️ **Automatically import your publications from BibTeX** with the [Hugo Academic CLI](https://github.com/GetRD/academic-file-converter)
- 💡 [Suggest an improvement](https://github.com/HugoBlox/hugo-blox-builder/issues)
- ⬆️ **Updating?** View the [Update Guide](https://docs.hugoblox.com/reference/update/) and [Release Notes](https://github.com/HugoBlox/hugo-blox-builder/releases)
## We ask you, humbly, to support this open source movement
Today we ask you to defend the open source independence of the Hugo Blox Builder and themes 🐧
We're an open source movement that depends on your support to stay online and thriving, but 99.9% of our creators don't give; they simply look the other way.
### [❤️ Click here to become a Sponsor, unlocking awesome perks such as _exclusive academic templates and blocks_](https://hugoblox.com/sponsor/)
<!--
<p align="center"><a href="https://hugoblox.com/templates/" target="_blank" rel="noopener"><img src="https://hugoblox.com/uploads/readmes/academic_logo_200px.png" alt="Hugo Academic Theme for Hugo Blox Builder"></a></p>
-->
## Demo image credits
- [Unsplash](https://unsplash.com)
## Latest news
<!--START_SECTION:news-->
- [Easily make an academic CV website to get more cites and grow your audience 🚀](https://hugoblox.com/blog/easily-make-academic-website/)
- [What&#39;s new in v5.2?](https://hugoblox.com/blog/whats-new-in-v5.2/)
- [What&#39;s new in v5.1?](https://hugoblox.com/blog/whats-new-in-v5.1/)
- [Version 5.0 (February 2021)](https://hugoblox.com/blog/version-5.0-february-2021/)
- [Version 5.0 Beta 3 (February 2021)](https://hugoblox.com/blog/version-5.0-beta-3-february-2021/)
<!--END_SECTION:news-->

View file

@ -0,0 +1 @@
<svg id="visual" viewBox="0 0 960 540" width="960" height="540" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><path d="M0 104L87 158L175 125L262 131L349 163L436 163L524 168L611 174L698 136L785 104L873 125L960 147L960 0L873 0L785 0L698 0L611 0L524 0L436 0L349 0L262 0L175 0L87 0L0 0Z" fill="#003223"></path><path d="M0 185L87 195L175 212L262 217L349 206L436 239L524 233L611 222L698 185L785 147L873 190L960 190L960 145L873 123L785 102L698 134L611 172L524 166L436 161L349 161L262 129L175 123L87 156L0 102Z" fill="#013b2d"></path><path d="M0 228L87 249L175 287L262 309L349 303L436 336L524 298L611 282L698 260L785 255L873 287L960 255L960 188L873 188L785 145L698 183L611 220L524 231L436 237L349 204L262 215L175 210L87 193L0 183Z" fill="#014537"></path><path d="M0 357L87 395L175 347L262 368L349 428L436 449L524 363L611 390L698 352L785 379L873 368L960 401L960 253L873 285L785 253L698 258L611 280L524 296L436 334L349 301L262 307L175 285L87 247L0 226Z" fill="#024f42"></path><path d="M0 541L87 541L175 541L262 541L349 541L436 541L524 541L611 541L698 541L785 541L873 541L960 541L960 399L873 366L785 377L698 350L611 388L524 361L436 447L349 426L262 366L175 345L87 393L0 355Z" fill="#02594e"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,55 @@
# Configuration of Hugo
# Guide: https://docs.hugoblox.com/tutorial/
# 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 URL
baseURL: 'https://example.com/'
############################
## LANGUAGE
############################
defaultContentLanguage: en
hasCJKLanguage: false
defaultContentLanguageInSubdir: false
removePathAccents: true
############################
## ADVANCED
############################
build:
writeStats: true
enableGitInfo: false
summaryLength: 30
paginate: 10
enableEmoji: true
enableRobotsTXT: true
footnotereturnlinkcontents: <sup>^</sup>
ignoreFiles: [\.ipynb$, .ipynb_checkpoints$, \.Rmd$, \.Rmarkdown$, _cache$]
permalinks:
authors: '/author/:slug/'
disableAliases: true
outputs:
home: [HTML, RSS, headers, redirects, backlinks]
section: [HTML, RSS]
imaging:
resampleFilter: lanczos
quality: 80
anchor: smart
timeout: 600000
taxonomies:
author: authors
tag: tags
publication_type: publication_types
markup:
_merge: deep
highlight:
lineNos: false
security:
_merge: deep
sitemap:
_merge: deep

View file

@ -0,0 +1,22 @@
# Languages
# Create a section for each of your site's languages.
# Documentation: https://docs.hugoblox.com/reference/language/
# Default language
en:
languageCode: en-us
# Uncomment for multi-lingual sites, and move English content into `en` sub-folder.
#contentDir: content/en
# Uncomment the lines below to configure your website in a second language.
#zh:
# languageCode: zh-Hans
# contentDir: content/zh
# title: Chinese website title...
# params:
# description: Site description in Chinese...
# menu:
# main:
# - name: 传
# url: '#about'
# weight: 1

View file

@ -0,0 +1,27 @@
# Navigation Links
# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the
# desired widget in your `content/home/` folder.
# The weight parameter defines the order that the links will appear in.
main:
- name: Bio
url: /
weight: 10
- name: Papers
url: /#papers
weight: 11
- name: Talks
url: /#talks
weight: 12
- name: News
url: /#news
weight: 13
- name: Experience
url: experience/
weight: 20
- name: Projects
url: projects/
weight: 30
- name: Teaching
url: teaching/
weight: 40

View file

@ -0,0 +1,25 @@
############################
## HUGO MODULES
## Install or uninstall themes and plugins here.
## Docs: https://gohugo.io/hugo-modules/
############################
imports:
- path: github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify
- path: github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind
# Install any Hugo Blox within the `hugo-blox/blox/` folder
mounts:
- source: hugo-blox/blox/community
target: layouts/partials/blox/community/
includeFiles: '**.html'
- source: hugo-blox/blox/all-access
target: layouts/partials/blox/
includeFiles: '**.html'
- source: hugo-blox/blox
target: assets/dist/community/blox/
includeFiles: '**.css'
- source: layouts
target: layouts
- source: assets
target: assets

View file

@ -0,0 +1,60 @@
# SITE SETUP
# Guide: https://docs.hugoblox.com/tutorial/
# 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: emerald
# SEO
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'
analytics:
google_analytics: ''
baidu_tongji: ''
plausible: ''
fathom: ''
pirsch: ''
verification:
google: ''
baidu: ''
# Site header
header:
navbar:
enable: true
blox: "navbar"
fixed_to_top: true
show_search: true
show_theme_chooser: true
logo:
text: "Your Name"
# Site footer
footer:
copyright:
notice: '© {year} Me. This work is licensed under {license}'
license:
enable: true
allow_derivatives: false
share_alike: true
allow_commercial: false
# Localization
locale:
date_format: 'Jan 2, 2006'
time_format: '3:04 PM'
# Site features
features:
math:
enable: false
privacy_pack:
enable: false

View file

@ -0,0 +1,125 @@
---
# Leave the homepage title empty to use the site title
title: ""
date: 2022-10-24
type: landing
design:
# Default section spacing
spacing: "6rem"
sections:
- block: resume-biography-3
content:
# Choose a user profile to display (a folder name within `content/authors/`)
username: admin
text: ""
# Show a call-to-action button under your biography? (optional)
button:
text: Download CV
url: uploads/resume.pdf
design:
css_class: dark
background:
color: black
image:
# Add your image background to `assets/media/`.
filename: stacked-peaks.svg
filters:
brightness: 1.0
size: cover
position: center
parallax: false
- block: markdown
content:
title: '📚 My Research'
subtitle: ''
text: |-
Use this area to speak to your mission. I'm a research scientist in the Moonshot team at DeepMind. I blog about machine learning, deep learning, and moonshots.
I apply a range of qualitative and quantitative methods to comprehensively investigate the role of science and technology in the economy.
Please reach out to collaborate 😃
design:
columns: '1'
- block: collection
id: papers
content:
title: Featured Publications
filters:
folders:
- publication
featured_only: true
design:
view: article-grid
columns: 2
- block: collection
content:
title: Recent Publications
text: ""
filters:
folders:
- publication
exclude_featured: false
design:
view: citation
- block: collection
id: talks
content:
title: Recent & Upcoming Talks
filters:
folders:
- event
design:
view: article-grid
columns: 1
- block: collection
id: news
content:
title: Recent News
subtitle: ''
text: ''
# Page type to display. E.g. post, talk, publication...
page_type: post
# Choose how many pages you would like to display (0 = all pages)
count: 5
# Filter on criteria
filters:
author: ""
category: ""
tag: ""
exclude_featured: false
exclude_future: false
exclude_past: false
publication_type: ""
# Choose how many pages you would like to offset by
offset: 0
# Page order: descending (desc) or ascending (asc) date.
order: desc
design:
# Choose a layout view
view: date-title-summary
# Reduce spacing
spacing:
padding: [0, 0, 0, 0]
- block: cta-card
demo: true # Only display this section in the Hugo Blox Builder demo site
content:
title: 👉 Build your own academic website like this
text: |-
This site is generated by Hugo Blox Builder - the FREE, Hugo-based open source website builder trusted by 250,000+ academics like you.
<a class="github-button" href="https://github.com/HugoBlox/hugo-blox-builder" data-color-scheme="no-preference: light; light: light; dark: dark;" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star HugoBlox/hugo-blox-builder on GitHub">Star</a>
Easily build anything with blocks - no-code required!
From landing pages, second brains, and courses to academic resumés, conferences, and tech blogs.
button:
text: Get Started
url: https://hugoblox.com/templates/
design:
card:
# Card background color (CSS class)
css_class: "bg-primary-700"
css_style: ""
---

View file

@ -0,0 +1,9 @@
---
# To publish author profile pages, remove all the `_build` and `cascade` settings below.
_build:
render: never
cascade:
_build:
render: never
list: always
---

View file

@ -0,0 +1,186 @@
---
# Display name
title: 吳健雄
# Name pronunciation (optional)
name_pronunciation: Chien Shiung Wu
# Full name (for SEO)
first_name: Shiung Wu
last_name: Chien
# Status emoji
status:
icon: ☕️
# Is this the primary user of the site?
superuser: true
# Highlight the author in author lists? (true/false)
highlight_name: true
# Role/position/tagline
role: Chief Scientist
# Organizations/Affiliations to display in Biography blox
organizations:
- name: OpenAI
url: https://openai.com/
# Social network links
# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
profiles:
- icon: at-symbol
url: 'mailto:your-email@example.com'
label: E-mail Me
- icon: brands/x
url: https://twitter.com/GetResearchDev
- icon: brands/instagram
url: https://www.instagram.com/
- icon: brands/github
url: https://github.com/gcushen
- icon: brands/linkedin
url: https://www.linkedin.com/
- icon: academicons/google-scholar
url: https://scholar.google.com/
- icon: academicons/orcid
url: https://orcid.org/
interests:
- Artificial Intelligence
- Computational Linguistics
- Information Retrieval
education:
- area: PhD Artificial Intelligence
institution: Stanford University
date_start: 2016-01-01
date_end: 2020-12-31
summary: |
Thesis on _Why LLMs are awesome_. Supervised by [Prof Joe Smith](https://example.com). Presented papers at 5 IEEE conferences with the contributions being published in 2 Springer journals.
button:
text: 'Read Thesis'
url: 'https://example.com'
- area: MEng Artificial Intelligence
institution: Massachusetts Institute of Technology
date_start: 2016-01-01
date_end: 2020-12-31
summary: |
GPA: 3.8/4.0
Courses included:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- area: BSc Artificial Intelligence
institution: Massachusetts Institute of Technology
date_start: 2016-01-01
date_end: 2020-12-31
summary: |
GPA: 3.4/4.0
Courses included:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
work:
- position: Director of Cloud Infrastructure
company_name: GenCoin
company_url: ''
company_logo: ''
date_start: 2021-01-01
date_end: ''
summary: |2-
Responsibilities include:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- position: Backend Software Engineer
company_name: X
company_url: ''
company_logo: ''
date_start: 2016-01-01
date_end: 2020-12-31
summary: |
Responsibilities include:
- Migrated infrastructure to a new data center
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
# Skills
# Add your own SVG icons to `assets/media/icons/`
skills:
- name: Technical Skills
items:
- name: Python
description: ''
percent: 80
icon: code-bracket
- name: Data Science
description: ''
percent: 100
icon: chart-bar
- name: SQL
description: ''
percent: 40
icon: circle-stack
- name: Hobbies
color: '#eeac02'
color_border: '#f0bf23'
items:
- name: Hiking
description: ''
percent: 60
icon: person-simple-walk
- name: Cats
description: ''
percent: 100
icon: cat
- name: Photography
description: ''
percent: 80
icon: camera
languages:
- name: English
percent: 100
- name: Chinese
percent: 75
- name: Portuguese
percent: 25
# Awards.
# Add/remove as many awards below as you like.
# Only `title`, `awarder`, and `date` are required.
# Begin multi-line `summary` with YAML's `|` or `|2-` multi-line prefix and indent 2 spaces below.
awards:
- title: Neural Networks and Deep Learning
url: https://www.coursera.org/learn/neural-networks-deep-learning
date: '2023-11-25'
awarder: Coursera
icon: coursera
summary: |
I studied the foundational concept of neural networks and deep learning. By the end, I was familiar with the significant technological trends driving the rise of deep learning; build, train, and apply fully connected deep neural networks; implement efficient (vectorized) neural networks; identify key parameters in a neural networks architecture; and apply deep learning to your own applications.
- title: Blockchain Fundamentals
url: https://www.edx.org/professional-certificate/uc-berkeleyx-blockchain-fundamentals
date: '2023-07-01'
awarder: edX
icon: edx
summary: |
Learned:
- Synthesize your own blockchain solutions
- Gain an in-depth understanding of the specific mechanics of Bitcoin
- Understand Bitcoins real-life applications and learn how to attack and destroy Bitcoin, Ethereum, smart contracts and Dapps, and alternatives to Bitcoins Proof-of-Work consensus algorithm
- title: 'Object-Oriented Programming in R'
url: https://www.datacamp.com/courses/object-oriented-programming-with-s3-and-r6-in-r
certificate_url: https://www.datacamp.com
date: '2023-01-21'
awarder: datacamp
icon: datacamp
summary: |
Object-oriented programming (OOP) lets you specify relationships between functions and the objects that they can act on, helping you manage complexity in your code. This is an intermediate level course, providing an introduction to OOP, using the S3 and R6 systems. S3 is a great day-to-day R programming tool that simplifies some of the functions that you write. R6 is especially useful for industry-specific analyses, working with web APIs, and building GUIs.
---
## About Me
Chien Shiung Wu is a professor of artificial intelligence at the Stanford AI Lab. Her research interests include distributed robotics, mobile computing and programmable matter. She leads the Robotic Neurobiology group, which develops self-reconfiguring robots, systems of self-organizing robots, and mobile sensor networks.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View file

@ -0,0 +1,13 @@
---
title: Recent & Upcoming Talks
cms_exclude: true
#url: talk
# View
view: card
# Optional cover image (relative to `assets/media/` folder).
image:
caption: ''
filename: ''
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

View file

@ -0,0 +1,75 @@
---
title: Example Talk
event: Hugo Blox Builder Conference
event_url: https://example.org
location: Hugo Blox Builder HQ
address:
street: 450 Serra Mall
city: Stanford
region: CA
postcode: '94305'
country: United States
summary: An example talk using Hugo Blox Builder's Markdown slides feature.
abstract: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellusac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam.'
# Talk start and end times.
# End time can optionally be hidden by prefixing the line with `#`.
date: '2030-06-01T13:00:00Z'
date_end: '2030-06-01T15:00:00Z'
all_day: false
# Schedule page publish date (NOT talk date).
publishDate: '2017-01-01T00:00:00Z'
authors:
- admin
tags: []
# Is this a featured talk? (true/false)
featured: false
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/bzdhc5b3Bxs)'
focal_point: Right
#links:
# - icon: twitter
# icon_pack: fab
# name: Follow
# url: https://twitter.com/georgecushen
url_code: 'https://github.com'
url_pdf: ''
url_slides: 'https://slideshare.net'
url_video: 'https://youtube.com'
# Markdown Slides (optional).
# Associate this talk with Markdown slides.
# Simply enter your slide deck's filename without extension.
# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`.
# Otherwise, set `slides = ""`.
slides: ""
# Projects (optional).
# Associate this post with one or more of your projects.
# Simply enter your project's folder or file name without extension.
# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`.
# Otherwise, set `projects = []`.
projects:
- example
---
{{% callout note %}}
Click on the **Slides** button above to view the built-in slides feature.
{{% /callout %}}
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.

View file

@ -0,0 +1,35 @@
---
title: 'Experience'
date: 2023-10-24
type: landing
design:
spacing: '5rem'
# Note: `username` refers to the user's folder name in `content/authors/`
# Page sections
sections:
- block: resume-experience
content:
username: admin
design:
# Hugo date format
date_format: 'January 2006'
# Education or Experience section first?
is_education_first: false
- block: resume-skills
content:
title: Skills & Hobbies
username: admin
design:
show_skill_percentage: false
- block: resume-awards
content:
title: Awards
username: admin
- block: resume-languages
content:
title: Languages
username: admin
---

View file

@ -0,0 +1,4 @@
---
title: Blog
view: article-grid
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View file

@ -0,0 +1,155 @@
---
title: 📈 Communicate your results effectively with the best data visualizations
summary: Use popular tools such as Plotly, Mermaid, and data frames.
date: 2023-10-26
tags:
- Hugo
- Wowchemy
- Markdown
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
---
Wowchemy is designed to give technical content creators a seamless experience. You can focus on the content and Wowchemy handles the rest.
Use popular tools such as Plotly, Mermaid, and data frames.
## Charts
Wowchemy supports the popular [Plotly](https://plot.ly/) format for interactive data visualizations. With Plotly, you can design almost any kind of visualization you can imagine!
Save your Plotly JSON in your page folder, for example `line-chart.json`, and then add the `{{</* chart data="line-chart" */>}}` shortcode where you would like the chart to appear.
Demo:
{{< chart data="line-chart" >}}
You might also find the [Plotly JSON Editor](http://plotly-json-editor.getforge.io/) useful.
## Diagrams
Wowchemy supports the _Mermaid_ Markdown extension for diagrams.
An example **flowchart**:
```mermaid
graph TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
renders as
```mermaid
graph TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
An example **sequence diagram**:
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
renders as
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
An example **class diagram**:
```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
```
renders as
```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
```
An example **state diagram**:
```mermaid
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
```
renders as
```mermaid
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
```
## Data Frames
Save your spreadsheet as a CSV file in your page's folder and then render it by adding the _Table_ shortcode to your page:
```go
{{</* table path="results.csv" header="true" caption="Table 1: My results" */>}}
```
renders as
{{< table path="results.csv" header="true" caption="Table 1: My results" >}}
## Did you find this page helpful? Consider sharing it 🙌

View file

@ -0,0 +1,71 @@
{
"data": [
{
"uid": "babced",
"fill": "tonexty",
"mode": "none",
"name": "Col2",
"type": "scatter",
"x": [
"2000-01-01",
"2001-01-01",
"2002-01-01",
"2003-01-01",
"2004-01-01",
"2005-01-01",
"2006-01-01",
"2007-01-01",
"2008-01-01",
"2009-01-01",
"2010-01-01",
"2011-01-01",
"2012-01-01",
"2013-01-01",
"2014-01-01",
"2015-01-01",
"2016-01-01"
],
"y": [
"17087182",
"29354370",
"38760373",
"40912332",
"51611646",
"64780617",
"85507314",
"121892559",
"172338726",
"238027855",
"206956723",
"346004403",
"697089489",
"672985183",
"968882453",
"863105652",
"1068513050"
],
"fillcolor": "rgb(224, 102, 102)"
}
],
"layout": {
"title": "Total Number of Websites",
"width": 800,
"xaxis": {
"type": "date",
"range": [946702800000, 1451624400000],
"title": "Source: <a href=\"http://www.scribblrs.com/\">Scribblrs</a><br>Source: <a href=\"http://www.internetlivestats.com/total-number-of-websites/\">Internet Live Stats</a>",
"showgrid": false,
"autorange": true,
"tickformat": "%Y"
},
"yaxis": {
"type": "linear",
"range": [0, 1124750578.9473684],
"title": "",
"autorange": true
},
"height": 500,
"autosize": false
},
"frames": []
}

View file

@ -0,0 +1,4 @@
customer_id, score
1,0
2,0.5
3,1
1 customer_id score
2 1 0
3 2 0.5
4 3 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

View file

@ -0,0 +1,83 @@
---
title: 🎉 Easily create your own simple yet highly customizable blog
summary: Take full control of your personal brand and privacy by migrating away from the big tech platforms!
date: 2023-10-27
# Featured image
# Place an image named `featured.jpg/png` in this page's folder and customize its options here.
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
authors:
- admin
tags:
- Academic
- Wowchemy
- Markdown
---
Welcome 👋
## Overview
1. The Wowchemy website builder for Hugo, along with its starter templates, is designed for professional creators, educators, and teams/organizations - although it can be used to create any kind of site
2. The template can be modified and customised to suit your needs. It's a good platform for anyone looking to take control of their data and online identity whilst having the convenience to start off with a **no-code solution (write in Markdown and customize with YAML parameters)** and having **flexibility to later add even deeper personalization with HTML and CSS**
3. You can work with all your favourite tools and apps with hundreds of plugins and integrations to speed up your workflows, interact with your readers, and much more
[![The template is mobile first with a responsive design to ensure that your site looks stunning on every device.](https://raw.githubusercontent.com/wowchemy/wowchemy-hugo-modules/main/starters/academic/preview.png)](https://hugoblox.com)
## Get Started
- 👉 [**Create a new site**](https://hugoblox.com/templates/)
- 📚 [**Personalize your site**](https://docs.hugoblox.com/)
- 💬 [Chat with the **Wowchemy community**](https://discord.gg/z8wNYzb) or [**Hugo community**](https://discourse.gohugo.io)
- 🐦 Twitter: [@wowchemy](https://twitter.com/wowchemy) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithWowchemy](https://twitter.com/search?q=%23MadeWithWowchemy&src=typed_query)
- 💡 [Request a **feature** or report a **bug** for _Wowchemy_](https://github.com/HugoBlox/hugo-blox-builder/issues)
- ⬆️ **Updating Wowchemy?** View the [Update Guide](https://docs.hugoblox.com/reference/update/) and [Release Notes](https://github.com/HugoBlox/hugo-blox-builder/releases)
## Crowd-funded open-source software
To help us develop this template and software sustainably under the MIT license, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship.
### [❤️ Click here to become a sponsor and help support Wowchemy's future ❤️](https://hugoblox.com/sponsor/)
As a token of appreciation for sponsoring, you can **unlock [these](https://hugoblox.com/sponsor/) awesome rewards and extra features 🦄✨**
## Ecosystem
- **[Bibtex To Markdown](https://github.com/GetRD/academic-file-converter):** Automatically import publications from BibTeX
## Inspiration
[Learn what other **creators**](https://hugoblox.com/creators/) are building with this template.
## Features
- **Page builder** - Create _anything_ with no-code [**blocks**](https://hugoblox.com/blocks/) and [**elements**](https://docs.hugoblox.com/reference/markdown/)
- **Edit any type of content** - Blog posts, publications, talks, slides, projects, and more!
- **Create content** in [**Markdown**](https://docs.hugoblox.com/reference/markdown/), [**Jupyter**](https://docs.hugoblox.com/getting-started/cms/), or [**RStudio**](https://docs.hugoblox.com/getting-started/cms/)
- **Plugin System** - Fully customizable [**color** and **font themes**](https://docs.hugoblox.com/getting-started/customize/)
- **Display Code and Math** - Code syntax highlighting and LaTeX math supported
- **Integrations** - [Google Analytics](https://analytics.google.com), [Disqus commenting](https://disqus.com), Maps, Contact Forms, and more!
- **Beautiful Site** - Simple and refreshing one-page design
- **Industry-Leading SEO** - Help get your website found on search engines and social media
- **Media Galleries** - Display your images and videos with captions in a customizable gallery
- **Mobile Friendly** - Look amazing on every screen with a mobile friendly version of your site
- **Multi-language** - 35+ language packs including English, 中文, and Português
- **Multi-user** - Each author gets their own profile page
- **Privacy Pack** - Assists with GDPR
- **Stand Out** - Bring your site to life with animation, parallax backgrounds, and scroll effects
- **One-Click Deployment** - No servers. No databases. Only files.
## Themes
Wowchemy and its templates come with **automatic day (light) and night (dark) mode** built-in. Visitors can choose their preferred mode by clicking the sun/moon icon in the header.
[Choose a stunning **theme** and **font**](https://docs.hugoblox.com/getting-started/customize/) for your site. Themes are fully customizable.
## License
Copyright 2016-present [George Cushen](https://georgecushen.com).
Released under the [MIT](https://github.com/HugoBlox/hugo-blox-builder/blob/main/LICENSE.md) license.

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

View file

@ -0,0 +1,92 @@
---
title: ✅ Manage your projects
summary: Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!
date: 2023-10-23
tags:
- Wowchemy
- Markdown
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
---
Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!
## Ideation
Wowchemy supports a Markdown extension for mindmaps.
Simply insert a Markdown code block labelled as `markmap` and optionally set the height of the mindmap as shown in the example below.
Mindmaps can be created by simply writing the items as a Markdown list within the `markmap` code block, indenting each item to create as many sub-levels as you need:
<div class="highlight">
<pre class="chroma">
<code>
```markmap {height="200px"}
- Hugo Modules
- wowchemy
- blox-plugins-netlify
- blox-plugins-netlify-cms
- blox-plugins-reveal
```
</code>
</pre>
</div>
renders as
```markmap {height="200px"}
- Hugo Modules
- wowchemy
- blox-plugins-netlify
- blox-plugins-netlify-cms
- blox-plugins-reveal
```
## Diagrams
Wowchemy supports the _Mermaid_ Markdown extension for diagrams.
An example **Gantt diagram**:
```mermaid
gantt
section Section
Completed :done, des1, 2014-01-06,2014-01-08
Active :active, des2, 2014-01-07, 3d
Parallel 1 : des3, after des1, 1d
Parallel 2 : des4, after des1, 1d
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
```
renders as
```mermaid
gantt
section Section
Completed :done, des1, 2014-01-06,2014-01-08
Active :active, des2, 2014-01-07, 3d
Parallel 1 : des3, after des1, 1d
Parallel 2 : des4, after des1, 1d
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
```
## Todo lists
You can even write your todo lists in Markdown too:
```markdown
- [x] Write math example
- [x] Write diagram example
- [ ] Do something else
```
renders as
- [x] Write math example
- [x] Write diagram example
- [ ] Do something else
## Did you find this page helpful? Consider sharing it 🙌

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View file

@ -0,0 +1,136 @@
---
title: 🧠 Sharpen your thinking with a second brain
summary: Create a personal knowledge base and share your knowledge with your peers.
date: 2023-10-26
tags:
- Second Brain
- Markdown
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
---
Create a personal knowledge base and share your knowledge with your peers.
Wowchemy web framework empowers you with one of the most flexible note-taking capabilities out there.
Create a powerful knowledge base that works on top of a local folder of plain text Markdown files.
Use it as your second brain, either publicly sharing your knowledge with your peers via your website, or via a private GitHub repository and password-protected site just for yourself.
## Mindmaps
Wowchemy supports a Markdown extension for mindmaps.
With this open format, can even edit your mindmaps in other popular tools such as Obsidian.
Simply insert a Markdown code block labelled as `markmap` and optionally set the height of the mindmap as shown in the example below.
Mindmaps can be created by simply writing the items as a Markdown list within the `markmap` code block, indenting each item to create as many sub-levels as you need:
<div class="highlight">
<pre class="chroma">
<code>
```markmap {height="200px"}
- Hugo Modules
- wowchemy
- blox-plugins-netlify
- blox-plugins-netlify-cms
- blox-plugins-reveal
```
</code>
</pre>
</div>
renders as
```markmap {height="200px"}
- Hugo Modules
- wowchemy
- blox-plugins-netlify
- blox-plugins-netlify-cms
- blox-plugins-reveal
```
Anh here's a more advanced mindmap with formatting, code blocks, and math:
<div class="highlight">
<pre class="chroma">
<code>
```markmap
- Mindmaps
- Links
- [Wowchemy Docs](https://docs.hugoblox.com/)
- [Discord Community](https://discord.gg/z8wNYzb)
- [GitHub](https://github.com/HugoBlox/hugo-blox-builder)
- Features
- Markdown formatting
- **inline** ~~text~~ *styles*
- multiline
text
- `inline code`
-
```js
console.log('hello');
console.log('code block');
```
- Math: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$
```
</code>
</pre>
</div>
renders as
```markmap
- Mindmaps
- Links
- [Wowchemy Docs](https://docs.hugoblox.com/)
- [Discord Community](https://discord.gg/z8wNYzb)
- [GitHub](https://github.com/HugoBlox/hugo-blox-builder)
- Features
- Markdown formatting
- **inline** ~~text~~ *styles*
- multiline
text
- `inline code`
-
```js
console.log('hello');
console.log('code block');
```
- Math: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$
```
## Highlighting
<mark>Highlight</mark> important text with `mark`:
```html
<mark>Highlighted text</mark>
```
## Callouts
Use [callouts](https://docs.hugoblox.com/reference/markdown/#callouts) (aka _asides_, _hints_, or _alerts_) to draw attention to notes, tips, and warnings.
By wrapping a paragraph in `{{%/* callout note */%}} ... {{%/* /callout */%}}`, it will render as an aside.
```markdown
{{%/* callout note */%}}
A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
{{%/* /callout */%}}
```
renders as
{{% callout note %}}
A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
{{% /callout %}}
Or use the `warning` callout type so your readers don't miss critical details:
{{% callout warning %}}
A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
{{% /callout %}}
## Did you find this page helpful? Consider sharing it 🙌

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View file

@ -0,0 +1,141 @@
---
title: 👩🏼‍🏫 Teach academic courses
summary: Embed videos, podcasts, code, LaTeX math, and even test students!
date: 2023-10-24
math: true
tags:
- Hugo
- Hugo Blox Builder
- Markdown
image:
caption: 'Embed rich media such as videos and LaTeX math'
---
[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.
**Embed videos, podcasts, code, LaTeX math, and even test students!**
On this page, you'll find some examples of the types of technical content that can be rendered with Hugo Blox.
## Video
Teach your course by sharing videos with your students. Choose from one of the following approaches:
{{< youtube D2vj0WcvH5c >}}
**Youtube**:
{{</* youtube w7Ft2ymGmfc */>}}
**Bilibili**:
{{</* bilibili id="BV1WV4y1r7DF" */>}}
**Video file**
Videos may be added to a page by either placing them in your `assets/media/` media library or in your [page's folder](https://gohugo.io/content-management/page-bundles/), and then embedding them with the _video_ shortcode:
{{</* video src="my_video.mp4" controls="yes" */>}}
## Podcast
You can add a podcast or music to a page by placing the MP3 file in the page's folder or the media library folder and then embedding the audio on your page with the _audio_ shortcode:
{{</* audio src="ambient-piano.mp3" */>}}
Try it out:
{{< audio src="ambient-piano.mp3" >}}
## Test students
Provide a simple yet fun self-assessment by revealing the solutions to challenges with the `spoiler` shortcode:
```markdown
{{</* spoiler text="👉 Click to view the solution" */>}}
You found me!
{{</* /spoiler */>}}
```
renders as
{{< spoiler text="👉 Click to view the solution" >}} You found me 🎉 {{< /spoiler >}}
## Math
Hugo Blox Builder supports a Markdown extension for $\LaTeX$ math. You can enable this feature by toggling the `math` option in your `config/_default/params.yaml` file.
To render _inline_ or _block_ math, wrap your LaTeX math with `{{</* math */>}}$...${{</* /math */>}}` or `{{</* math */>}}$$...$${{</* /math */>}}`, respectively.
{{% callout note %}}
We wrap the LaTeX math in the Hugo Blox _math_ shortcode to prevent Hugo rendering our math as Markdown.
{{% /callout %}}
Example **math block**:
```latex
{{</* math */>}}
$$
\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}
$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$
{{< /math >}}
Example **inline math** `{{</* math */>}}$\nabla F(\mathbf{x}_{n})${{</* /math */>}}` renders as {{< math >}}$\nabla F(\mathbf{x}_{n})${{< /math >}}.
Example **multi-line math** using the math linebreak (`\\`):
```latex
{{</* math */>}}
$$f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$
f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}
$$
{{< /math >}}
## Code
Hugo Blox Builder utilises Hugo's Markdown extension for highlighting code syntax. The code theme can be selected in the `config/_default/params.yaml` file.
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
renders as
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
## Inline Images
```go
{{</* icon name="python" */>}} Python
```
renders as
{{< icon name="python" >}} Python
## Did you find this page helpful? Consider sharing it 🙌

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View file

@ -0,0 +1,13 @@
---
title: Pandas
date: 2023-10-26
external_link: https://github.com/pandas-dev/pandas
tags:
- Hugo
- Wowchemy
- Markdown
---
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures.
<!--more-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -0,0 +1,13 @@
---
title: PyTorch
date: 2023-10-26
external_link: https://github.com/pytorch/pytorch
tags:
- Hugo
- Wowchemy
- Markdown
---
PyTorch is a Python package that provides tensor computation (like NumPy) with strong GPU acceleration.
<!--more-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -0,0 +1,13 @@
---
title: scikit-learn
date: 2023-10-26
external_link: https://github.com/scikit-learn/scikit-learn
tags:
- Hugo
- Wowchemy
- Markdown
---
scikit-learn is a Python module for machine learning built on top of SciPy and is distributed under the 3-Clause BSD license.
<!--more-->

View file

@ -0,0 +1,23 @@
---
title: 'Projects'
date: 2024-05-19
type: landing
design:
# Section spacing
spacing: '5rem'
# Page sections
sections:
- block: collection
content:
title: Selected Projects
text: I enjoy making things. Here are a selection of projects that I have worked on over the years.
filters:
folders:
- project
design:
view: article-grid
fill_image: false
columns: 3
---

View file

@ -0,0 +1,12 @@
---
title: Publications
cms_exclude: true
# View.
view: citation
# Optional header image (relative to `static/media/` folder).
banner:
caption: ''
image: ''
---

View file

@ -0,0 +1,8 @@
@inproceedings{example1,
title={An example conference paper},
author={Bighetti, Nelson and Ford, Robert},
booktitle={Source Themes Conference},
pages={1--6},
year={2013},
organization={IEEE}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

View file

@ -0,0 +1,87 @@
---
title: 'An example conference paper'
# Authors
# If you created a profile for a user (e.g. the default `admin` user), write the username (folder name) here
# and it will be replaced with their full name and linked to their profile.
authors:
- admin
- Robert Ford
# Author notes (optional)
author_notes:
- 'Equal contribution'
- 'Equal contribution'
date: '2013-07-01T00:00:00Z'
doi: ''
# Schedule page publish date (NOT publication's date).
publishDate: '2017-01-01T00:00:00Z'
# Publication type.
# Accepts a single type but formatted as a YAML list (for Hugo requirements).
# Enter a publication type from the CSL standard.
publication_types: ['paper-conference']
# Publication name and optional abbreviated publication name.
publication: In *Hugo Blox Builder Conference*
publication_short: In *ICW*
abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
# Summary. An optional shortened abstract.
summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.
tags:
- Large Language Models
# Display this page in the Featured widget?
featured: true
# Custom links (uncomment lines below)
# links:
# - name: Custom Link
# url: http://example.org
url_pdf: ''
url_code: 'https://github.com/HugoBlox/hugo-blox-builder'
url_dataset: 'https://github.com/HugoBlox/hugo-blox-builder'
url_poster: ''
url_project: ''
url_slides: ''
url_source: 'https://github.com/HugoBlox/hugo-blox-builder'
url_video: 'https://youtube.com'
# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/pLCdAaMFLTE)'
focal_point: ''
preview_only: false
# Associated Projects (optional).
# Associate this publication with one or more of your projects.
# Simply enter your project's folder or file name without extension.
# E.g. `internal-project` references `content/project/internal-project/index.md`.
# Otherwise, set `projects: []`.
projects:
- example
# Slides (optional).
# Associate this publication with Markdown slides.
# Simply enter your slide deck's filename without extension.
# E.g. `slides: "example"` references `content/slides/example/index.md`.
# Otherwise, set `slides: ""`.
slides: example
---
{{% callout note %}}
Click the _Cite_ button above to demo the feature to enable visitors to import publication metadata into their reference management software.
{{% /callout %}}
{{% callout note %}}
Create your slides in Markdown - click the _Slides_ button to check out the example.
{{% /callout %}}
Add the publication's **full text** or **supplementary notes** here. You can use rich formatting such as including [code, math, and images](https://docs.hugoblox.com/content/writing-markdown-latex/).

View file

@ -0,0 +1,8 @@
@article{example2,
title = {An example journal article},
author={Bighetti, Nelson and Ford, Robert},
journal = {Journal of Source Themes},
year = 2015,
volume = 1,
number = 1
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

View file

@ -0,0 +1,75 @@
---
title: "An example journal article"
authors:
- admin
- Robert Ford
author_notes:
- "Equal contribution"
- "Equal contribution"
date: "2015-09-01T00:00:00Z"
doi: ""
# Schedule page publish date (NOT publication's date).
publishDate: "2017-01-01T00:00:00Z"
# Publication type.
# Accepts a single type but formatted as a YAML list (for Hugo requirements).
# Enter a publication type from the CSL standard.
publication_types: ["article-journal"]
# Publication name and optional abbreviated publication name.
publication: "*Journal of Source Themes, 1*(1)"
publication_short: ""
abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
# Summary. An optional shortened abstract.
summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.
tags:
- Source Themes
featured: false
# links:
# - name: ""
# url: ""
url_pdf: http://arxiv.org/pdf/1512.04133v1
url_code: 'https://github.com/HugoBlox/hugo-blox-builder'
url_dataset: ''
url_poster: ''
url_project: ''
url_slides: ''
url_source: ''
url_video: ''
# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/jdD8gXaTZsc)'
focal_point: ""
preview_only: false
# Associated Projects (optional).
# Associate this publication with one or more of your projects.
# Simply enter your project's folder or file name without extension.
# E.g. `internal-project` references `content/project/internal-project/index.md`.
# Otherwise, set `projects: []`.
projects: []
# Slides (optional).
# Associate this publication with Markdown slides.
# Simply enter your slide deck's filename without extension.
# E.g. `slides: "example"` references `content/slides/example/index.md`.
# Otherwise, set `slides: ""`.
slides: example
---
{{% callout note %}}
Click the *Cite* button above to demo the feature to enable visitors to import publication metadata into their reference management software.
{{% /callout %}}
{{% callout note %}}
Create your slides in Markdown - click the *Slides* button to check out the example.
{{% /callout %}}
Add the publication's **full text** or **supplementary notes** here. You can use rich formatting such as including [code, math, and images](https://docs.hugoblox.com/content/writing-markdown-latex/).

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

View file

@ -0,0 +1,71 @@
---
title: "An example preprint / working paper"
authors:
- admin
date: "2019-04-07T00:00:00Z"
doi: ""
# Schedule page publish date (NOT publication's date).
publishDate: "2017-01-01T00:00:00Z"
# Publication type.
# Accepts a single type but formatted as a YAML list (for Hugo requirements).
# Enter a publication type from the CSL standard.
publication_types: ["article"]
# Publication name and optional abbreviated publication name.
publication: ""
publication_short: ""
abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.
# Summary. An optional shortened abstract.
summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.
tags:
- Large Language Models
featured: true
links:
- name: Custom Link
url: http://example.org
url_pdf: http://arxiv.org/pdf/1512.04133v1
url_code: 'https://github.com/HugoBlox/hugo-blox-builder'
url_dataset: '#'
url_poster: '#'
url_project: ''
url_slides: ''
url_source: '#'
url_video: '#'
# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/s9CC2SKySJM)'
focal_point: ""
preview_only: false
# Associated Projects (optional).
# Associate this publication with one or more of your projects.
# Simply enter your project's folder or file name without extension.
# E.g. `internal-project` references `content/project/internal-project/index.md`.
# Otherwise, set `projects: []`.
projects:
- internal-project
# Slides (optional).
# Associate this publication with Markdown slides.
# Simply enter your slide deck's filename without extension.
# E.g. `slides: "example"` references `content/slides/example/index.md`.
# Otherwise, set `slides: ""`.
slides: example
---
This work is driven by the results in my [previous paper](/publication/conference-paper/) on LLMs.
{{% callout note %}}
Create your slides in Markdown - click the *Slides* button to check out the example.
{{% /callout %}}
Add the publication's **full text** or **supplementary notes** here. You can use rich formatting such as including [code, math, and images](https://docs.hugoblox.com/content/writing-markdown-latex/).

View file

@ -0,0 +1,23 @@
---
title: Teaching
summary: My courses
type: landing
cascade:
- _target:
kind: page
params:
show_breadcrumb: true
sections:
- block: collection
id: teaching
content:
title: Teaching
filters:
folders:
- teaching
design:
view: article-grid
columns: 2
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View file

@ -0,0 +1,140 @@
---
title: Learn JavaScript
summary: Easily learn JavaScript in 10 minutes!
date: 2023-10-24
type: docs
math: false
tags:
- JavaScript
image:
caption: 'Embed rich media such as videos and LaTeX math'
---
[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.
**Embed videos, podcasts, code, LaTeX math, and even test students!**
On this page, you'll find some examples of the types of technical content that can be rendered with Hugo Blox.
## Video
Teach your course by sharing videos with your students. Choose from one of the following approaches:
{{< youtube D2vj0WcvH5c >}}
**Youtube**:
{{</* youtube w7Ft2ymGmfc */>}}
**Bilibili**:
{{</* bilibili id="BV1WV4y1r7DF" */>}}
**Video file**
Videos may be added to a page by either placing them in your `assets/media/` media library or in your [page's folder](https://gohugo.io/content-management/page-bundles/), and then embedding them with the _video_ shortcode:
{{</* video src="my_video.mp4" controls="yes" */>}}
## Podcast
You can add a podcast or music to a page by placing the MP3 file in the page's folder or the media library folder and then embedding the audio on your page with the _audio_ shortcode:
{{</* audio src="ambient-piano.mp3" */>}}
Try it out:
{{< audio src="ambient-piano.mp3" >}}
## Test students
Provide a simple yet fun self-assessment by revealing the solutions to challenges with the `spoiler` shortcode:
```markdown
{{</* spoiler text="👉 Click to view the solution" */>}}
You found me!
{{</* /spoiler */>}}
```
renders as
{{< spoiler text="👉 Click to view the solution" >}} You found me 🎉 {{< /spoiler >}}
## Math
Hugo Blox Builder supports a Markdown extension for $\LaTeX$ math. You can enable this feature by toggling the `math` option in your `config/_default/params.yaml` file.
To render _inline_ or _block_ math, wrap your LaTeX math with `{{</* math */>}}$...${{</* /math */>}}` or `{{</* math */>}}$$...$${{</* /math */>}}`, respectively.
{{% callout note %}}
We wrap the LaTeX math in the Hugo Blox _math_ shortcode to prevent Hugo rendering our math as Markdown.
{{% /callout %}}
Example **math block**:
```latex
{{</* math */>}}
$$
\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}
$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$
{{< /math >}}
Example **inline math** `{{</* math */>}}$\nabla F(\mathbf{x}_{n})${{</* /math */>}}` renders as {{< math >}}$\nabla F(\mathbf{x}_{n})${{< /math >}}.
Example **multi-line math** using the math linebreak (`\\`):
```latex
{{</* math */>}}
$$f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$
f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}
$$
{{< /math >}}
## Code
Hugo Blox Builder utilises Hugo's Markdown extension for highlighting code syntax. The code theme can be selected in the `config/_default/params.yaml` file.
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
renders as
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
## Inline Images
```go
{{</* icon name="python" */>}} Python
```
renders as
{{< icon name="python" >}} Python
## Did you find this page helpful? Consider sharing it 🙌

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View file

@ -0,0 +1,140 @@
---
title: Learn Python
summary: Easily learn Python in 10 minutes!
date: 2023-10-24
type: docs
math: false
tags:
- Python
image:
caption: 'Embed rich media such as videos and LaTeX math'
---
[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.
**Embed videos, podcasts, code, LaTeX math, and even test students!**
On this page, you'll find some examples of the types of technical content that can be rendered with Hugo Blox.
## Video
Teach your course by sharing videos with your students. Choose from one of the following approaches:
{{< youtube D2vj0WcvH5c >}}
**Youtube**:
{{</* youtube w7Ft2ymGmfc */>}}
**Bilibili**:
{{</* bilibili id="BV1WV4y1r7DF" */>}}
**Video file**
Videos may be added to a page by either placing them in your `assets/media/` media library or in your [page's folder](https://gohugo.io/content-management/page-bundles/), and then embedding them with the _video_ shortcode:
{{</* video src="my_video.mp4" controls="yes" */>}}
## Podcast
You can add a podcast or music to a page by placing the MP3 file in the page's folder or the media library folder and then embedding the audio on your page with the _audio_ shortcode:
{{</* audio src="ambient-piano.mp3" */>}}
Try it out:
{{< audio src="ambient-piano.mp3" >}}
## Test students
Provide a simple yet fun self-assessment by revealing the solutions to challenges with the `spoiler` shortcode:
```markdown
{{</* spoiler text="👉 Click to view the solution" */>}}
You found me!
{{</* /spoiler */>}}
```
renders as
{{< spoiler text="👉 Click to view the solution" >}} You found me 🎉 {{< /spoiler >}}
## Math
Hugo Blox Builder supports a Markdown extension for $\LaTeX$ math. You can enable this feature by toggling the `math` option in your `config/_default/params.yaml` file.
To render _inline_ or _block_ math, wrap your LaTeX math with `{{</* math */>}}$...${{</* /math */>}}` or `{{</* math */>}}$$...$${{</* /math */>}}`, respectively.
{{% callout note %}}
We wrap the LaTeX math in the Hugo Blox _math_ shortcode to prevent Hugo rendering our math as Markdown.
{{% /callout %}}
Example **math block**:
```latex
{{</* math */>}}
$$
\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}
$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$
{{< /math >}}
Example **inline math** `{{</* math */>}}$\nabla F(\mathbf{x}_{n})${{</* /math */>}}` renders as {{< math >}}$\nabla F(\mathbf{x}_{n})${{< /math >}}.
Example **multi-line math** using the math linebreak (`\\`):
```latex
{{</* math */>}}
$$f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}$$
{{</* /math */>}}
```
renders as
{{< math >}}
$$
f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} & \text{if }k=1, \\
1-p_{0}^{*} & \text{if }k=0.\end{cases}
$$
{{< /math >}}
## Code
Hugo Blox Builder utilises Hugo's Markdown extension for highlighting code syntax. The code theme can be selected in the `config/_default/params.yaml` file.
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
renders as
```python
import pandas as pd
data = pd.read_csv("data.csv")
data.head()
```
## Inline Images
```go
{{</* icon name="python" */>}} Python
```
renders as
{{< icon name="python" >}} Python
## Did you find this page helpful? Consider sharing it 🙌

View file

@ -0,0 +1,8 @@
module github.com/HugoBlox/hugo-blox-builder/starters/academic-cv
go 1.22
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231209203044-d31adfedd40b
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)

View file

@ -0,0 +1,2 @@
build:
hugo_version: '0.126.1'

View file

@ -0,0 +1 @@
<script async defer src="https://buttons.github.io/buttons.js"></script>

View file

@ -0,0 +1,21 @@
[build]
command = "hugo --gc --minify -b $URL && npx pagefind --source 'public'"
publish = "public"
[build.environment]
HUGO_VERSION = "0.126.1"
HUGO_ENABLEGITINFO = "true"
[context.production.environment]
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL && npx pagefind --source 'public'"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL && npx pagefind --source 'public'"
[[plugins]]
package = "netlify-plugin-hugo-cache-resources"
[plugins.inputs]
debug = true

Binary file not shown.

View file

@ -4,5 +4,5 @@ go 1.19
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231125204555-f431a4a2c705
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240518201414-971f297e4612
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)

View file

@ -4,5 +4,5 @@ go 1.15
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20240217212918-ae7f0c597978
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240518201414-971f297e4612
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)

View file

@ -4,5 +4,5 @@ go 1.19
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231108143325-448ed0e3bd2b
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240518201414-971f297e4612
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)

View file

@ -4,5 +4,5 @@ go 1.19
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231108143325-448ed0e3bd2b
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240518201414-971f297e4612
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)

View file

@ -4,5 +4,5 @@ go 1.19
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231125200520-804c70f7efb8
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240518201414-971f297e4612
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240519161223-50c6efcd67ff
)