diff --git a/.gitignore b/.gitignore index f39b06f..0ecd8b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea resources/ .hugo_build.lock +go.sum \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/static/img/avatar.jpg b/assets/img/avatar.jpg similarity index 100% rename from static/img/avatar.jpg rename to assets/img/avatar.jpg diff --git a/static/img/favicon.png b/assets/img/favicon.png similarity index 100% rename from static/img/favicon.png rename to assets/img/favicon.png diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000..f18ea0c Binary files /dev/null and b/assets/img/logo.png differ diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..0dee0ec --- /dev/null +++ b/config.yml @@ -0,0 +1,189 @@ +module: + imports: + - path: github.com/adityatelange/hugo-PaperMod + +baseURL: "https://miti99.dev" +title: miti99 +paginate: 5 + +enableInlineShortcodes: true +enableRobotsTXT: true +buildDrafts: false +buildFuture: false +buildExpired: false +enableEmoji: true +pygmentsUseClasses: true +mainsections: [ "posts", ] +googleAnalytics: 183798571 + +minify: + disableXML: true + minifyOutput: true + +defaultContentLanguage: vi +languages: + vi: + languageName: "Tiếng Việt" + weight: 1 + taxonomies: + category: categories + tag: tags + series: series + menu: + main: + - name: Archives + url: archives + weight: 1 + - name: Posts + url: posts + weight: 2 + - name: Search + url: search + weight: 3 + - name: Tags + url: tags + weight: 4 + - name: About + url: about + weight: 5 + +outputs: + home: + - HTML + - RSS + - JSON + +params: + env: production + description: "miti99's blog" + author: miti99 + + defaultTheme: auto + # disableThemeToggle: true + ShowShareButtons: true + ShowReadingTime: true + # disableSpecial1stPost: true + displayFullLangName: true + ShowPostNavLinks: true + ShowBreadCrumbs: true + ShowCodeCopyButtons: true + ShowRssButtonInSectionTermList: true + ShowAllPagesInArchive: true + ShowPageNums: true + ShowToc: true + # comments: false + images: [ "images/logo.png" ] + + profileMode: + enabled: true + title: miti99's blog + subtitle: Một lập trình viên muốn trở thành phù thuỷ + imageUrl: "img/avatar.jpg" + imageTitle: miti99's avatar + # imageWidth: 120 + # imageHeight: 120 + buttons: + - name: Archives + url: archives + - name: Web CV + url: https://tiennm99.github.io + - name: PDF CV + url: https://cv.miti99.eu.org/miti99.pdf + + homeInfoParams: + Title: "miti99's blog" + Content: > + 👋 Chào mừng đến với blog của miti99. Web được tạo ra bởi miti99, sử dụng Hugo và theme PaperMod! + + socialIcons: + - name: github + title: View on Github + url: "https://github.com/tiennm99" + - name: gitlab + title: View on Gitlab + url: "https://gitlab.com/miti99" + - name: facebook + title: View on Facebook + url: "https://facebook.com/miti99" + - name: youtube + title: View on Youtube + url: "https://youtube.com/miti99" + - name: linkedin + title: View on Linkedin + url: "https://www.linkedin.com/in/miti99" + - name: x + title: View on X + url: "https://twitter.com/tienthieusac" + + editPost: + URL: "https://github.com/tiennm99/miti99/tree/main/content" + Text: "Suggest Changes" + appendFilePath: true + + # label: + # iconSVG: '' + # text: "Home" + # icon: icon.png + # iconHeight: 35 + + # analytics: + # google: + # SiteVerificationTag: "XYZabc" + + assets: + disableHLJS: true + # favicon: "" + # favicon16x16: "" + # favicon32x32: "" + # apple_touch_icon: "" + # safari_pinned_tab: "" + + # cover: + # hidden: true # hide everywhere but not in structured data + # hiddenInList: true # hide on list pages and home + # hiddenInSingle: true # hide on single page + + # fuseOpts: + # isCaseSensitive: false + # shouldSort: true + # location: 0 + # distance: 1000 + # threshold: 0.4 + # minMatchCharLength: 0 + # keys: ["title", "permalink", "summary", "content"] + +markup: + goldmark: + renderer: + unsafe: true + highlight: + noClasses: false + anchorLineNos: true + codeFences: true + guessSyntax: true + lineNos: true + style: monokai + +# privacy: +# vimeo: +# disabled: false +# simple: true + +# twitter: +# disabled: false +# enableDNT: true +# simple: true + +# instagram: +# disabled: false +# simple: true + +# youtube: +# disabled: false +# privacyEnhanced: true + +services: + instagram: + disableInlineCSS: true + twitter: + disableInlineCSS: true diff --git a/content/about.md b/content/about.md index b00a3ec..4cc8120 100644 --- a/content/about.md +++ b/content/about.md @@ -1,5 +1,5 @@ +++ -title = "About Me" +title = "Giới thiệu" slug = "about" +++ @@ -12,3 +12,9 @@ Mình là một người thích Linux và kiểu mã nguồn mở như thế, h Blog này được tạo ra với mục đích chia sẻ trải nghiệm của mình, cũng như mẹo để giải quyết một số vấn đề mà mình gặp phải trong quá trình sử dụng Archlinux nhé. Các liên kết hữu ích có tại [trang chủ](/) của mình. + +Các bạn có thể liên hệ với mình bằng một trong những cách thức sau: + +- [Gmail](mailto:minhtienit99@gmail.com) +- [Outlook](mailto:tiennm99@outlook.com) +- [Facebook](https://fb.com/miti99) \ No newline at end of file diff --git a/content/archives.md b/content/archives.md new file mode 100644 index 0000000..eaf359b --- /dev/null +++ b/content/archives.md @@ -0,0 +1,6 @@ +--- +title: "Archive" +layout: "archives" +# url: "/archives" +summary: "archives" +--- diff --git a/content/contact.md b/content/contact.md deleted file mode 100644 index b3f3ef0..0000000 --- a/content/contact.md +++ /dev/null @@ -1,10 +0,0 @@ -+++ -title = "Contact" -slug = "contact" -+++ - -Liên hệ với mình tại một trong các địa chỉ sau: - -- [Gmail](mailto:minhtienit99@gmail.com) -- [Outlook](mailto:tiennm99@outlook.com) -- [Facebook](https://fb.com/miti99) diff --git a/content/posts/2020/04/07/index.md b/content/posts/2020/04/07/index.md index 2a80354..36c853a 100644 --- a/content/posts/2020/04/07/index.md +++ b/content/posts/2020/04/07/index.md @@ -1,16 +1,20 @@ -+++ -draft = false -date = 2020-04-07T07:00:00+07:00 ++++ title = "Cài đặt Archlinux trong chế độ boot UEFI" -description = "" -slug = "" +date = 2020-04-07 tags = ["Arch", "Linux"] -categories = [] -externalLink = "" -series = [] +categories = ["Arch", "Linux"] +++ -Trước khi bắt đầu, thì mình cũng xin nói trước là mình biết nếu bạn là "dân chơi" dám thử cài Arch Linux thì hẳn bạn không phải "tay mơ" rồi, và bạn có thể tự cài mà không cần hướng dẫn của mình. Bài viết của mình chủ yếu mang mục đích là chia sẻ kinh nghiệm cài Arch của mình thôi, chứ không mang tính hướng dẫn hay giúp đỡ gỡ rối gì. Nếu bạn gặp khó khăn, hãy comment bên dưới bài viết, mình sẽ xem và hỗ trợ bạn nếu có thể. Còn nếu bạn là người mới hoặc có ý định bước vào thế giới Linux, mình khuyên bạn nên thử dùng các phiên bản dành cho người mới trước như [Ubuntu](https://ubuntu.com/) hay nếu bạn nguốn trải nghiệm sơ bộ Arch thì [Manjaro](https://manjaro.org/) cũng là một lựa chọn không tồi (base on Arch và đứng top bảng xếp hạng nhiều lần mà) trước khi bắt đầu thử Arch. Sau đây là các bước tiến hành: +## Giới thiệu + +Trước khi bắt đầu, thì mình cũng xin nói trước là mình biết nếu bạn là "dân chơi" dám thử cài Arch Linux thì hẳn bạn +không phải "tay mơ" rồi, và bạn có thể tự cài mà không cần hướng dẫn của mình. Bài viết của mình chủ yếu mang mục đích +là chia sẻ kinh nghiệm cài Arch của mình thôi, chứ không mang tính hướng dẫn hay giúp đỡ gỡ rối gì. Nếu bạn gặp khó +khăn, hãy comment bên dưới bài viết, mình sẽ xem và hỗ trợ bạn nếu có thể. Còn nếu bạn là người mới hoặc có ý định bước +vào thế giới Linux, mình khuyên bạn nên thử dùng các phiên bản dành cho người mới trước +như [Ubuntu](https://ubuntu.com/) hay nếu bạn nguốn trải nghiệm sơ bộ Arch thì [Manjaro](https://manjaro.org/) cũng là +một lựa chọn không tồi (base on Arch và đứng top bảng xếp hạng nhiều lần mà) trước khi bắt đầu thử Arch. Sau đây là các +bước tiến hành: ## Tạo bộ cài @@ -18,11 +22,15 @@ Trước khi bắt đầu, thì mình cũng xin nói trước là mình biết n Đầu tiên các bạn tải file cài đặt mới nhất tại trang chủ của Arch Linux: -Nếu bạn dùng Windows thì sử dụng Rufus để tạo bộ cài (các bạn chọn chế độ boot BIOS mặc định là được, bộ cài sẽ nhận cả 2 chuẩn BIOS lẫn UEFI luôn, còn nếu chọn UEFI thôi thì có khi lại không được :v). Nếu bạn dùng Linux thì có thể dùng lệnh: `dd if=<đường dẫn đến file .iso> of=/dev/sdX bs=1MB` (với sdX là ổ USB) hoặc dùng GUI tools như Disks (`gnome-disks`) -> Restore Disk Image... +Nếu bạn dùng Windows thì sử dụng Rufus để tạo bộ cài (các bạn chọn chế độ boot BIOS mặc định là được, bộ cài sẽ nhận cả +2 chuẩn BIOS lẫn UEFI luôn, còn nếu chọn UEFI thôi thì có khi lại không được :v). Nếu bạn dùng Linux thì có thể dùng +lệnh: `dd if=<đường dẫn đến file .iso> of=/dev/sdX bs=1MB` (với sdX là ổ USB) hoặc dùng GUI tools như +Disks (`gnome-disks`) -> Restore Disk Image... ## Thiết lập mạng -Sau khi boot vào Live boot, bạn khởi động các service sau: `systemctl start dhcpcd`. Nếu bạn dùng mạng dây thì như vậy là được, nhưng nếu bạn dùng wifi như laptop chẳng hạn, thì chạy thêm các lệnh sau: +Sau khi boot vào Live boot, bạn khởi động các service sau: `systemctl start dhcpcd`. Nếu bạn dùng mạng dây thì như vậy +là được, nhưng nếu bạn dùng wifi như laptop chẳng hạn, thì chạy thêm các lệnh sau: ```shell systemctl start iwd @@ -30,7 +38,8 @@ iwctl device list ``` -Lúc này sẽ hiện ra tên các thiết bị wifi của bạn, giả sử là `wlan0`, nếu không phải thì thay `wlan0` ở các lệnh sau bằng tên thích hợp của máy bạn: +Lúc này sẽ hiện ra tên các thiết bị wifi của bạn, giả sử là `wlan0`, nếu không phải thì thay `wlan0` ở các lệnh sau bằng +tên thích hợp của máy bạn: ```shell station wlan0 scan @@ -53,7 +62,8 @@ Thử kết nối với internet bằng lệnh: `ping google.com -c2` ## Phân vùng ổ đĩa Ở đây mình dùng lệnh `fdisk`, bạn có thể dùng lệnh khác. -**Lưu ý:** Arch Linux khuyến khích phân vùng EFI từ 260-512MiB; phân vùng SWAP từ 512MiB. SWAP là cần thiết, tuy nhiên sau khi cài mình sẽ dùng swap file nên không tạo phân vùng này. +**Lưu ý:** Arch Linux khuyến khích phân vùng EFI từ 260-512MiB; phân vùng SWAP từ 512MiB. SWAP là cần thiết, tuy nhiên +sau khi cài mình sẽ dùng swap file nên không tạo phân vùng này. ```shell fdisk -l @@ -71,7 +81,8 @@ mkfs.ext4 /dev/sda2 ### Mount các phân vùng -**Lưu ý:** Arch Linux khuyến khích mount phân vùng EFI vào mount point `/efi` thay vì `/boot/efi` như nhiều hệ điều hành khác hiện tại (chẳng hạn Ubuntu). +**Lưu ý:** Arch Linux khuyến khích mount phân vùng EFI vào mount point `/efi` thay vì `/boot/efi` như nhiều hệ điều hành +khác hiện tại (chẳng hạn Ubuntu). ```shell mount /dev/sda2 /mnt @@ -83,7 +94,9 @@ mount /dev/sda1 /mnt/efi Hihi, sau nhiều bước "khởi động" thì cuối cùng cũng đến bước tiến hành cài đặt. -Đầu tiên chúng ta nên thiết lập mirror servers để có tốc độ mạng hiệu quả. Vì chúng ta ở Việt Nam nên dùng mirror của archlinuxvn là hiệu quả. Thực hiện các lệnh sau: `nano /etc/pacman.d/mirrorlist`. Thêm dòng sau vào trước dòng đầu tiên: `Server = http://f.archlinuxvn.org/archlinux/$repo/os/$arch` +Đầu tiên chúng ta nên thiết lập mirror servers để có tốc độ mạng hiệu quả. Vì chúng ta ở Việt Nam nên dùng mirror của +archlinuxvn là hiệu quả. Thực hiện các lệnh sau: `nano /etc/pacman.d/mirrorlist`. Thêm dòng sau vào trước dòng đầu +tiên: `Server = http://f.archlinuxvn.org/archlinux/$repo/os/$arch` Sau đó lưu (_Ctrl+O_, _Enter_) và thoát (_Ctrl+X_) @@ -95,7 +108,8 @@ Sau đây là các tinh chỉnh để hệ thống hoạt động. ### Tạo file fstab -Để mount các phân vùng khi khởi động: `genfstab -U /mnt >> /mnt/etc/fstab` (có thể thay `-U` bằng `-L`, nghĩa là thay vì định nghĩa bằng UUID thì định nghĩa bằng label của phân vùng) +Để mount các phân vùng khi khởi động: `genfstab -U /mnt >> /mnt/etc/fstab` (có thể thay `-U` bằng `-L`, nghĩa là thay vì +định nghĩa bằng UUID thì định nghĩa bằng label của phân vùng) #### Change root vào hệ thống mới @@ -103,15 +117,20 @@ Sau đây là các tinh chỉnh để hệ thống hoạt động. #### Thiết lập time zone -Chúng ta ở Việt Nam sẽ chọn thành phố Hồ Chí Minh: `ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime`. Đồng bộ giờ: `hwclock --systohc` +Chúng ta ở Việt Nam sẽ chọn thành phố Hồ Chí Minh: `ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime`. Đồng bộ +giờ: `hwclock --systohc` #### Định dạng vùng -Đầu tiên nên cài đặt vim để có thể chỉnh sửa file văn bản: `pacman -S vim`. Sau đó sửa file sau: `vim /etc/locale.gen` Uncomment dòng _en_us.UTF-8 UTF-8_ (và dòng _vi_VN UTF-8_ nếu thích :v) (bạn nhấn phím _i_ để vào chế độ insert mới sửa được), lưu lại và thoát (_Esc_, sau đó gõ `:wq` sau đó chạy lệnh: `locale-gen`. Tiếp tục sửa một file khác: `vim /etc/locale.conf`. Thêm vào đây dòng sau _LANG=en_US.UTF-8_ +Đầu tiên nên cài đặt vim để có thể chỉnh sửa file văn bản: `pacman -S vim`. Sau đó sửa file sau: `vim /etc/locale.gen` +Uncomment dòng _en_us.UTF-8 UTF-8_ (và dòng _vi_VN UTF-8_ nếu thích :v) (bạn nhấn phím _i_ để vào chế độ insert mới sửa +được), lưu lại và thoát (_Esc_, sau đó gõ `:wq` sau đó chạy lệnh: `locale-gen`. Tiếp tục sửa một file +khác: `vim /etc/locale.conf`. Thêm vào đây dòng sau _LANG=en_US.UTF-8_ #### Thiết lập tên máy tính trong mạng -Sửa file `/etc/hostname`, _myhostname_ vào đó (với _myhostname_ là tên bạn muốn đặt cho máy tính của bạn). Tương tự, sửa file `/etc/hosts` với các thông số như sau: +Sửa file `/etc/hostname`, _myhostname_ vào đó (với _myhostname_ là tên bạn muốn đặt cho máy tính của bạn). Tương tự, sửa +file `/etc/hosts` với các thông số như sau: ```shell 127.0.0.1 localhost @@ -131,18 +150,22 @@ Gõ: `passwd`. Sau đó điền mật khẩu 2 lần. #### Cài đặt microcode (tùy chọn) -Tùy vào bạn sử dụng CPU Intel hay AMD mà cài gói cho phù hợp. `pacman -S amd-ucode` (nếu bạn dùng AMD) hoặc `pacman -S intel-ucode` (nếu bạn dùng Intel) +Tùy vào bạn sử dụng CPU Intel hay AMD mà cài gói cho phù hợp. `pacman -S amd-ucode` (nếu bạn dùng AMD) +hoặc `pacman -S intel-ucode` (nếu bạn dùng Intel) #### Cài đặt boot loader -Ở đây mình dùng `grub` (khá phổ biến, nhiều tùy chọn, tùy chỉnh), và gói `efibootmgr` (mình đang cài trong chế độ UEFI mà :D): +Ở đây mình dùng `grub` (khá phổ biến, nhiều tùy chọn, tùy chỉnh), và gói `efibootmgr` (mình đang cài trong chế độ UEFI +mà :D): ```shell pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=Archlinux ``` -Nếu bạn mount phân vùng EFI giống mình thì làm như trên, không thì đổi `/efi` thành mount point EFI của bạn. "Archlinux" trong lệnh trên có thể đổi thành cái khác nếu bạn thích, nó sẽ hiển thị trong Boot Options trong BIOS của bạn (nếu bạn không lock Boot Order, máy ThinkPad của mình có chức năng này). +Nếu bạn mount phân vùng EFI giống mình thì làm như trên, không thì đổi `/efi` thành mount point EFI của bạn. "Archlinux" +trong lệnh trên có thể đổi thành cái khác nếu bạn thích, nó sẽ hiển thị trong Boot Options trong BIOS của bạn (nếu bạn +không lock Boot Order, máy ThinkPad của mình có chức năng này). Cập nhật GRUB: `grub-mkconfig -o /boot/grub/grub.cfg` @@ -153,7 +176,9 @@ umount -R /mnt reboot ``` -Tuy nhiên mình khuyên bạn nên làm theo các bước "hậu cài đặt" trước khi reboot để có trải nghiệm tốt nhất, vì bạn chỉ mới có các gói cơ bản trên máy thôi, nên chưa thể dùng như Desktop được đâu. Mình sẽ viết bài cho điều này sớm nhất. Hẹn gặp lại các bạn. +Tuy nhiên mình khuyên bạn nên làm theo các bước "hậu cài đặt" trước khi reboot để có trải nghiệm tốt nhất, vì bạn chỉ +mới có các gói cơ bản trên máy thôi, nên chưa thể dùng như Desktop được đâu. Mình sẽ viết bài cho điều này sớm nhất. Hẹn +gặp lại các bạn. Tham khảo tại nguồn: diff --git a/content/posts/code_syntax.md b/content/posts/code_syntax.md new file mode 100644 index 0000000..eccfb68 --- /dev/null +++ b/content/posts/code_syntax.md @@ -0,0 +1,153 @@ +--- +author: ["Aditya Telange"] +title: "Code Syntax Guide" +date: "2019-03-10" +description: "Sample article showcasing basic code syntax and formatting for HTML elements." +summary: "Sample article showcasing basic code syntax and formatting for HTML elements." +tags: ["markdown", "syntax", "code", "gist"] +categories: ["themes", "syntax"] +series: ["Themes Guide"] +ShowToc: true +TocOpen: true +--- + +### Inline Code + +`This is Inline Code` + +### Only `pre` + +
+This is pre text
+
+ +### Code block with backticks + +```{hl_lines=[2,8]} + + + + + Example HTML5 Document + + + +

Test

+ + +``` + +### Code block with backticks and language specified + +```html + + + + + Example HTML5 Document + + + +

Test

+ + +``` + +### Code block with backticks and language specified with line numbers + +```html {linenos=true} + + + + + Example HTML5 Document + + + +

Test

+ + +``` + +### Code block with line numbers and highlighted lines + +- PaperMod supports `linenos=true` or `linenos=table` + +```html {linenos=true,hl_lines=[2,8]} + + + + + Example HTML5 Document + + + +

Test

+ + +``` + +- With `linenos=inline` line **might not** get highlighted properly. +- This issue is fixed with [045c084](https://github.com/adityatelange/hugo-PaperMod/commit/045c08496d61b1b3f9c79e69e7d3d243a526d8f3) + +```html {linenos=inline,hl_lines=[2,8]} + + + + + Example HTML5 Document + + + +

Test

+ + +``` + +### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +### Code block with Hugo's internal highlight shortcode + +{{< highlight html >}} + + + + + + Example HTML5 Document + + +

Test

+ + +{{< /highlight >}} + +### Github Gist + +{{< gist adityatelange 376cd56ee2c94aaa2e8b93200f2ba8b5 >}} diff --git a/content/posts/emoji-support.md b/content/posts/emoji-support.md new file mode 100644 index 0000000..7e61b5e --- /dev/null +++ b/content/posts/emoji-support.md @@ -0,0 +1,50 @@ +--- +author: "Hugo Authors" +title: "Emoji Support" +date: "2019-03-05" +description: "Guide to emoji usage in Hugo" +tags: ["emoji"] +ShowToc: false +ShowBreadCrumbs: false +--- + +Emoji can be enabled in a Hugo project in a number of ways. + + + +The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). + +To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. + +

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

+
+ +The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. + +--- + +**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. + +{{< highlight html >}} +.emoji { +font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} + + + +{{< /css.inline >}} diff --git a/content/posts/markdown-syntax.md b/content/posts/markdown-syntax.md new file mode 100644 index 0000000..db0a466 --- /dev/null +++ b/content/posts/markdown-syntax.md @@ -0,0 +1,122 @@ +--- +author: "Hugo Authors" +title: "Markdown Syntax Guide" +date: "2019-03-11" +description: "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags: ["markdown", "css", "html", "themes"] +categories: ["themes", "syntax"] +series: ["Themes Guide"] +aliases: ["migrate-from-jekyl"] +cover: + image: images/msg.png + caption: "Generated using [OG Image Playground by Vercel](https://og-playground.vercel.app/)" +ShowToc: true +TocOpen: true +--- + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + + +## Headings + +The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use _Markdown syntax_ within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating. +> +> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box. + +| Name | Age | +| ----- | --- | +| Bob | 27 | +| Alice | 23 | + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| --------- | -------- | ------ | +| _italics_ | **bold** | `code` | + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +- List item +- Another item +- And another item + +#### Nested Unordered list + +- Fruit + - Apple + - Orange + - Banana +- Dairy + - Milk + - Cheese + +#### Nested Ordered list + +1. Fruit + - Apple + - Orange + - Banana +2. Dairy + 1. Milk + 2. Cheese +3. Third item + 1. Sub One + 2. Sub Two + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/content/posts/math-typesetting.md b/content/posts/math-typesetting.md new file mode 100644 index 0000000..44ad217 --- /dev/null +++ b/content/posts/math-typesetting.md @@ -0,0 +1,55 @@ +--- +author: Hugo Authors +title: Math Typesetting +date: 2019-03-08 +description: A brief guide to setup KaTeX +math: true +ShowBreadCrumbs: false +--- + +Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. + + + +In this example we will be using [KaTeX](https://katex.org/) + +- Create a partial under `/layouts/partials/math.html` +- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. +- Include the partial in your templates ([`extend_head.html`](../papermod/papermod-faq/#custom-head--footer)) like so: +- refer [ISSUE #236](https://github.com/adityatelange/hugo-PaperMod/issues/236) + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- To enable KaTex globally set the parameter `math` to `true` in a project's configuration +- To enable KaTex on a per page basis include the parameter `math: true` in content files + +**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} + + + + + +{{ end }} +{{}} + +### Examples + +{{< math.inline >}} + +

+Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) +

+{{}} + +Block math: + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/content/posts/papermod/_index.md b/content/posts/papermod/_index.md new file mode 100644 index 0000000..57e5b52 --- /dev/null +++ b/content/posts/papermod/_index.md @@ -0,0 +1,5 @@ +--- +title: PaperMod +summary: Contains posts related to `PaperMod` +description: Contains posts related to PaperMod +--- diff --git a/content/posts/papermod/papermod-faq.md b/content/posts/papermod/papermod-faq.md new file mode 100644 index 0000000..e1d0bab --- /dev/null +++ b/content/posts/papermod/papermod-faq.md @@ -0,0 +1,303 @@ +--- +title: "FAQs / How To's Guide" +summary: We'll try to answer frequently asked qestions by users. +date: 2021-01-20 +aliases: ["/papermod-how-to-guide"] +tags: ["PaperMod", "Docs"] +author: ["PaperMod Contributors"] +draft: true +aliases: [/posts/papermod/papermod-how-to] +weight: 3 +--- + +> - **We'll be using `yml/yaml` format for all examples down below, I recommend using `yml` over `toml` as it is easier to read.** +> +> - You can find any [YML to TOML](https://www.google.com/search?q=yml+to+toml) converters if necessary. + +--- + +## Override theme template + +By Hugo's Lookup Order, you can override any part of a theme that you want. The following is a quick example. + +Let's say you wish the `list` was different. All you have to do is copy the `list` template: + +```shell +your-site/themes/papermod/layouts/_defaults/list.html +``` + +And paste it under your own `layouts` folder: + +```shell +your-site/layouts/_defaults/list.html +``` + +Then you're free to make any changes you want to the `list`. +When Hugo builds your site, your copy of `list.html` will be used instead of the theme's `list.html`. + +--- + +## Enable Social-Metadata and SEO + +These include OpenGraph, Twitter Cards and Schema. + +```yml {linenos=true} +params: + env: production +``` + +or set `HUGO_ENV` as "production" in system env-vars + +--- + +## Failed to find a valid digest in the 'integrity' attribute for resource ... ? + +Read about How Subresource Integrity helps: [Subresource_Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) + +Why was the `asset` not loading ? : [How_browsers_handle_Subresource_Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#How_browsers_handle_Subresource_Integrity) + +**Solution:** + +Set the following in `config.yml` + +```yml {linenos=true} +params: + assets: + disableFingerprinting: true +``` + +Linked Issues: + +- https://stackoverflow.com/questions/65056585/hugo-theme-not-loading +- https://stackoverflow.com/questions/65040931/hugo-failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource +- https://blog.gerardbeckerleg.com/posts/hugo-failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource/ + +--- + +## Bundling Custom css with theme's assets + +- For adding custom css to be bundled inside one minimized css + +Create folder in yout project directory as + +``` +.(site root) +├── config.yml +├── content/ +├── theme/hugo-PaperMod/ +└── assets/ + └── css/ + └── extended/ <--- + ├── custom_css1.css <--- + └── any_name.css <--- +``` + +All `css` files inside `assets/css/extended` will be bundled ! + +**Note**: blank.css is just the placeholder so that it doesn't break the theme when no files are present under `assets/css/extended` + +Linked Issues: + +- [Papermod Theme: How to add custom CSS?](https://discourse.gohugo.io/t/papermod-theme-how-to-add-custom-css/30165) + +--- + +## Custom Head / Footer + +Custom css/js can be added by way mentioned below. + +``` +.(site root) +├── config.yml +├── content/ +├── theme/hugo-PaperMod/ +└── layouts + ├── partials + │ ├── comments.html + │ ├── extend_footer.html <--- + │ └── extend_head.html <--- + └── robots.txt +``` + +Create a html page in directory structure as shown above. + +Contents of `extend_head.html` will be added to `head` of page. + +and contents of `extend_footer.html` will be added to bottom of page. + +--- + +## Add menu to site + +You can add menu entries which will appear in the header of every page. + +To do so, add a `menu` section to your site's `config.yml`: + +```yml {linenos=true} +menu: + main: + - identifier: categories + name: categories + url: /categories/ + weight: 10 + - identifier: tags + name: tags + url: /tags/ + weight: 20 + - identifier: example + name: example.org + url: https://example.org + weight: 30 +``` + +`name` controls what will be displayed for the menu entry. +`url` sets the URL that the entry points to. +`weight` is used to control the positioning of entries. + +For more information on menus, see the [Hugo wiki page](https://gohugo.io/content-management/menus/). + +--- + +## Pin a Post + +Post can be pinned/ displayed top on the list by adding a `weight=` var to page-variables + +example: + +```yml {linenos=true} +--- +title: "My Important post" +date: 2020-09-15T11:30:03+00:00 +weight: 1 +--- +``` + +```yml {linenos=true} +--- +title: "My 2nd Important post" +date: 2020-09-15T11:30:03+00:00 +weight: 2 +--- +``` + +--- + +## Adding Custom Favicon(s) + +We support the following paths under `/static` directory +and can be added accordingly. + +- `favicon.ico` +- `favicon-16x16.png` +- `favicon-32x32.png` +- `apple-touch-icon.png` +- `safari-pinned-tab.svg` + +1. Favicon(s) can be generated by [Favicon.io](https://favicon.io) and can be simply put in `/static` folder. + +2. Other way is to add favicon(s) NOT located in `/static` folder. + + In site config add the following: + + ```yml {linenos=true} + params: + assets: + favicon: "" + favicon16x16: "" + favicon32x32: "" + apple_touch_icon: "" + safari_pinned_tab: "" + ``` + + Note: `absolute url` means direct links to external resource: ex. `https://web.site/someimage.png` + +```yml {linenos=true} +params: + assets: + favicon: "/favicon.ico" + favicon16x16: "/favicon-16x16.png" + favicon32x32: "/favicon-32x32.png" + apple_touch_icon: "/apple-touch-icon.png" + safari_pinned_tab: "/safari-pinned-tab.svg" +``` + +--- + +## Centering image in markdown + +Add `#center` after image to center align an image + +```md {linenos=true} +![name](path/to/image.png#center) +``` + +**When using [`figure`](https://gohugo.io/content-management/shortcodes/) shortcode** + +use `align=center` to center image with captions + +```md {linenos=true} +{{}} +``` + +--- + +## Using Hugo's Syntax highlighter "chroma" + +1. Disable Highlight.js in site `config.yml` + + ```yml {linenos=true} + params: + assets: + disableHLJS: true + ``` + +2. Set hugo's markdown styling in site `config.yml` + + ```yml {linenos=true} + markup: + highlight: + # anchorLineNos: true + codeFences: true + guessSyntax: true + lineNos: true + # noClasses: false + style: monokai + ``` + +3. If you want `lineNos: true`, the background won't be proper. + This will only work with `noClasses: false` or `pygmentsUseClasses: true`. + Read [Generate Syntax Highlighter CSS](https://gohugo.io/content-management/syntax-highlighting/#generate-syntax-highlighter-css) + + Add the following to `assets/css/extended/custom.css` + + ```css {linenos=true} + .chroma { + background-color: unset; + } + ``` + + More Info : [Configure Markup - Highlight](https://gohugo.io/getting-started/configuration-markup#highlight) + +--- + +## Search not working ? + +If you are using a CDN to server assets from a different domain, search would break + +Why? Take a look at [fastsearch.js#L35](https://github.com/adityatelange/hugo-PaperMod/blob/fb4988cfb6d0d6e4e489f17d89f0fa618def3396/assets/js/fastsearch.js#L35). + +We fetch the `index.json` (where the search function looks for the keywords typed) one level up of the website `search.min.js` is hosted on. + +We have used this insted of assigning `baseURL` so as to work with multilingual websites ex. `example.com/fr/` and websites being placed under a subdirectory ex. `example.com/blog/`. + +To fix for _single_ language websites hosting assets from CDN, this you may [override](#override-theme-template) [fastsearch.js#L35](https://github.com/adityatelange/hugo-PaperMod/blob/fb4988cfb6d0d6e4e489f17d89f0fa618def3396/assets/js/fastsearch.js#L35) and placing appropriate URL as in + +```js {linenos=true} +xhr.open("GET", "https://example.com/index.json"); +``` + +--- + +## References + +- [Override a Hugo theme](https://zwbetz.com/override-a-hugo-theme/) diff --git a/content/posts/papermod/papermod-features/images/homeinfo.jpg b/content/posts/papermod/papermod-features/images/homeinfo.jpg new file mode 100644 index 0000000..0bb8e06 Binary files /dev/null and b/content/posts/papermod/papermod-features/images/homeinfo.jpg differ diff --git a/content/posts/papermod/papermod-features/images/profile.jpg b/content/posts/papermod/papermod-features/images/profile.jpg new file mode 100644 index 0000000..32592ed Binary files /dev/null and b/content/posts/papermod/papermod-features/images/profile.jpg differ diff --git a/content/posts/papermod/papermod-features/images/regular.jpg b/content/posts/papermod/papermod-features/images/regular.jpg new file mode 100644 index 0000000..70a3401 Binary files /dev/null and b/content/posts/papermod/papermod-features/images/regular.jpg differ diff --git a/content/posts/papermod/papermod-features/index.md b/content/posts/papermod/papermod-features/index.md new file mode 100644 index 0000000..df102d4 --- /dev/null +++ b/content/posts/papermod/papermod-features/index.md @@ -0,0 +1,511 @@ +--- +title: "Features / Mods" +summary: Learn About All Features in PaperMod +date: 2021-01-20 +weight: 2 +aliases: ["/papermod-features"] +tags: ["PaperMod", "Docs"] +author: ["Aditya Telange"] +--- + +### Intro + +- **We'll be using `yml/yaml` format for all examples down below, I recommend using `yml` over `toml` as it is easier to read.** + +- You can find any [YML to TOML](https://www.google.com/search?q=yml+to+toml) converters if necessary. + +--- + +### Assets (js/css) + +The following is enabled by default + +- [minification](https://gohugo.io/hugo-pipes/minification/) - makes the assets size smallest as possible. +- [bundling](https://gohugo.io/hugo-pipes/bundling/) - bundles all the styles in one single asset +- [fingerprint/intergity](https://gohugo.io/hugo-pipes/fingerprint/) check. + +--- + +### Default Theme light/dark/auto + +```yml {linenos=true} +params: + # defaultTheme: light + # defaultTheme: dark + defaultTheme: auto # to switch between dark or light according to browser theme +``` + + + +--- + +### Theme Switch Toggle (enabled by default) + +Shows icon besides title of page to change theme + +To disable it : + +```yml {linenos=true} +disableThemeToggle: true +``` + +You can refer following table for better understanding... + +| `defaultTheme` | `disableThemeToggle` | checks local storage? | checks system theme? | Info | +| -------------- | -------------------- | --------------------- | -------------------- | ----------------- | +| `auto` | true | No | Yes | only system theme | +| | false | Yes (if not->2) | Yes (2) | _switch present_ | +| `dark` | true | No | No | force dark only | +| | false | Yes | No | _switch present_ | +| `light` | true | No | No | force light only | +| | false | Yes | No | _switch present_ | + +--- + +### Archives Layout + +Create a page with `archive.md` in `content` directory with following content + +```shell +. +├── config.yml +├── content/ +│ ├── archives.md <--- Create archive.md here +│ └── posts/ +├── static/ +└── themes/ + └── PaperMod/ +``` + +and add the following to it + +```yml +--- +title: "Archive" +layout: "archives" +url: "/archives/" +summary: archives +--- +``` + +**Note:** Archives Layout does not support Multilingual Month Translations. + +ex: [archives.md](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/archives.md) + +--- + +### Regular Mode (default-mode) + +![regular](images/regular.jpg) + +--- + +### Home-Info Mode + +![homeinfo](images/homeinfo.jpg) + +Use 1st entry as some Information + +add following to config file + +```yml +params: + homeInfoParams: + Title: Hi there wave + Content: Can be Info, links, about... + + socialIcons: # optional + - name: "" + url: "" + - name: "" + url: "" +``` + +--- + +### Profile Mode + +![profile](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/posts/papermod/papermod-features/images/profile.jpg) + +Shows Index/Home page as Full Page with Social Links and Image + +add following to config file + +```yml {linenos=true} +params: + profileMode: + enabled: true + title: "" # optional default will be site title + subtitle: "This is subtitle" + imageUrl: "<image link>" # optional + imageTitle: "<title of image as alt>" # optional + imageWidth: 120 # custom size + imageHeight: 120 # custom size + buttons: + - name: Archive + url: "/archive" + - name: Github + url: "https://github.com/" + + socialIcons: # optional + - name: "<platform>" + url: "<link>" + - name: "<platform 2>" + url: "<link2>" +``` + +--- + +### Search Page + +PaperMod uses [Fuse.js Basic](https://fusejs.io/getting-started/different-builds.html#explanation-of-different-builds) for search functionality + +Add the following to site config, `config.yml` + +```yml {linenos=true,hl_lines=[5]} +outputs: + home: + - HTML + - RSS + - JSON # necessary for search +``` + +Create a page with `search.md` in `content` directory with following content + +```yml {linenos=true,hl_lines=[3]} +--- +title: "Search" # in any language you want +layout: "search" # necessary for search +# url: "/archive" +# description: "Description for Search" +summary: "search" +placeholder: "placeholder text in search input box" +--- +``` + +To hide a particular page from being searched, add it in post's frontmatter + +```yml {linenos=true} +searchHidden: true +``` + +ex: [search.md](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/search.md) + +> Search Page also has Key bindings: +> +> - Arrow keys to move up/down the list +> - Enter key (return) or Right Arrow key to go to the highlighted page +> - Escape key to clear searchbox and results + +For Multilingual use `search.<lang>.md` ex. `search.es.md`. + +**Note:** Search will work only on current language, user is currently on ! + +**Customizing Fusejs Options** + +Refer https://fusejs.io/api/options.html for Options, Add those as shown below. + +```yml {linenos=true} +params: + fuseOpts: + isCaseSensitive: false + shouldSort: true + location: 0 + distance: 1000 + threshold: 0.4 + minMatchCharLength: 0 + # limit: 10 # refer: https://www.fusejs.io/api/methods.html#search + keys: ["title", "permalink", "summary", "content"] +``` + +--- + +### Draft Page indication + +adds `[draft]` mark to indicate draft pages. + +--- + +### Post Cover Image + +In post's page-variables add : + +```yml {linenos=true} +cover: + image: "<image path/url>" + # can also paste direct link from external site + # ex. https://i.ibb.co/K0HVPBd/paper-mod-profilemode.png + alt: "<alt text>" + caption: "<text>" + relative: false # To use relative path for cover image, used in hugo Page-bundles +``` + +When you include images in the [Page Bundle](https://gohugo.io/content-management/page-bundles/), multiple sizes of the image will automatically be provided using the HTML5 `srcset` field. + +To reduce generation time and size of the site, you can disable this feature using + +```yml {linenos=true} +params: + cover: + responsiveImages: false +``` + +To enable hyperlinks to the full image size on post pages, use + +```yml {linenos=true} +params: + cover: + linkFullImages: true +``` + +--- + +### Share Buttons on post + +Displays Share Buttons at Bottom of each post + +to show share buttons add + +```yml +params: + ShowShareButtons: true +``` + +--- + +### Show post reading time + +Displays Reading Time (the estimated time, in minutes, it takes to read the content.) + +To show reading time add + +```yml +Params: + ShowReadingTime: true +``` + +--- + +### Show Table of Contents (Toc) on blog post + +Displays ToC on blog-pages + +To show ToC add following to page-variables + +```yml +ShowToc: true +``` + +To keep Toc Open **by default** on a post add following to page-variables: + +```yml +TocOpen: true +``` + +--- + +### BreadCrumb Navigation + +Adds BreadCrumb Navigation above Post's Title to show subsections and Navigation to Home + +```yml +params: + ShowBreadCrumbs: true +``` + +Can be diabled for particular page's front-matter + +```yml +--- +ShowBreadCrumbs: false +--- +``` + +--- + +### Edit Link for Posts + +Add a button to suggest changes by using the file path of the post to link to a edit destination. + +For site config use: + +```yml +Params: + editPost: + URL: "https://github.com/<path_to_repo>/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +``` + +Can be modified for individual pages + +```yml +--- +editPost: + URL: "https://github.com/<path_to_repo>/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +--- +``` + +The example above would yield the following link for the post file `posts/post-name.md`: +`https://github.com/<path_to_repo>/content/posts/post-name.md` + +| Parameter | Required | Default Value | +| ------------------------- | -------- | ------------- | +| `editPost.URL` | true | - | +| `editPost.appendFilePath` | false | `false` | +| `editPost.Text` | false | `Edit` | + +Since the link generated is a regular HTML anchor tag `<a href=...>`, you can +also use other URL schemas like `mailto://`, e.g. +`URL: "mailto://mail@example.com?subject=Suggesting changes for "` + +--- + +### Other Posts suggestion below a post + +Adds a Previous / Next post suggestion under a single post + +```yml +params: + ShowPostNavLinks: true +``` + +--- + +### Code Copy Button + +Adds a `copy` button in code block to copy the code it contains + +```yml +params: + ShowCodeCopyButtons: true +``` + +--- + +### Multiple Authors + +To Use multiple authors for a post, in post-variables: + +```yml +--- +author: ["Me", "You"] +--- +``` + +To use Multiple Authors Site-wide, in `config.yml`: + +```yml +params: + author: ["Me", "You"] +``` + +--- + +### Comments + +to add comments, create a html file + +`layouts/partials/comments.html` + +and paste code provided by your comments provider + +also in config add this + +```yml +params: + comments: true +``` + +read more about this [hugo-comments](https://gohugo.io/content-management/comments/) + +--- + +### AccessKeys + +```text +c - ToC Open/Close +g - Go To Top +h - Home (according to current lang) +t - Theme toggle +/ - Jumps to search page if in menu +``` + +[What's AccessKeys ?](https://www.w3schools.com/tags/att_global_accesskey.asp) + +--- + +### Enhanced SEO + +**Enabled only when `env: production`** + +- [Rich Results/Snippets Support](https://support.google.com/webmasters/answer/7506797?hl=en) + +#### Twitter Cards Support + +- The Twitter Cards metadata, except `twitter:image` should not require + additional configuration, since it is generated from metadata that + you should already have (for instance the page title and description). +- The `twitter:image` uses the [Post Cover Image](#post-cover-image), if present. +- In the absence of a cover images, the first image from the `images` + frontmatter (a list) is used. + ```yaml + images: + - image_01.png + - image_02.png + ``` +- Finally, if neither of those are provided, `twitter:image` comes from the first + [Page Bundle](https://gohugo.io/content-management/page-bundles/) + image with `feature` in the name, with a fallback to the first image with + `cover` or `thumbnail` in the name. + +#### OpenGraph support + +- The OpenGraph metadata, except `og:image` should not require + additional configuration, since it is generated from metadata that + you should already have (for instance the page title and description). +- The `og:image` uses the [Post Cover Image](#post-cover-image), if present. +- In the absence of a cover images, the first image from the `images` + frontmatter (a list) is used. + ```yaml + images: + - image_01.png + - image_02.png + ``` +- Finally, if neither of those are provided, `og:image` comes from the first + [Page Bundle](https://gohugo.io/content-management/page-bundles/) + image with `feature` in the name, with a fallback to the first image with + `cover` or `thumbnail` in the name. +- For pages, you can also add audio (using frontmatter `audio: filename.ext`) and/or + videos. + ```yaml + videos: + - filename01.mov + - filename02.avi + ``` + +--- + +### Multilingual Support + +--- + +### Misc + +#### Scroll-Bar themed (by default) + +#### Smooth Scroll between in-page links (by default) + +#### Scroll-to-Top Button (by default) + +```text +Displays a Scroll-to-Top button in right-bottom corner +``` + +#### Google Analytics integration + +#### Syntax highlighting + +#### RSS feeds diff --git a/content/posts/papermod/papermod-icons.md b/content/posts/papermod/papermod-icons.md new file mode 100644 index 0000000..f75c1c8 --- /dev/null +++ b/content/posts/papermod/papermod-icons.md @@ -0,0 +1,127 @@ +--- +title: "Social-Icons / Share-Icons" +summary: List of all Icons supported by PaperMod +date: 2021-01-20 +weight: 4 +aliases: ["/papermod-icons"] +tags: ["PaperMod", "Docs"] +author: ["Aditya Telange"] +draft: true +--- + +## Social Icons + +| Name | Platform Link | +| --------------- | ------------------------------- | +| `123rf` | 123rf.com | +| `adobestock` | stock.adobe.com | +| `applemusic` | music.apple.com | +| `behance` | behance.net | +| `bilibili` | bilibili.com | +| `bitcoin` | - | +| `buymeacoffee` | buymeacoffee.com | +| `codepen` | codepen.io | +| `cryptohack` | cryptohack.org | +| `ctftime` | ctftime.org | +| `cv` | - | +| `deezer` | deezer.com | +| `dev` | dev.to | +| `discogs` | discogs.com | +| `discord` | discord.com | +| `dreamstime` | dreamstime.com | +| `dribbble` | dribbble.com | +| `email` | - | +| `facebook` | facebook.com | +| `flickr` | flickr.com | +| `freepik` | freepik.com | +| `gitea` | gitea.io | +| `github` | github.com | +| `gitlab` | gitlab.com | +| `goodreads` | goodreads.com | +| `googlescholar` | scholar.google.com | +| `guruShots` | gurushots.com | +| `hackerone` | hackerone.com | +| `hackerrank` | hackerrank.com | +| `hackthebox` | hackthebox.eu | +| `instagram` | instagram.com | +| `itchio` | itch.io | +| `kaggle` | - | +| `kakaotalk` | kakaocorp.com/service/KakaoTalk | +| `key` | - | +| `keybase` | keybase.io | +| `kofi` | ko-fi.com | +| `komoot` | - | +| `lastfm` | last.fm | +| `letterboxd` | - | +| `liberapay` | liberapay.com | +| `linkedin` | linkedin.com | +| `mastodon` | mastodon.social | +| `matrix` | matrix.org | +| `medium` | medium.com | +| `monero` | - | +| `mixcloud` | mixcloud.com | +| `nuget` | nuget.org | +| `paypal` | paypal.com | +| `peertube` | - | +| `pgp` | - | +| `phone` | - | +| `ploywork` | ploywork.com | +| `qq` | qq.com | +| `reddit` | reddit.com | +| `researchgate` | researchgate.net | +| `rss` | - | +| `serverfault` | serverfault.com | +| `soundcloud` | soundcloud.com | +| `shutterstock` | shutterstock.com | +| `slack` | slack.com | +| `snapchat` | snapchat.com/add | +| `spotify` | spotify.com | +| `stackoverflow` | stackoverflow.com | +| `steam` | steampowered.com | +| `strava` | strava.com | +| `telegram` | telegram.org | +| `tiktok` | tiktok.com | +| `twitch` | twitch.tv | +| `twitter` | twitter.com | +| `unsplash` | unsplash.com | +| `x` | x.com | +| `xda` | xda-developers.com | +| `xing` | xing.com | +| `ycombinator` | ycombinator.com | +| `youtube` | youtube.com | +| `other` | - | + +Usage : + +```yml {linenos=true} +socialIcons: + - name: "kofi" + url: "https://kofi.com" + - name: "x" + url: "https://x.com" +``` + +--- + +## Share Icons + +| Platform | +| ------------------------------------------------------------------- | +| `x` (also generates `#hashtags` from _tags_ linked with post) | +| `linkedin` | +| `reddit` | +| `facebook` | +| `whatsapp` | +| `telegram` | + +Usage: + +```yml {linenos=true} +params: + ShowShareButtons: true +``` + +```yml {linenos=true} +params: + ShareButtons: ["linkedin", "twitter"] # To customize which share buttons to be enabled on page +``` diff --git a/content/posts/papermod/papermod-installation.md b/content/posts/papermod/papermod-installation.md new file mode 100644 index 0000000..f9fd40a --- /dev/null +++ b/content/posts/papermod/papermod-installation.md @@ -0,0 +1,372 @@ +--- +title: "Install / Update PaperMod" +summary: Read aboout Install and Update instructions and sampled configuration templates +date: 2021-01-20 +series: ["PaperMod"] +weight: 1 +aliases: ["/papermod-installation"] +tags: ["PaperMod", "Docs"] +author: ["Aditya Telange"] +cover: + image: images/papermod-cover.png + hiddenInList: true +--- + +> - **We'll be using `yml/yaml` format for all examples down below, it is recommend to use `yaml` over `toml` as it is easier to read.** +> - You can find any [YML to TOML](https://www.google.com/search?q=yml+to+toml) converters if needed. + +--- + +## Getting Started 🚀 + +1. Follow **[Hugo Docs's - Quick Start](https://gohugo.io/getting-started/quick-start/)** guide to install {{< inTextImg url="https://raw.githubusercontent.com/gohugoio/hugoDocs/master/static/img/hugo-logo.png" height="14" >}}. + <br>(Make sure you install **Hugo >= v0.112.4**) + +2. Create a new {{< inTextImg url="https://raw.githubusercontent.com/gohugoio/hugoDocs/master/static/img/hugo-logo.png" height="14" >}} site + ```sh + hugo new site MyFreshWebsite --format yaml + # replace MyFreshWebsite with name of your website + ``` + Note: + - Older versions of Hugo may not support `--format yaml` + - Read more here about [Hugo Docs's - hugo new site command](https://gohugo.io/commands/hugo_new_site/#synopsis) + +After you have created a new site, follow the below steps to add **PaperMod** + +### Installing/Updating PaperMod + +- Themes reside in `MyFreshWebsite/themes` directory. +- PaperMod will be installed in `MyFreshWebsite/themes/PaperMod` + +> {{< collapse summary="**Expand Method 1 - Git Clone**" >}} + +**INSTALL** : Inside the folder of your Hugo site `MyFreshWebsite`, run: + +```bash +git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1 +``` + +You may use ` --branch v7.0` to end of above command if you want to stick to specific release. + +**UPDATE**: Inside the folder of your Hugo site `MyFreshWebsite`, run: + +```bash +cd themes/PaperMod +git pull +``` + +{{</ collapse >}} + +> {{< collapse summary="**Expand Method 2 - Git Submodule (recomended)**" >}} + +**INSTALL** : Inside the folder of your Hugo site `MyFreshWebsite`, run: + +```bash +git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod +git submodule update --init --recursive # needed when you reclone your repo (submodules may not get cloned automatically) +``` + +You may use ` --branch v7.0` to end of above command if you want to stick to specific release. +Read more about git submodules [here](https://www.atlassian.com/git/tutorials/git-submodule). + +**UPDATE**: Inside the folder of your Hugo site `MyFreshWebsite`, run: + +```bash +git submodule update --remote --merge +``` + +{{</ collapse >}} + +> {{< collapse summary="**Expand Method 3 - Download an unzip**" >}} + +Download PaperMod source as Zip from Github Releases and extract in your themes directory at `MyFreshWebsite/themes/PaperMod` + +Direct Links: + +- [Master Branch (Latest)](https://github.com/adityatelange/hugo-PaperMod/archive/master.zip) +- [v7.0](https://github.com/adityatelange/hugo-PaperMod/archive/v7.0.zip) +- [v6.0](https://github.com/adityatelange/hugo-PaperMod/archive/v6.0.zip) +- [v5.0](https://github.com/adityatelange/hugo-PaperMod/archive/v5.0.zip) +- [v4.0](https://github.com/adityatelange/hugo-PaperMod/archive/v4.0.zip) +- [v3.0](https://github.com/adityatelange/hugo-PaperMod/archive/v3.0.zip) +- [v2.0](https://github.com/adityatelange/hugo-PaperMod/archive/v2.0.zip) +- [v1.0](https://github.com/adityatelange/hugo-PaperMod/archive/v1.0.zip) + +{{</ collapse >}} + +> {{< collapse summary="**Expand Method 4 - Hugo module**" >}} + +**INSTALL** : + +- Install [Go programming language](https://go.dev/doc/install) in your operating system. + +- Intialize your own hugo mod + +``` +hugo mod init YOUR_OWN_GIT_REPOSITORY +``` + +- Add PaperMod in your `config.yml` file + +```go {linenos=true} +module: + imports: + - path: github.com/adityatelange/hugo-PaperMod +``` + +**UPDATE**: + +``` +hugo mod get -u +``` + +Read more : [Hugo Docs's - HUGO MODULES](https://gohugo.io/hugo-modules/use-modules/) + +{{</ collapse >}} + +### Finally set theme as PaperMod in your site config + +In `config.yml` add: + +```yml {linenos=true} +theme: ["PaperMod"] +``` + +### Next up - Customizing PaperMod to suit your preferences. + +- Your site will be blank after you set up for the very first time. +- You may go through this website's source code - [PaperMod's exampleSite's souce](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite) +- Scroll below this page where you will find more specific details about each section. +- Kindly go through all of the pages below to know how to configure PaperMod. + +--- + +## Support 🫶 + +- Star 🌟 PaperMod's Github repository. +- Help spread the word about PaperMod by sharing it on social media and recommending it to your friends. 🗣️ +- You can also sponsor 🏅 on [Github Sponsors](https://github.com/sponsors/adityatelange) / [Ko-Fi](https://ko-fi.com/adityatelange). + +--- + +## Videos featuring PaperMod + +You can go through few videos which are available on YouTube for getting to know the creator's thoughts as well as the setup process. + +▶️ https://youtube.com/playlist?list=PLeiDFxcsdhUrzkK5Jg9IZyiTsIMvXxKZP + +--- + +## Quick Links + +- ### [Papermod - Features](../papermod-features) + +- ### [Papermod - FAQs](../papermod-how-to) + +- ### [Papermod - Variables](../papermod-variables) + +- ### [Papermod - Icons](../papermod-icons) + +- ### [ChangeLog](https://github.com/adityatelange/hugo-PaperMod/releases) + +--- + +## Sample `config.yml` + +> **Example Site Structure is present here**: [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite/) + +**Use appropriately** + +```yml +baseURL: "https://examplesite.com/" +title: ExampleSite +paginate: 5 +theme: PaperMod + +enableRobotsTXT: true +buildDrafts: false +buildFuture: false +buildExpired: false + +googleAnalytics: UA-123-45 + +minify: + disableXML: true + minifyOutput: true + +params: + env: production # to enable google analytics, opengraph, twitter-cards and schema. + title: ExampleSite + description: "ExampleSite description" + keywords: [Blog, Portfolio, PaperMod] + author: Me + # author: ["Me", "You"] # multiple authors + images: ["<link or path of image for opengraph, twitter-cards>"] + DateFormat: "January 2, 2006" + defaultTheme: auto # dark, light + disableThemeToggle: false + + ShowReadingTime: true + ShowShareButtons: true + ShowPostNavLinks: true + ShowBreadCrumbs: true + ShowCodeCopyButtons: false + ShowWordCount: true + ShowRssButtonInSectionTermList: true + UseHugoToc: true + disableSpecial1stPost: false + disableScrollToTop: false + comments: false + hidemeta: false + hideSummary: false + showtoc: false + tocopen: false + + assets: + # disableHLJS: true # to disable highlight.js + # disableFingerprinting: true + favicon: "<link / abs url>" + favicon16x16: "<link / abs url>" + favicon32x32: "<link / abs url>" + apple_touch_icon: "<link / abs url>" + safari_pinned_tab: "<link / abs url>" + + label: + text: "Home" + icon: /apple-touch-icon.png + iconHeight: 35 + + # profile-mode + profileMode: + enabled: false # needs to be explicitly set + title: ExampleSite + subtitle: "This is subtitle" + imageUrl: "<img location>" + imageWidth: 120 + imageHeight: 120 + imageTitle: my image + buttons: + - name: Posts + url: posts + - name: Tags + url: tags + + # home-info mode + homeInfoParams: + Title: "Hi there \U0001F44B" + Content: Welcome to my blog + + socialIcons: + - name: x + url: "https://x.com/" + - name: stackoverflow + url: "https://stackoverflow.com" + - name: github + url: "https://github.com/" + + analytics: + google: + SiteVerificationTag: "XYZabc" + bing: + SiteVerificationTag: "XYZabc" + yandex: + SiteVerificationTag: "XYZabc" + + cover: + hidden: true # hide everywhere but not in structured data + hiddenInList: true # hide on list pages and home + hiddenInSingle: true # hide on single page + + editPost: + URL: "https://github.com/<path_to_repo>/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link + + # for search + # https://fusejs.io/api/options.html + fuseOpts: + isCaseSensitive: false + shouldSort: true + location: 0 + distance: 1000 + threshold: 0.4 + minMatchCharLength: 0 + limit: 10 # refer: https://www.fusejs.io/api/methods.html#search + keys: ["title", "permalink", "summary", "content"] +menu: + main: + - identifier: categories + name: categories + url: /categories/ + weight: 10 + - identifier: tags + name: tags + url: /tags/ + weight: 20 + - identifier: example + name: example.org + url: https://example.org + weight: 30 +# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma +pygmentsUseClasses: true +markup: + highlight: + noClasses: false + # anchorLineNos: true + # codeFences: true + # guessSyntax: true + # lineNos: true + # style: monokai +``` + +--- + +## Sample `Page.md` + +```yml +--- +title: "My 1st post" +date: 2020-09-15T11:30:03+00:00 +# weight: 1 +# aliases: ["/first"] +tags: ["first"] +author: "Me" +# author: ["Me", "You"] # multiple authors +showToc: true +TocOpen: false +draft: false +hidemeta: false +comments: false +description: "Desc Text." +canonicalURL: "https://canonical.url/to/page" +disableHLJS: true # to disable highlightjs +disableShare: false +disableHLJS: false +hideSummary: false +searchHidden: true +ShowReadingTime: true +ShowBreadCrumbs: true +ShowPostNavLinks: true +ShowWordCount: true +ShowRssButtonInSectionTermList: true +UseHugoToc: true +cover: + image: "<image path/url>" # image path/url + alt: "<alt text>" # alt text + caption: "<text>" # display caption under cover + relative: false # when using page bundles set this to true + hidden: true # only hide on current single page +editPost: + URL: "https://github.com/<path_to_repo>/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +--- +``` + +You can use it by creating `archetypes/post.md` + +```shell +hugo new --kind post <name> +``` + +--- diff --git a/content/posts/papermod/papermod-variables.md b/content/posts/papermod/papermod-variables.md new file mode 100644 index 0000000..27e8bfd --- /dev/null +++ b/content/posts/papermod/papermod-variables.md @@ -0,0 +1,201 @@ +--- +title: "Variables | Front Matter" +summary: List of Front Matter variables used by PaperMod +date: 2021-01-20 +tags: ["PaperMod", "Docs"] +author: ["Aditya Telange"] +draft: true +weight: 5 +--- + +**Below are variables used with this theme...** + +--- + +### Site Variables under `Params` + +| name | type | example | Description | +| -------------------------------------- | ------------- | ------------------------- | ----------------------------------------------------------------------------------------- | +| `env` | string | 'production' | To set env to production | +| `title` | string | 'My Blog' | To set title | +| `description` | string | 'This is a blog of mine' | To set site description | +| `author` | string \|list | 'Me' \| ['Me','You'] | To show multiple Authors | +| `images` | string | 'myimage.png' | Link or path of image for opengraph, twitter-cards | +| `keywords` | list | [blog, page] | Add keywords for Home page | +| `DateFormat` | string | "January 2, 2006" | The format of date strings in the website. [Details](https://gohugo.io/functions/format/) | +| `languageAltTitle` | string | "English" | Alternate title in Multilingual Mode | +| `ShowReadingTime` | boolean | true \| false | To show read time in post meta | +| `ShowShareButtons` | boolean | true \| false | To show/hide share buttons under post | +| `ShowCodeCopyButtons` | boolean | true \| false | To show/hide Code Copy button | +| `ShowFullTextinRSS` | boolean | true \| false | To show Content in RSS feed | +| `defaultTheme` | string | light \| dark \| auto | To set default theme | +| `disableThemeToggle` | boolean | true \| false | To disable theme toggle icon shown besides label | +| `disableSpecial1stPost` | boolean | true \| false | To disable no-card special appearance of 1st post | +| `disableScrollToTop` | boolean | true \| false | To disable ScrollToTop button | +| `disableAnchoredHeadings` | boolean | true \| false | To disable Anchored Headings | +| `hideMeta` | boolean | true \| false | To Hide meta elements : date, read-time, author and available-translations for page | +| `hideSummary` | boolean | true \| false | To Hide summary being shown in list pages | +| `showtoc` | boolean | true \| false | To show/hide Table of Contents | +| `tocopen` | boolean | true \| false | To keep open ToC by default on page load | +| `ShowPostNavLinks` | boolean | true \| false | Show Previous and Next Posts below a Post | +| `ShowBreadCrumbs` | boolean | true \| false | Show BreadCrumb Navigation above single post/page | +| `ShareButtons` | list | ["linkedin", "x"] | To customize which share buttons to be enabled on page | +| `ShowWordCount` | boolean | true \| false | To word count to metadata | +| `ShowRssButtonInSectionTermList` | boolean | true \| false | To show RSS icon in Section, Term and List pages | +| `UseHugoToc` | boolean | true \| false | To use Hugo's default Toc instead of custom | +| `comments` | boolean | true \| false | To show/hide comments | +| `hideFooter` | boolean | true \| false | To Hide Footer Text om the end of page | +| `CanonicalLinkText` | string | 'Originally published at' | To show text before canonical URL's hostname | +| `displayFullLangName` | boolean | true \| false | To show `languageName` under a language in Language switch header | +| `analytics.google.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Google Analytics | +| `analytics.bing.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Bing | +| `analytics.yandex.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Yandex | +| `schema` | - | - | [Details](#schema) | +| `fuseOpts` | - | - | [Details](#fuseOpts) | +| `socialIcons` | - | - | [Details](#socialIcons) | +| `label` | - | - | [Details](#label) | +| `assets` | - | - | [Details](#assets) | +| `cover` | - | - | [Details](#cover) | +| `profileMode` | - | - | [Details](#profilemode) | +| `editPost` | - | - | [Details](#editPost) | + +### Site Variables + +| name | type | example | Description | +| ----------- | ------ | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | +| `copyright` | string | `**[example.site](https://example.site)**` | This is [HUGO's site variable](https://gohugo.io/variables/site/#site-variables-list), which can also render markdown content | + +#### label + +| name | type | example | Description | +| ------------------ | ------- | ----------------------- | ------------------------------------------------ | +| `label.text` | string | 'Home' | To display different label text other than title | +| `label.icon` | string | '/apple-touch-icon.png' | To display a logo image in label | +| `label.iconHeight` | integer | 35 | To set size of label logo image | + +#### profileMode + +| name | type | example | Description | +| ------------------------- | ------- | ---------------------------------------------- | ---------------------------------------------------- | +| `profileMode.enabled` | boolean | true \| false | For enabling profileMode, needs to be explicitly set | +| `profileMode.title` | string | "Title" | Title | +| `profileMode.subtitle` | string | "subtitle here" | Subtitle | +| `profileMode.imageUrl` | string | "image.png" \| "https://example.com/image.jpg" | Image URL or Link | +| `profileMode.imageWidth ` | string | "150" | Width of image | +| `profileMode.imageHeight` | string | "150" | Height of image | +| `profileMode.imageTitle` | string | "This image is a picture of .." | Title of image | +| `profileMode.buttons` | - | - | [Details](#profileModebuttons) | + +##### profileMode.buttons + +```yml +profileMode: + buttons: + - name: Archive + url: "/archive" + - name: Github + url: "https://github.com/" +``` + +#### assets + +| name | type | example | Description | +| -------------------------------- | ------- | ------------- | -------------------------------------------- | +| `assets.favicon` | string | 'icon.ico' | To set favicon, can be path or external link | +| `assets.disableHLJS` | boolean | true \| false | To disable Highlight.js loading | +| `assets.disableFingerprinting` | boolean | true \| false | To disable Sub-Resource integrity for assets | +| `assets.theme_color` | string | '#color' | To set custom meta theme-color | +| `assets.msapplication_TileColor` | string | '#color' | To set custom msapplication_TileColor | + +#### cover + +| name | type | example | Description | +| ------------------------ | ------- | ------------- | ------------------------------------------------------- | +| `cover.linkFullImages` | boolean | true \| false | To open full size cover images on click on cover | +| `cover.responsiveImages` | boolean | true \| false | To enable/disable generation of responsive cover images | +| `cover.hidden` | boolean | true \| false | To hide everywhere but not in structured data | +| `cover.hiddenInList` | boolean | true \| false | To hide on list pages and home | +| `cover.hiddenInSingle ` | boolean | true \| false | To hide on list pages and home | + +#### schema + +| name | type | example | Description | +| ---------------------- | ------ | ---------------- | ----------------------------- | +| `schema.publisherType` | string | 'Organization' | https://schema.org/publisher | +| `schema.sameAs` | list | ["URL1", "URL2"] | Set https://schema.org/sameAs | + +#### fuseOpts + +Refer: https://fusejs.io/api/options.html + +```yml +fuseOpts: + isCaseSensitive: false + shouldSort: true + location: 0 + distance: 1000 + threshold: 0.4 + minMatchCharLength: 0 + limit: 10 # refer: https://www.fusejs.io/api/methods.html#search + keys: ["title", "permalink", "summary", "content"] ## can be less but not more than shown in list +``` + +#### socialIcons + +```yml +socialIcons: + - name: "<platform>" + url: "<link>" + - name: "<platform 2>" + url: "<link2>" +``` + +#### editPost + +```yml +editPost: + URL: "https://github.com/<path_to_repo>/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +``` + +> Note: Same format is being used by Page Variables + +--- + +### Page Variables + +| Name | Type | Example | Description | +| -------------------------------- | ------------- | ------------------------------- | ----------------------------------------------------------------------------------- | +| `showtoc` | boolean | true \| false | To show/hide Table of Contents | +| `tocopen` | boolean | true \| false | To keep open ToC by default on page load | +| `hidemeta` | boolean | true \| false | To Hide meta elements : date, read-time, author and available-translations for page | +| `comments` | boolean | true \| false | To show/hide comments | +| `description` | string | 'description text' | Show Post Description under Title | +| `canonicalURL` | string | "https://canonical.url/to/page" | To add canonical URL to posts | +| `ShowCanonicalLink` | boolean | true \| false | To show canonical URL's hostname | +| `CanonicalLinkText` | string | 'Originally published at' | To show text before canonical URL's hostname | +| `disableShare` | boolean | true \| false | To hide/show share icons under a page | +| `disableHLJS` | boolean | true \| false | To disable Highlight.js loading | +| `disableAnchoredHeadings` | boolean | true \| false | To disable Anchored Headings | +| `searchHidden` | boolean | true \| false | Hide page from search | +| `hideSummary` | boolean | true \| false | To Hide summary being shown in list pages | +| `hideFooter` | boolean | true \| false | To Hide Footer Text om the end of page | +| `ShowReadingTime` | boolean | true \| false | To show read time in post meta | +| `ShowBreadCrumbs` | boolean | true \| false | Show BreadCrumb Navigation above single post/page | +| `ShowPostNavLinks` | boolean | true \| false | Show Previous and Next Posts below a Post | +| `ShowCodeCopyButtons` | boolean | true \| false | To show/hide Code Copy button | +| `author` | string \|list | 'Me' \| ['Me','You'] | To show multiple Authors | +| `cover.image` | string | 'featured.jpg' | To add a cover image | +| `cover.caption ` | string | 'caption for image' | To add caption to cover image | +| `cover.alt` | string | 'this is cover image' | Alternate text to show if image doesn't load/show up | +| `cover.relative` | boolean | true \| false | To use relative path for cover image, used in hugo Page-bundles | +| `cover.responsiveImages` | boolean | true \| false | To enable/disable generation of responsive cover images | +| `cover.hidden` | boolean | true \| false | To hide on current single page | +| `weight ` | integer | 5 | To set page order or to pin a post to Top of list | +| `ShareButtons` | list | ["linkedin", "x"] | To customize which share buttons to be enabled on page | +| `ShowWordCount` | boolean | true \| false | To word count to metadata | +| `ShowRssButtonInSectionTermList` | boolean | true \| false | To show RSS icon in Section, Term and List pages | +| `UseHugoToc` | boolean | true \| false | To use Hugo's default Toc instead of custom | +| `robotsNoIndex` | boolean | true \| false | To hide a particular page from indexing by search engines | +| `hiddenInHomelist` | boolean | true \| false | To Hide specific being shown in Home pages | diff --git a/content/posts/rich-content.md b/content/posts/rich-content.md new file mode 100644 index 0000000..4c5ab37 --- /dev/null +++ b/content/posts/rich-content.md @@ -0,0 +1,36 @@ +--- +author: ["Hugo Authors", "PaperMod Contributors"] +title: "Rich Content and Shortcodes" +date: "2019-03-10" +description: "A brief description of Hugo Shortcodes" +tags: ["markdown", "shortcodes", "privacy"] +ShowToc: true +--- + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. + +<!--more--> + +--- + +## Figure Shortcode ([PaperMod enhanced](https://github.com/adityatelange/hugo-PaperMod/commits/master/layouts/shortcodes/figure.html)) + +{{< figure src="https://source.unsplash.com/Z0lL0okYjy0" attr="Photo by [Aditya Telange](https://unsplash.com/@adityatelange?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/Z0lL0okYjy0?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)" align=center link="https://unsplash.com/photos/Z0lL0okYjy0" target="_blank" >}} + +--- + +## YouTube + +{{< youtube hjD9jTi_DQ4 >}} + +--- + +## Twitter Shortcode + +{{< twitter user="adityatelange" id="1724414854348357922" >}} + +--- + +## Vimeo Shortcode + +{{< vimeo 152985022 >}} diff --git a/content/search.md b/content/search.md new file mode 100644 index 0000000..a1936bf --- /dev/null +++ b/content/search.md @@ -0,0 +1,5 @@ +--- +title: "Tìm kiếm" +placeholder: Nhập nội dung cần tìm +layout: "search" +--- diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..090f55c --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/tiennm99/miti99 + +go 1.22.0 + +require github.com/adityatelange/hugo-PaperMod v0.0.0-20240316195851-dad94ab4b7c5 // indirect diff --git a/config.toml b/old-config.toml similarity index 98% rename from config.toml rename to old-config.toml index b9a43c4..c5384f5 100644 --- a/config.toml +++ b/old-config.toml @@ -1,6 +1,6 @@ baseURL = "https://miti99.dev" title = "miti99" -theme = "hugo-coder" +#theme = "hugo-coder" languageCode = "en" defaultContentLanguage = "en" paginate = 20 diff --git a/static/images/apple-touch-icon.png b/static/images/apple-touch-icon.png deleted file mode 100644 index 12da374..0000000 Binary files a/static/images/apple-touch-icon.png and /dev/null differ diff --git a/static/images/favicon-16x16.png b/static/images/favicon-16x16.png deleted file mode 100644 index c0ce306..0000000 Binary files a/static/images/favicon-16x16.png and /dev/null differ diff --git a/static/images/favicon-32x32.png b/static/images/favicon-32x32.png deleted file mode 100644 index f2f0316..0000000 Binary files a/static/images/favicon-32x32.png and /dev/null differ