From 142f5da818aec50144dd837e18054448d321cc29 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Mon, 6 Mar 2023 07:50:04 -0800 Subject: [PATCH] Update GitHub hosting instructions (#1991) Closes #1990 --- .../hosting-on-github.md | 118 ------------ .../hosting-on-github/gh-pages-1.png | Bin 0 -> 3677 bytes .../hosting-on-github/gh-pages-2.png | Bin 0 -> 4014 bytes .../hosting-on-github/gh-pages-3.png | Bin 0 -> 6390 bytes .../hosting-on-github/gh-pages-4.png | Bin 0 -> 6258 bytes .../hosting-on-github/gh-pages-5.png | Bin 0 -> 4793 bytes .../hosting-on-github/index.md | 180 ++++++++++++++++++ 7 files changed, 180 insertions(+), 118 deletions(-) delete mode 100644 content/en/hosting-and-deployment/hosting-on-github.md create mode 100644 content/en/hosting-and-deployment/hosting-on-github/gh-pages-1.png create mode 100644 content/en/hosting-and-deployment/hosting-on-github/gh-pages-2.png create mode 100644 content/en/hosting-and-deployment/hosting-on-github/gh-pages-3.png create mode 100644 content/en/hosting-and-deployment/hosting-on-github/gh-pages-4.png create mode 100644 content/en/hosting-and-deployment/hosting-on-github/gh-pages-5.png create mode 100644 content/en/hosting-and-deployment/hosting-on-github/index.md diff --git a/content/en/hosting-and-deployment/hosting-on-github.md b/content/en/hosting-and-deployment/hosting-on-github.md deleted file mode 100644 index 76de0f3a58..0000000000 --- a/content/en/hosting-and-deployment/hosting-on-github.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Host on GitHub -linktitle: Host on GitHub -description: Deploy Hugo as a GitHub Pages project or personal/organizational site and automate the whole process with Github Action Workflow -date: 2014-03-21 -publishdate: 2014-03-21 -categories: [hosting and deployment] -keywords: [github,git,deployment,hosting] -authors: [Spencer Lyon, Gunnar Morling] -menu: - docs: - parent: "hosting-and-deployment" - weight: 30 -weight: 30 -sections_weight: 30 -toc: true -aliases: [/tutorials/github-pages-blog/] ---- - -GitHub provides free and fast static hosting over SSL for personal, organization, or project pages directly from a GitHub repository via its [GitHub Pages service] and automating development workflows and build with [GitHub Actions]. - -## Assumptions - -1. You have Git 2.8 or greater [installed on your machine][installgit]. -2. You have a GitHub account. [Signing up][ghsignup] for GitHub is free. -3. You have a ready-to-publish Hugo website or have at least completed the [Quick Start]. - -## Types of GitHub Pages - -There are two types of GitHub Pages: - -- User/Organization Pages (`https://.github.io/`) -- Project Pages (`https://.github.io//`) - -Please refer to the [GitHub Pages documentation][ghorgs] to decide which type of site you would like to create as it will determine which of the below methods to use. - -## Branches for GitHub Actions - -The GitHub Actions used in these instructions pull source content from the `main` branch and then commit the generated content to the `gh-pages` branch. This applies regardless of what type of GitHub Pages you are using. This is a clean setup as your Hugo files are stored in one branch and your generated files are published into a separate branch. - -## GitHub User or Organization Pages - -As mentioned in the [GitHub Pages documentation][ghorgs], you can host a user/organization page in addition to project pages. Here are the key differences in GitHub Pages websites for Users and Organizations: - -1. You must create a repository named `.github.io` or `.github.io` to host your pages -2. By default, content from the `main` branch is used to publish GitHub Pages - rather than the `gh-pages` branch which is the default for project sites. However, the GitHub Actions in these instructions publish to the `gh-pages` branch. Therefore, if you are publishing GitHub pages for a user or organization, you will need to change the publishing branch to `gh-pages`. See the instructions later in this document. - -## Build Hugo With GitHub Action - -GitHub executes your software development workflows. Every time you push your code on the GitHub repository, GitHub Actions will build the site automatically. - -Create a file in `.github/workflows/gh-pages.yml` containing the following content (based on [actions-hugo](https://github.com/marketplace/actions/hugo-setup)): - -```yml -name: github pages - -on: - push: - branches: - - main # Set a branch that will trigger a deployment - pull_request: - -jobs: - deploy: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - with: - submodules: true # Fetch Hugo themes (true OR recursive) - fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - - - name: Setup Hugo - uses: peaceiris/actions-hugo@v2 - with: - hugo-version: 'latest' - # extended: true - - - name: Build - run: hugo --minify - - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - if: github.ref == 'refs/heads/main' - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./public -``` - -For more advanced settings [actions-hugo](https://github.com/marketplace/actions/hugo-setup) and [actions-gh-pages](https://github.com/marketplace/actions/github-pages-action). - -## GitHub pages setting - -By default, the GitHub action pushes the generated content to the `gh-pages` branch. This means GitHub has to serve your `gh-pages` branch as a GitHub Pages branch. You can change this setting by going to Settings > GitHub Pages, and change the source branch to `gh-pages`. - -## Change baseURL in config.toml - -Don't forget to rename your `baseURL` in `config.toml` with the value `https://.github.io` for your user repository or `https://.github.io/` for a project repository. - -Unless this is present in your `config.toml`, your website won't work. - -## Use a Custom Domain - -If you'd like to use a custom domain for your GitHub Pages site, create a file `static/CNAME`. Your custom domain name should be the only contents inside `CNAME`. Since it's inside `static`, the published site will contain the CNAME file at the root of the published site, which is a requirement of GitHub Pages. - -Refer to the [official documentation for custom domains][domains] for further information. - -[config]: /getting-started/configuration/ -[domains]: https://help.github.com/articles/using-a-custom-domain-with-github-pages/ -[ghorgs]: https://help.github.com/articles/user-organization-and-project-pages/#user--organization-pages -[ghpfromdocs]: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/ -[ghsignup]: https://github.com/join -[GitHub Pages service]: https://help.github.com/articles/what-is-github-pages/ -[installgit]: https://git-scm.com/downloads -[orphan branch]: https://git-scm.com/docs/git-checkout/#Documentation/git-checkout.txt---orphanltnewbranchgt -[Quick Start]: /getting-started/quick-start/ -[submodule]: https://github.com/blog/2104-working-with-submodules -[worktree feature]: https://git-scm.com/docs/git-worktree -[GitHub Actions]: https://docs.github.com/en/actions diff --git a/content/en/hosting-and-deployment/hosting-on-github/gh-pages-1.png b/content/en/hosting-and-deployment/hosting-on-github/gh-pages-1.png new file mode 100644 index 0000000000000000000000000000000000000000..29912f25ca0042332bc60f4bc4bd006941b123ab GIT binary patch literal 3677 zcmb7`X*|@6_s4aWoh!*YN*T&J4Gp?8$R5U^v1MN}*237c#aJ?yWE~iDIFntJA!y2HI0020gFH)0)6m+c4=9(K~^IHPp zTQriJiC$YH;gCLBUz0E8TwRbHSoJzp3Kn{F{A-9@3IOwlnnso-YhXp6qoX75qE9&T z>M{VRBH%srfiM+FIaV*w#T+aN$Hn1+@l-c`4X{PNYWP6;3a~+qSB02Wxxf~eR+QYU z4Rhyp?7|BJ-3T?Lo)Ukn$Wr_`ut7g*Ayby#J)WH-8A?LN@F=h*?rY(N zhAwz|qq}`px0Po&Kp&}|Ut6LN#I*N;B{jlaj3WC^q$D9#MK}Wld}w$CEa?n|Sr5hO z9n#nK_PO-IC=$Mn5TdO*B-5wBxPoJE)E|+XZs~uJ<6! z0x?TY9UGqn!|qjunD5gU$9gIB6$)AtA%!qQdxmfI=0jnjgx>8Q8ldBu+7o_HO%dXz z0-@Eo7uvwIaHCSN$4$-Tr4mQHh2AV3XrTc(Y~W#AsFg+dSgyGgmV(LYZx7diN<#4Z zkb>cZwT;b44OojOOv=2-B!3ZCbT+1bDffmRI(>R}fq*qXq%XFwoXpTp+)OmQ$#k%y z`D`N&9YTVd1di35HG8m6KWVIP42&Z|^`iO#U}j?AurJCUb`M`vTA1YstW*||N5Bxc zqY4D9p9)rV*Mi(@sf>?&w2hb=|nm)KjiUGti&_b`h<5R`R?%~P+(2J`Iao*}J zHO!qYN`2bHCTP_J@8{-VCVUN zJNJ1m;`f;d^4GTXM|)%ZgB-Cg4C)WPom@n9+_5e}-dImRQB5?=w{cmKfq|`GPfOi2 zIBz#E^e%cr@b6mG`DNi+L3s;*yNl7v)AUlUYW(!Gq!th1=IB2>M1Ddq`=}aQRm&pV zQ5-y(#Ypi!O^ejZ^|UPha@Yf8k&?6trjrX1&_;utP#KE+?V+sR$%#9|CR|KDW93qtW5&B@Nb z*tLr6vX{B{Ka~@*f3s_hq!rdH6qITPY9afhZ8?fP=8S~fZXNuru8~_i%>}9{7kr^< zQ>VX>cdAGJ7p%vO66eZe4+n{3-6TVO1v6wM^Jrb|G7?0HwE2!c8@Wy-F$5?cCkQ($uLm9= z%DfDdQq#(UOz8aTohjhmOcD^N{mWP>{z%N;Lo!mdKM7iro| z8swIyDs-!)D|nx{bN-(b&x(@Kh5)_nEBf%1I}dfC=o^x}_<6rid&FWVtC(M|9nA3O z(C6=;U@!3I3iz*|H_fVzflrYO9ud#o|HeR3Pik-Df(e)W#kQ=&=NzJdK z5}2pAI{gT7ZNst1M+xQD20IS#9zh{YcSbKq5kMi^e~1d;GtU=6>uozeVy;75uHO#M z5@Ej2QOK~<&WYnW9TNw|TImfJ{+%{m&-Udmi@*CH`;HMop@}bkhxZeps_Bht&*DFy zztT+$t1jdBv`<)47w2Of)!}wV%h+E|kb{cq3=k%>O?hHG3mJ5r7N4+ZYBUC1OS`ss z4il^1%(&OcQV=ydIhDgy_J$(GtABmreb6DF*or_P9M60aIu*QUEvt0#YZ|H`;#<3% zj6}aoSGna2Ft6=!rD-V}o!5`0g8Th8deo$02raz5a9gu?&WY9dFfO zjL#RvK>O{}3CGjA0|Z~oDAcHNznClXH0{wVXl#=Lll;I`jtB2cMFl2V4hawh^VDDG zexen*v1hHCYQvWn&p+xTWg4%<>x}NtaMmzRaWuAb2zb(@+MNem7eLfHt=y!gq>}|> zGH&xRTC-;KS>`BEHx3+)78BL(+H*RKm;VKlEx81@)~Pb@)TA|8^{|*bdEsrl-rlzm zx6AydpNGDjU|y#3ZQXX)!O_f$EwXS`fZwvpCVIN*q8~b0+RU4LaniWop%ve5&q^_H z#kdsTI==Q~pnaS35DM)l8kKX9A0G#!^dU*#auBx*-n=IAIHNg!*x8QM4;gf*u65W= zcJr2mBOer)?53fm;w=xMbJM3zHEhq#D;#}7lRKaC+=Q)i)M3QC3ae&k=)&{$ytwae zzIu1%q<73!7_Zz^sS2X>nuK)?GV6aLpDO1Mz0VSc4sSThc9l__3cVw}-p(Dv|u))nF(S zm}qaCAph4c$t6@w0t50hQ??Z$LIX^V{MX*wAuHE+W#e_`?ZD?(FR?E3=1f0$nm|gRIg}$9)}LUA2nD>}Q08 ztA^IGD9g(0hD9swm4a%D9dlqEmNIYYh&a?+yAw5@k4-LpcEBFXrK|*0$5Dnk%C-Ku zuWbR7Lwy%??YJiE*XBVErz&GCaDC}m6PfgQ<)Umll+9eC!DgX0YBOD8AQ&wMO;C@w zP{|hmimT}!hrj=r5*;Bf`tNr|^jQKLxP1?e6AyieVxz~@?@z)bx*HE{qf~qU6C9;FU z`X)|mu0$&(rY(Hnbh?6hQ=?*@@}25)+}Z4W$@5|Ry2hOV56`{!HzlGHj zXn2_T(^ocn4P-YXxFxingxWwP;kH;Ie30jQoXR#4a-U;6S7t+mFX(yoNTB9C)NJ^p z35SU(SP()0rH!=(pw#P_X{q;IIz~*(Q@m($-ltG@(#OjiKi5R5obG&CgKtN-fBKgA zdaXW+!;tyAJPN1FWSd{FvByde4CjrY0(6Z(sS;OdLJwQ$<|<^Nye3%1|)3*vDQane^ppq3s`> z)WRLfU-Z>8N>cm#kip_E>7re;+`PRn10jlc+LR~2O!Hph8bV-uVQ8_kFOGRepur}z zBZgE}_s*umMR0$@=O)imbDYyKHb3~4rwnG-LzU>AlKRkLj$bI+wak4wDIY)zKA8YZ zC{8ulv{ngNQx9E&o-6$feQN9T09wn%dpf^z%f<|uR9UPC4{H4?ZMFi24pM36{T6O<-RKn;Z6o3x0bmk^rt5+H&!DH4(Lr-~2|DN=+; z04V}WKoBXRgVaz2BJKC`etGZQ5BJXfaA%&~J$q)(p7YG^d1f}wKu?4H?3J@15QrV2 z`OpXiqT@ZaqgWVD=dv+T=;^}XqmD3PVPP4c(Vsrufeds^9zn#RBmgK_I>J}hv${;; z4P_uu^lX{4-1|Kw6dIB=3Cx#CxYRDS%>qD2cdWji2L&Roxxc@U?^z8A^dGJa1pr`W zt6n9vA7Y*}(VUW(=#SNc-WP{9`77?xrlkTq=vHrn^*BHb*CydhfG&1LR12B08g z>(j^wD1G(7sxgj;rM-?|y|zP$R!YqlKtMtFR{Mu(2c$$aG;WdFIj5UQzHjJIT|5_} z425IL_9*#@Dd`nx&C&N$5OIfzEVG`Lh3)~eMd6}^Ot1=eNLL(+tlY+9%qlBJ^GZL& zT5C#(LqmFLz(|UfmePIm(CTc;^2&NmWf?+2d;b7%hC;I_2R4{Vyqg(B+-w*CoCD)| zJ*JEUa~juGEm=NNpVu+Yc)%3;U5tz(z&uPLoFZ664t6-)9U=$l0FJTyO zRk;dxOVKm7z*mxiwovE9G60|r_Yg(%|LoC*NCTrtW$4Go=3&Zo9{@nqabD&Kh_czp z=r}5Fij?C?*aC(V^|hgo3E|dn(k7piNN~4!(#Yyt%7L>oRO*5CKh`q)1M@xaXCdN> zOPhyO+O&jze#yXUcc`Wm6xvfv0k()C6d+y;iW)ekQfjd%{ibGOe14hZ>%Q^&NPyPs zZ>}_3h@AbJKRq*V6<$9~u64&&xCf6D+Q_^Six64FeOc)DSpB7eW%v3WDbxo7N(lh^ zx&zgXwbTs@7n^7Y!&zqCvgt{m80hCahqi-1w?Cy5wpFX7RtvYm*n~Wf4 z;RWT0FiGR^m;idPJ-Yy~OEq>2EeUslD5D{=4%CiFjFJqMvf^)R27kZnl~0y4%g<}3 zG(LBLK+UvYjg8X|j8P7Og-!mk_1GR7APJ zBzDJddgZZCV~R*7717CeCm^xQqxNC%kmq1d#|)DB3MYxp9Jx6-%OtW5)U^3%G1sM& zLJfaw;2X^N%IUq%<@?j}OZWH?_*<5WJXW_kV2S3=KPE+H1Wpo@q5{rWK%<02cd{#@ zUdRfQLexi|luS^olCOWt_&LLqwI=-RVGdwe)@^GCdVd|Ic8C+JzW-bUhd#SmiiX{m ziHL*XK`~AX<&r9L-$oA;f{t6u&oo}k-^rNZsk!}e!h~N0)!82|HIoWv_ED=LZsQoF z-?l`+zgAg>UV+~7ycMyfXZ}5$PIO1r$C{zNhh0k#^D@}>(4Q>0u~#ShA_%j@@%4|s zWrKU$;H(n}zD23?60IEWc&G5*SFuHoNKg9nb-=Z&Ug=rAOe&-C(#h3^1AZsHZ0|*Z z5H2w7jEI_(UwHJH;BSNOReWd=1=Lv#=U2H!qwjmu-bl!KoE;w#XCiGflV)lYL*HOL zKNi;gh~mbRH1`rIZ(H*0#v(`~x?r>Ag^6!Nj1A9GaFrkVxYJ(Kbk?Z#%?%RUMe8FD zbARq8J=imJeNwdA1MM2n`MX1tj4<4fx9Y0YfRu2Ap;B7R_w6+@>3trk%|46ll#ef^ zD?Y1=XoZMgZneP6WH8ONvx3svFPmt`2s5$LC6HRTls?8sQ=0U?=(QrtFGa**zpq5= z3Aqs3#V$4Ge|A4(@vZ&p=5L8B2`LT(O#EO@`|I8*Z!+JM4$Q`c8i{V)JlEN_CelaG zYPwwFKA0CLE6Bj>wN!RhikFiUFS>{IzXJXZ-nk8SEIF!aX=Bv_>4fuPU$dULfofD8 z&X+Vx5*9a=hl(>9b|jJw^)Et2gZg;1lOuJ8kS6Dobk8NfQ;UsZ)P9V;ye9j|RKvn5 z1sQM8hLVoB+o-N`)X#S7G<{!+g907imH*p0O*#I!d(2BW#6NB&?GV?{dYdBmAE%17UIZvd?@R^BpU{iI3$u8yj-N85Vtb zQvla<#_s09Z#&e8l&JjoP_7V)&)t6c`t4!0x2qTpS$yON7(?^w8QIHw1{PiO8(6>p`(YI!+C1_3yD?r>>bE{J3KK%Soc_6E?>i^`D~yM^vomP-QW3w{=w3=8_O(#5 zu_2$N(Rp_G&*~nN)WUT^9P`{dLBPs>oW#2TvgbEuV|(=ff>iq}ht3U|6(JtV7jdcF zc)qN3GJ7oAKPYQMFqM9Yo66GbzL|Du%wx2E&_ww%^~CR>7+#pskLBD48x|=W2~ope zmEk;V|E72di^IwryZE|alw&RAii%J)3ew<@yIWtWB7 z?Kc-qjViaod&|65FN|xhNz(mq_rnd-@+f1_EU&%A=7Wfusk17^G#nTIa1DISaN!0k zobOI{09%Z+2m8ZxZahatA$lgz<9Yu}mQ?ye(=k3ALMym2fg5iUJOnc@J9R&?7yA!_ zY+&QAh|HS-OT_ot*D9vQ>4)k(IPX>R4do8hPTh5I{dVk(1oEa3!*gOiC z-PArQGJ!Ma;*v8PPQ=(nxbC;eoDGNw`^=}aAKlh=yTXoDMD}`k13Rf9PdqHhd-l8W zT(^zaenT|C4jWd2*1=lZuTm^TU?fW>EmT10i6rUw_n|CF`o6@>@0&B5`a}-SeQ9fN zH!gg(d@e8yq<``$SI(-Hg=>w^rvH;sypqqfjy}V3b&gSYvDyIAL~(>Dse8L*ku}&vUVjx^76pVU0BpI(5f26C4S@Sb$b< z%w3g@#^Fn+tcOd6m-fNI%&++Vx<=029r>{YwhMAp#_Jcde-8hkte~v)%Q9TmW?vvCBv(5Vup_b2gA)O*)3r}} zxwusDdX&E$$3Ik8WkhLWY$2jG3OHUztZhGGWj2fD>`S-?=07l2UnbHeNcOZ2OJ9jm z7djUt!&{2x3fagC?7t&^d!g6Qw*QM%tfCH+aG!;=Bv?dVK_EaT>fNjm4`L*;@n`lA z{0;M>R#mgavrMr5s`BjX=P%ZW{N0XQ?$_M(72vfKNk3@hYvqoazPXO{e~sd_*0F!$ zN@>GQFCDS42-SXJ>AaqP@xiRA`pSjAuQ91mW=_5j41J)TKag%I5}EU}or6u|hNaT# zY{x6fjaVcMhiUI0k;0|Uz36m7Z&%n!dyYxaYP+fgXXPSiQaru4zg*Sa?w_7=p;$3; zr95t>5`Wl5#Yp3u9mq_NKk6ipGS#r@NBfzhMZj(?u^KZaCKb=KnyOQ2*WCRct zKwI(eSe@QgfQ^}*X6Dc35ruejaZI@i>(njC-wjIo)u;4Bfd)IC`ZjcZ1huT%U!!{+ zW_BSFI>ryb$|NiDeyv+_w`H6o?#X8kmUXzo#2l~MPRIE*)R7%Dm2-1ZR$Z!%-?H3K zJ3=lElM^k_I=(qArO2tf5abh$IzUZj{Fi8)sz)m0oT@%6|JelD4vMr+^*EQ@@)^&) zPGsr>W%L6poKT@(sYb2l>#QrYEP*0V1Irwge`s)w?NR8Xn0mf-%Ig$(@K@K@uvCl3 nS3glK`)^18N1Og9;{fU)%egG}QmF6rLjgiO(tB8`ZXfk8LUgSv literal 0 HcmV?d00001 diff --git a/content/en/hosting-and-deployment/hosting-on-github/gh-pages-3.png b/content/en/hosting-and-deployment/hosting-on-github/gh-pages-3.png new file mode 100644 index 0000000000000000000000000000000000000000..d2904cae17c4fa19b494474432a936397e29838c GIT binary patch literal 6390 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 MSJqalRIm#B2Q)?I{{R30 literal 0 HcmV?d00001 diff --git a/content/en/hosting-and-deployment/hosting-on-github/gh-pages-4.png b/content/en/hosting-and-deployment/hosting-on-github/gh-pages-4.png new file mode 100644 index 0000000000000000000000000000000000000000..75774462b1faa05b9c1e71ad0349291e297327eb GIT binary patch literal 6258 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 literal 0 HcmV?d00001 diff --git a/content/en/hosting-and-deployment/hosting-on-github/gh-pages-5.png b/content/en/hosting-and-deployment/hosting-on-github/gh-pages-5.png new file mode 100644 index 0000000000000000000000000000000000000000..efe26129a2bc5ec3cde28ad41329da57a1649c48 GIT binary patch literal 4793 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 LRJ%gc;mQ91rPGQZ literal 0 HcmV?d00001 diff --git a/content/en/hosting-and-deployment/hosting-on-github/index.md b/content/en/hosting-and-deployment/hosting-on-github/index.md new file mode 100644 index 0000000000..7123c9d2dd --- /dev/null +++ b/content/en/hosting-and-deployment/hosting-on-github/index.md @@ -0,0 +1,180 @@ +--- +title: Host on GitHub +linktitle: Host on GitHub +description: Deploy Hugo as a GitHub Pages project or personal/organizational site and automate the whole process with Github Actions +categories: [hosting and deployment] +keywords: [github,git,deployment,hosting] +menu: + docs: + parent: "hosting-and-deployment" + weight: 30 +weight: 30 +toc: true +aliases: [/tutorials/github-pages-blog/] +--- + +GitHub provides free and fast static hosting over SSL for personal, organization, or project pages directly from a GitHub repository via its GitHub Pages service and automating development workflows and build with GitHub Actions. + +## Prerequisites + +1. [Create a GitHub account] +2. [Install Git] +3. [Create a Hugo site] and test it locally with `hugo server`. + +[Create a GitHub account]: https://github.com/signup +[Install Git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git +[Create a Hugo site]: http://localhost:1313/getting-started/quick-start/ + +## Types of sites + +There are three types of GitHub Pages sites: project, user, and organization. Project sites are connected to a specific project hosted on GitHub. User and organization sites are connected to a specific account on GitHub.com. + +{{% note %}} +See the [GitHub Pages documentation] to understand the requirements for repository ownership and naming. + +[GitHub Pages documentation]: https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites +{{% /note %}} + + +[GitHub Pages documentation]: https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites + +## Procedure + +Step 1 +: Create a GitHub repository. + +Step 2 +: Push your local repository to GitHub. + +Step 3 +: Visit your GitHub repository. From the main menu choose **Settings** > **Pages**. In then center of your screen you will see this: + +![screen capture](gh-pages-1.png) +{style="max-width: 280px"} + +Step 4 +: Change the **Source** to `GitHub Actions`. The change is immediate; you do not have to press a Save button. + +![screen capture](gh-pages-2.png) +{style="max-width: 280px"} + +Step 5 +: Create an empty file in your local repository. + +```text +.github/workflows/hugo.yaml +``` + +Step 6 +: Copy and paste the YAML below into the file you created. Change the branch name and Hugo version as needed. + +{{< code file=".github/workflows/hugo.yaml" >}} +# 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 one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.111.2 + 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 Embedded + run: sudo snap install dart-sass-embedded + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - 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@v1 + 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@v1 +{{< /code >}} + +Step 7 +: Commit the change to your local repository with a commit message of something like "Add workflow", and push to GitHub. + +Step 8 +: From GitHub's main menu, choose **Actions**. You will see something like this: + +![screen capture](gh-pages-3.png) +{style="max-width: 350px"} + +Step 9 +: When GitHub has finished building and deploying your site, the color of the status indicator will change to green. + +![screen capture](gh-pages-4.png) +{style="max-width: 350px"} + +Step 10 +: Click on the commit message as shown above. You will see this: + +![screen capture](gh-pages-5.png) +{style="max-width: 611px"} + +Under the deploy step, you will see a link to your live site. + +In the future, whenever you push a change from your local repository, GitHub will rebuild your site and deploy the changes. + +## Additional resources + +- [Learn more about GitHub Actions](https://docs.github.com/en/actions) +- [Caching dependencies to speed up workflows](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) +- [Manage a custom domain for your GitHub Pages site](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages)