diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 0000000..160b474 --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,78 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.121.0 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: ./public + + # Deployment job + deploy: + 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@v3 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..426d936 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "themes/blowfish"] + path = themes/blowfish + url = https://github.com/nunocoracao/blowfish.git + branch = main diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/assets/img/author2.png b/assets/img/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/assets/img/author2.png differ diff --git a/assets/img/bg.jpg b/assets/img/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/assets/img/bg.jpg differ diff --git a/assets/img/blowfish.jpg b/assets/img/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/assets/img/blowfish.jpg differ diff --git a/assets/img/blowfish_banner.png b/assets/img/blowfish_banner.png new file mode 100644 index 0000000..d97bbf2 Binary files /dev/null and b/assets/img/blowfish_banner.png differ diff --git a/assets/img/blowfish_banner_transparent.png b/assets/img/blowfish_banner_transparent.png new file mode 100644 index 0000000..73079b7 Binary files /dev/null and b/assets/img/blowfish_banner_transparent.png differ diff --git a/assets/img/blowfish_logo.png b/assets/img/blowfish_logo.png new file mode 100644 index 0000000..26fa15d Binary files /dev/null and b/assets/img/blowfish_logo.png differ diff --git a/assets/img/blowfish_logo_transparent.png b/assets/img/blowfish_logo_transparent.png new file mode 100644 index 0000000..197a309 Binary files /dev/null and b/assets/img/blowfish_logo_transparent.png differ diff --git a/assets/img/iceland.jpg b/assets/img/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/assets/img/iceland.jpg differ diff --git a/assets/img/nuno_avatar.jpg b/assets/img/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/assets/img/nuno_avatar.jpg differ diff --git a/assets/img/ocean.jpg b/assets/img/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/assets/img/ocean.jpg differ diff --git a/assets/img/paint.png b/assets/img/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/assets/img/paint.png differ diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml new file mode 100644 index 0000000..a02c2f9 --- /dev/null +++ b/config/_default/hugo.toml @@ -0,0 +1,65 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/getting-started/ + +theme = "blowfish" +baseURL = "https://nunocoracao.github.io/blowfish" +defaultContentLanguage = "en" + +# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles + +enableRobotsTXT = true +paginate = 100 +summaryLength = 30 + +buildDrafts = false +buildFuture = false + +googleAnalytics = "G-PEDMYR1V0K" + +[imaging] + anchor = 'Center' + +[taxonomies] + tag = "tags" + category = "categories" + author = "authors" + series = "series" + +[sitemap] + changefreq = 'always' + filename = 'sitemap.xml' + priority = 0.5 + +[outputs] + home = ["HTML", "RSS", "JSON"] + +[related] + threshold = 0 + toLower = false + + [[related.indices]] + name = "tags" + weight = 100 + + [[related.indices]] + name = "categories" + weight = 100 + + [[related.indices]] + name = "series" + weight = 50 + + [[related.indices]] + name = "authors" + weight = 20 + + [[related.indices]] + name = "date" + weight = 10 + + [[related.indices]] + applyFilter = false + name = 'fragmentrefs' + type = 'fragments' + weight = 10 diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml new file mode 100644 index 0000000..1baad36 --- /dev/null +++ b/config/_default/languages.en.toml @@ -0,0 +1,27 @@ +languageCode = "en" +languageName = "English" +weight = 1 +title = "Blowfish" + +[params] + displayName = "EN" + isoCode = "en" + rtl = false + dateFormat = "2 January 2006" + logo = "img/blowfish_logo_transparent.png" + # secondaryLogo = "PATH" + description = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + # copyright = "Copy, _right?_ :thinking_face:" + +[author] + name = "Blowfish" + image = "img/blowfish_logo.png" + headline = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + bio = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + links = [ + { x-twitter = "https://twitter.com/burufugu" }, + { mastodon = "https://masto.ai/@blowfish" }, + { github = "https://github.com/nunocoracao/blowfish" }, + ] + + \ No newline at end of file diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 0000000..c5449fc --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 4 diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml new file mode 100644 index 0000000..b38af0e --- /dev/null +++ b/config/_default/menus.en.toml @@ -0,0 +1,90 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Docs" + pageRef = "docs" + weight = 10 + +[[main]] + name = "Shortcodes" + pageRef = "docs/shortcodes" + weight = 15 + +[[main]] + name = "Samples" + pageRef = "samples" + weight = 16 + +[[main]] + name = "Examples" + weight = 20 + +[[main]] + name = "Showcase" + parent = "Examples" + pageRef = "examples" + weight = 30 + +[[main]] + name = "Recipes" + parent = "Examples" + pageRef = "guides" + weight = 40 + +[[main]] + name = "Users" + pageRef = "users" + weight = 90 + +#[[main]] +# name = "Merch" +# url = "http://tee.pub/lic/qwSlWVBL5zc" +# weight = 100 + +#[[main]] +# name = "Test" +# pageRef = "pagTest" +# weight = 1000 + +[[main]] + identifier = "twitter" + pre = "x-twitter" + url = "https://twitter.com/burufugu" + weight = 200 + +[[main]] + identifier = "mastodon" + pre = "mastodon" + url = "https://masto.ai/@blowfish" + weight = 300 + +[[main]] + identifier = "github" + pre = "github" + url = "https://github.com/nunocoracao/blowfish" + weight = 400 + + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + + [[footer]] + name = "Tags" + pageRef = "tags" + weight = 10 + + [[footer]] + name = "Authors" + pageRef = "authors" + weight = 20 diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..11319d6 --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,141 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/configuration/#theme-parameters + +colorScheme = "blowfish" +defaultAppearance = "dark" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = true + +mainSections = ["docs"] +# robots = "" + +disableImageOptimization = false +disableTextInHeader = false + +defaultBackgroundImage = "/img/ocean.jpg" +defaultFeaturedImage = "/img/ocean.jpg" + +highlightCurrentMenuArea = true +smartTOC = true +smartTOCHideUnfocusedChildren = false + +[header] + layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-fill-blur + +[footer] + showMenu = true + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "custom" # valid options: page, profile, hero, card, background, custom + # homepageImage = "/img/iceland.jpg" # used in: hero, and card + showRecent = false + showRecentItems = 12 + showMoreLink = true + showMoreLinkDest = "docs" + cardView = false + cardViewScreenWidth = false + layoutBackgroundBlur = true # only used when layout equals background + +[article] + showDate = false + showViews = true + showLikes = true + showDateUpdated = false + showAuthor = true + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background + showBreadcrumbs = true + showDraftLabel = true + showEdit = true + editURL = "https://github.com/nunocoracao/blowfish/tree/main/exampleSite/content" + editAppendPath = true + seriesOpened = false + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = true + showRelatedContent = true + relatedContentLimit = 6 + showTaxonomies = true + showAuthorsBadges = true + showWordCount = false + sharingLinks = [ "linkedin", "twitter", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email"] + showZenMode = true + +[list] + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background + layoutBackgroundHeaderSpace = false + showBreadcrumbs = false + showSummary = false + showViews = true + showLikes = true + showTableOfContents = true + showCards = true + groupByYear = false + cardView = true + cardViewScreenWidth = false + constrainItemsWidth = false + +[sitemap] + excludedKinds = [] + +[taxonomy] + showTermCount = true + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = true + showLikes = true + showTableOfContents = true + cardView = false + +[term] + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = true + showLikes = true + showTableOfContents = true + groupByYear = false + cardView = true + cardViewScreenWidth = false + +[firebase] + apiKey = "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY" + authDomain = "blowfish-21fff.firebaseapp.com" + projectId = "blowfish-21fff" + storageBucket = "blowfish-21fff.appspot.com" + messagingSenderId = "60108104191" + appId = "1:60108104191:web:039842ebe1370698b487ca" + measurementId = "G-PEDMYR1V0K" + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" + +[buymeacoffee] + identifier = "nunocoracao" + globalWidget = true + globalWidgetMessage = "" + globalWidgetColor = "#FFDD00" + globalWidgetPosition = "Right" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..7e568b8 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,3 @@ +baseURL = 'https://example.org/' +languageCode = 'en-us' +title = 'My New Hugo Site' diff --git a/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png new file mode 100644 index 0000000..fa2a03e Binary files /dev/null and b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png differ diff --git a/themes/blowfish b/themes/blowfish new file mode 160000 index 0000000..9818cfd --- /dev/null +++ b/themes/blowfish @@ -0,0 +1 @@ +Subproject commit 9818cfd07b7038a22e582ec26f95159817e38d1a