Jared 2 years ago
commit
f6d4aca0c0
88 changed files with 6429 additions and 0 deletions
  1. 6 0
      archetypes/default.md
  2. 9 0
      config.toml
  3. 68 0
      content/news/1/1.md
  4. 47 0
      content/news/10/1.md
  5. 118 0
      content/news/11/1.md
  6. 57 0
      content/news/12/1.md
  7. 44 0
      content/news/13/1.md
  8. 48 0
      content/news/14/1.md
  9. 100 0
      content/news/15/1.md
  10. 242 0
      content/news/16/1.md
  11. 165 0
      content/news/17/1.md
  12. 23 0
      content/news/2/1.md
  13. 38 0
      content/news/3/1.md
  14. 80 0
      content/news/4/1.md
  15. 54 0
      content/news/5/1.md
  16. 137 0
      content/news/6/1.md
  17. 99 0
      content/news/7/1.md
  18. 139 0
      content/news/8/1.md
  19. 48 0
      content/news/9/1.md
  20. 2 0
      layouts/shortcodes/rawhtml.html
  21. 129 0
      static/css/reset.css
  22. 374 0
      static/css/style.css
  23. 0 0
      static/css/style.css.map
  24. 407 0
      static/css/style.scss
  25. 1 0
      static/googlea343783bd909616f.html
  26. BIN
      static/img/image.jpg
  27. 35 0
      static/js/main.js
  28. 20 0
      themes/hugo-bootstrap-5/LICENSE.md
  29. 52 0
      themes/hugo-bootstrap-5/README.md
  30. 105 0
      themes/hugo-bootstrap-5/exampleSite/config.toml
  31. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/about.de.md
  32. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/about.es.md
  33. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/about.md
  34. 5 0
      themes/hugo-bootstrap-5/exampleSite/content/contact.de.md
  35. 5 0
      themes/hugo-bootstrap-5/exampleSite/content/contact.es.md
  36. 5 0
      themes/hugo-bootstrap-5/exampleSite/content/contact.md
  37. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/post/2015-01-04-first-post.es.md
  38. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/post/2015-01-04-first-post.md
  39. 13 0
      themes/hugo-bootstrap-5/exampleSite/content/post/2016-01-04-first-post.de.md
  40. 4 0
      themes/hugo-bootstrap-5/exampleSite/content/post/_index.md
  41. 1147 0
      themes/hugo-bootstrap-5/exampleSite/content/post/creating-a-new-theme.md
  42. 344 0
      themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.de.md
  43. 344 0
      themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.es.md
  44. 344 0
      themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.md
  45. 90 0
      themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.de.md
  46. 90 0
      themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.es.md
  47. 90 0
      themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.md
  48. 153 0
      themes/hugo-bootstrap-5/exampleSite/content/post/migrate-from-jekyll.md
  49. 3 0
      themes/hugo-bootstrap-5/exampleSite/layouts/partials/brand.html
  50. 3 0
      themes/hugo-bootstrap-5/go.mod
  51. 29 0
      themes/hugo-bootstrap-5/i18n/de.yaml
  52. 29 0
      themes/hugo-bootstrap-5/i18n/en.yaml
  53. 29 0
      themes/hugo-bootstrap-5/i18n/es.yaml
  54. 29 0
      themes/hugo-bootstrap-5/i18n/fr.yaml
  55. 29 0
      themes/hugo-bootstrap-5/i18n/it.yaml
  56. BIN
      themes/hugo-bootstrap-5/images/screenshot.png
  57. BIN
      themes/hugo-bootstrap-5/images/screenshot2.png
  58. BIN
      themes/hugo-bootstrap-5/images/tn.png
  59. 10 0
      themes/hugo-bootstrap-5/layouts/404.html
  60. 53 0
      themes/hugo-bootstrap-5/layouts/_default/baseof.html
  61. 27 0
      themes/hugo-bootstrap-5/layouts/_default/content.html
  62. 115 0
      themes/hugo-bootstrap-5/layouts/_default/list.html
  63. 45 0
      themes/hugo-bootstrap-5/layouts/_default/single.html
  64. 45 0
      themes/hugo-bootstrap-5/layouts/_default/taxonomy.html
  65. 64 0
      themes/hugo-bootstrap-5/layouts/index.html
  66. 1 0
      themes/hugo-bootstrap-5/layouts/partials/brand.html
  67. 38 0
      themes/hugo-bootstrap-5/layouts/partials/focus.html
  68. 12 0
      themes/hugo-bootstrap-5/layouts/partials/footer.html
  69. 19 0
      themes/hugo-bootstrap-5/layouts/partials/head.html
  70. 44 0
      themes/hugo-bootstrap-5/layouts/partials/header.html
  71. 59 0
      themes/hugo-bootstrap-5/layouts/partials/news-all.html
  72. 46 0
      themes/hugo-bootstrap-5/layouts/partials/news-featured.html
  73. 42 0
      themes/hugo-bootstrap-5/layouts/partials/news-main.html
  74. 87 0
      themes/hugo-bootstrap-5/layouts/partials/news-tab.html
  75. 16 0
      themes/hugo-bootstrap-5/layouts/partials/news.html
  76. 45 0
      themes/hugo-bootstrap-5/layouts/partials/paginator.html
  77. 8 0
      themes/hugo-bootstrap-5/layouts/partials/post-categories.html
  78. 11 0
      themes/hugo-bootstrap-5/layouts/partials/post-date.html
  79. 8 0
      themes/hugo-bootstrap-5/layouts/partials/post-tags.html
  80. 9 0
      themes/hugo-bootstrap-5/layouts/partials/post-title.html
  81. 29 0
      themes/hugo-bootstrap-5/layouts/partials/recent.html
  82. 11 0
      themes/hugo-bootstrap-5/layouts/partials/related.html
  83. 1 0
      themes/hugo-bootstrap-5/layouts/partials/sidebar-custom.html
  84. 23 0
      themes/hugo-bootstrap-5/layouts/partials/sidebar.html
  85. 29 0
      themes/hugo-bootstrap-5/layouts/partials/taxonomies.html
  86. 10 0
      themes/hugo-bootstrap-5/layouts/partials/translations.html
  87. 8 0
      themes/hugo-bootstrap-5/static/css/style.css
  88. 17 0
      themes/hugo-bootstrap-5/theme.toml

+ 6 - 0
archetypes/default.md

@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+

+ 9 - 0
config.toml

@@ -0,0 +1,9 @@
+baseURL = "https://news.ptt.cx/"
+languageCode = "en-us"
+title = "PTT News"
+theme = "hugo-bootstrap-5"
+paginate = 10
+publishDir = "/tmp/news_ptt_cx"
+[taxonomies]
+  tag = 'tags'
+  category = 'categories'

+ 68 - 0
content/news/1/1.md

@@ -0,0 +1,68 @@
+---
+title: "巫師已告知詢價Kuzma的球隊其為非賣品"
+date: 2023-01-25T00:56:29+08:00
+draft: false
+display: true
+tags: ["Kyle Kuzma"]
+categories: ["NBA"]
+description: "-"
+url: "/blog/1"
+image: "https://cache.ptt.cc/c/https/i.imgur.com/Ohe7FSml.jpg?e=1674855259&s=AF191v5eCw5_ZPNqpB4AIg"
+type: "featured"
+---
+
+巫師已告知詢價Kuzma的球隊其為非賣品
+
+The trade market is hopefully going to get extremely active after the first move
+ of the winter finally went down, with the Lakers acquiring Rui Hachimura for Ke
+ndrick Nunn and 3 second-round picks, a low-risk flier to take on a young forwar
+d. The Lakers also intend to agree on a contract extension with Hachimura to ens
+ure they have a player of his caliber on the roster in the long term.
+
+隨著湖人隊用Kendrick Nunn和3個次輪籤換來了八村壘,交易市場有望在冬季的第一次交易
+結束後變得異常活躍。湖人還打算與八村壘達成續約協議,以確保他們在長期的陣容中擁有
+一名像他這樣水準的球員。
+
+When it comes to forwards in Washington, one that's been angling to leave is Kyl
+e Kuzma. Kuzma has rebuffed contract extension talks with Washington and will hi
+t the open market in the summer. Many have said Washington should get an asset f
+or Kuzma by trading him but it seems the Wizards traded Hachimura away to focus
+on re-signing Kuzma this summer.
+
+說到華盛頓的前鋒,Kyle Kuzma一直被認為想離開。Kuzma拒絕了與華盛頓的續約談判,並
+將在夏天投身公開市場。許多人說華盛頓應該透過交易Kuzma來獲得一筆資產,但看起來巫
+師隊隊將八村壘交易走是為了專注於今年夏天重新簽下Kuzma。
+
+"The Wizards had no intention of rewarding Hachimura that type of money, and thi
+s trade says as much about Washington’s goal of re-signing forward Kyle Kuzma a
+s anything else. The Wizards have told inquiring teams, such as the Hawks and Su
+ns, that Kuzma is not available for trade, sources said, despite his objective t
+o decline next season’s player option and test the open market." (h/t Yahoo)
+
+Yahoo Sports:巫師隊並沒有打算提供八村這麼多錢,這筆交易說明了巫師隊重新簽下前鋒
+Kyle Kuzma的目標。消息來源透露,儘管Kuzma的目標是拒絕下賽季的球員選擇,並投身公
+開市場測試身價,但巫師已經告訴詢價的球隊,像是老鷹和太陽,Kuzma是不可交易的。
+
+
+
+## Wizards’ Bold Plans For Kyle Kuzma, Kristaps Porzingis
+
+The Washington Wizards took part in the first deal of NBA trade season earlier this week with the Los Angeles Lakers. They traded Rui Hachimura out west in exchange for Kendrick Nunn and three second-round picks; two from the Lakers in 2023 and 2029 and one from the Chicago Bulls in 2023.
+
+Speculation began last week that the Wizards were exploring a deal centered around Hachimura as they sought to alleviate the logjam that was being created in their frontcourt. Finding a deal involving him also showed their hand for the future.
+
+According to Marc Stein on his Substack, the next step for Washington is retaining Kyle Kuzma and Kristaps Porzingis. Both players have options for the 2023-24 season that are expected to be declined so that they can sign long-term deals as free agents this upcoming summer.
+
+
+League sources say that the Wizards’ willingness to trade Hachimura in the name of down-the-road financial flexibility is indeed a reflection of their increasing confidence when it comes to re-signing Kyle Kuzma this summer. Kuzma intends to decline his $13 million player option for next season to become a free agent on June 30. Washington continues to tell rival teams that it plans to re-sign Kuzma as well as Kristaps Porziņģis, who can also become a free agent this summer if he declines his $36 million player option for next season. One source close to the situation said declining the option and becoming a free agent is indeed a prime option Porziņģis is considering, but I’m told he likes his situation in the nation’s capital.
+
+
+Coming into the season, it felt like a foregone conclusion that Kuzma would be declining that option if he was able to replicate his performance from last season, his first with the team. He has thus far gone above and beyond that production.
+
+
+
+LATEST NBA NEWS & TRADE RUMORS: Rui Hachimura, Washington Wizards & Los Angeles Lakers Updates
+
+This season Kuzma is averaging a career-high 22 points and 4.0 assists per game to go along with 7.6 rebounds. He is an integral part of their game plan and while there were some rumors that he wanted out of Washington, trading Hachimura and making Kuzma their unquestioned building block at power forward would indicate a deal can be reached.
+
+Regarding Porzingis, it was never a question of talent. He is an excellent basketball player as a mismatch nightmare on offense given his size and skill set. Defensively, he can be a difference-maker as a rim protector. The biggest question with Porzingis was availability, and this season he has been able to stay on the court before recently suffering an ankle sprain.

+ 47 - 0
content/news/10/1.md

@@ -0,0 +1,47 @@
+---
+title: "「泡麵土地公」"
+date: 2023-01-25T22:56:29+08:00
+draft: false
+display: true
+tags: ["土地公"]
+categories: ["religion"]
+description: "-"
+url: "/blog/10"
+image: "https://s.yimg.com/ny/api/res/1.2/MIXNg_dgwPQvuiNQMqe4Xg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTU0MDtjZj13ZWJw/https://media.zenfs.com/zh-tw/cts.com.tw/c9a21ced21913f207e7ff3407c94c6c7"
+type: "post"
+---
+
+## 「泡麵土地公」日吃萬碗 獨特「拜拜儀式」
+
+過年大魚大肉,吃吃泡麵也不錯。南投中寮石龍宮,有泡麵土地公之稱,大家帶著泡麵來拜土地公,之後也要吃一碗泡麵,過年期間24小時開放,廟方估計每天7萬人,大約吃掉一萬多碗泡麵。
+
+
+人手一碗泡麵,坐著吃,站著也能吃,因為實在沒位置了,不過都吃得笑呵呵,津津有味。
+
+這是南投中寮石龍宮,來到這裡,吃泡麵已經成為拜土地公儀式的一環,沒有吃還覺得沒有完成拜神程序。
+
+民眾:「拜拜求平安求身體健康闔家平安,(來這裡最重要做啥),最重要的是喔吃泡麵哈哈哈。」
+
+
+民眾:「來這裡拜拜吃泡麵,小孩喜歡吃泡麵。」
+
+
+拜拜求財求健康求平安,人太多,要插一炷香得排隊。土地公在這裡,最原始的小土地公廟,信眾排隊,跪在前面跟「伯公」說敲悄悄話,希望祂保佑成全。供桌上成堆的泡麵,還有一箱疊一箱,疊了10幾箱。工作人員拆箱,拆到手軟。
+
+工作人員:「24小時來算大概是4至500箱,手軟是正常的。」
+
+把泡麵分類,讓民眾自由挑選,紙箱得用貨車來載,已經堆滿了貨車車斗。人多車也多,看看要進入石龍宮的車隊,這麼長,車陣綿延大約一公里,車位也早就滿了。
+
+石龍宮主委吳秋福:「消化不了太多了,(你一天預估差不多多少)7萬多。」
+
+石龍宮估計每天數萬人來拜拜,要拆4至500箱的泡麵,估計一萬多碗。過年大魚大肉吃多了,拜土地公,吃泡麵,求財求好運,也平衡一下腸胃健康。
+
+## 「泡麵土地公」求財夯 中寮石龍宮外車陣1公里
+
+南投中寮以「泡麵土地公」求財聞名的石龍宮,初四迎財神吸引許多民眾參拜,求財運也祈求平安,還沒中午,廟外的車潮就綿延大約1公里,供品區的各種泡麵,堆得像一座小山,工作人員光一個人就得拆4、5百箱泡麵,再依口味分類,提供給民眾享用,而吃泡麵、拜泡麵,是石龍宮拜拜的特色,也是春節連假出遊熱點之一,廟方估計,初一到初四的人潮可望達20萬人。
+
+打開泡麵擠入醬料包,每個人都在忙著泡麵,旁邊還有一籃又一籃各種口味的泡麵,讓民眾吃免驚,這裡是南投中寮石龍宮,以吃泡麵拜土地公求財聞名,大年初四是迎財神的日子,還沒中午,沿途要來參拜的車潮就綿延大約1公里,還有民眾提早停車,在2公里外步行前往,廟裡擠滿拿香拜拜的民眾,供品區的泡麵堆疊成一座又一座的小山,還有人捧著一整箱泡麵和金光閃閃的金元寶財庫,要向土地公求財、求平安。
+
+民眾說:「來這求財求利啊看能不能發財。」民眾說:「求平安啦求身體健康闔家平安。」許多信眾準備泡麵來拜拜,但大多數只吃1碗泡麵,其他都捐給土地公做功德,廟方工作人員拆開一箱又一箱的泡麵,一雙手忙得沒停過,廟方人員說:「手軟是正常的啦大概4、5百箱。」4、5百箱大約是1萬碗,工作人員依泡麵口味不同進行分類提供給民眾享用,拆下來的紙箱堆滿了一整輛小貨車。
+
+這幾天民眾吃了多少碗泡麵,廟方也算不清,記者VS.石龍宮主委吳秋福說:「一天預估多少人來,7萬多昨天(初三)7萬多人,泡麵差不多吃多少碗,沒辦法估計太多了。」廟方估計,初一到初四參拜的民眾可望達20萬人,吃一碗土地公加持過的泡麵享受山中清幽的美景,成為民眾春節連假出遊走春的熱點之一,沒吃完的泡麵廟方也會捐給弱勢團體,幫土地公做善事發揮愛心。

+ 118 - 0
content/news/11/1.md

@@ -0,0 +1,118 @@
+---
+title: "「迎財神」方法"
+date: 2023-01-25T12:56:29+08:00
+draft: false
+display: true
+tags: ["財神"]
+categories: ["religion"]
+description: "-"
+url: "/blog/11"
+image: "https://s.yimg.com/ny/api/res/1.2/zbUIS31wBX8DEp0.ShLHwQ--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTUwNjtjZj13ZWJw/https://media.zenfs.com/zh-tw/ctwant_com_582/cd295a52651c2be46b3bdb97221937ef"
+type: "post"
+---
+
+農曆正月初五,也是五路財神生日,經營生意的店家、老闆都會選擇今天祭拜,迎接財神,祈求新的一年能夠帶來[**業績**](https://udn.com/search/tagging/2/%E6%A5%AD%E7%B8%BE)、財源廣進,命理師楊登嵙說,每年農曆一月初五都是開工大拜拜迎財神好時間,按照步驟祭拜,就能迎接一年好運。
+
+命理師楊登嵙說,財神分文財神、武財神兩類,文財神是指比干、文昌帝君;武財神是指關聖帝君(關羽)或玄壇真君(趙公明)。而趙公明和其四位部將「招保天曹」蕭昇、「納珍天曹」曹寶、「招財使者」鄧九公、「利市仙官」姚少司等,被合稱為「五路財神」。此外,土地公、財帛星君、明初擁有聚寶盆的沈萬三等,也被視為財神。
+
+以下為祭拜時間、地點、供品與祭拜方式:
+
+一、時間::正月初五中午12時之前。
+
+二、地點:.
+
+1.一般商家若有安設財神神位,則祭拜地點擺設在該神位前的供桌上,若屬挑高式的小型神龕,可在神龕下加放一張供桌。
+
+2.若無設財神神位,則在商店或工廠內近門口處,另外設置一張大供桌向天迎接財神爺。
+
+3.也可至財神廟拜拜。
+
+三、供品:香蕉(招)、李子(你)、梨子(來)、鳳梨(旺)、柿子(利市),或其它應時水果共5種。
+
+四、[**金紙**](https://udn.com/search/tagging/2/%E9%87%91%E7%B4%99):壽金、刈金、五路財神金和鞭炮為主。當祭拜完畢,則鳴放鞭炮祝賀開張大吉。
+
+五、錢母:可在供桌上擺放「錢母」,讓錢滾錢,藉由努力,小錢滾大錢,賺更多錢。
+
+六、禱詞:
+
+點燃三炷香,跟一般拜拜祈願一樣,都要報上名字和住址,讓財神知道你是誰、住在哪。接著再講出自己的願望,祈願內容要明確的敘述,不能太空洞,不管是想要加薪、業績都要講出到哪種程度,至少實際說出方向,不能只講空洞的「發大財」,不然可能會無效。
+
+不少業者都選在今日迎財神,有餐廳業者一早準備滿桌的水果、餅乾,希望獲得財神爺的眷顧,另外有命理師分享,初五這天家中別留垃圾,因為要把窮神給送走,還有舊春聯不要貼超過初五,就怕窮神會找上門。
+
+正月初五為五路財神的生日,因此很多開設公司行號、做生意的人都會藉著幫財神爺祝壽,迎接財神來自己的公司或店裡,祈求財神爺能夠保佑讓業績比往年提升、進帳豐盈。不過,負責人的年紀與生肖也會影響公司的運勢,台中市名門命理教育協會創會理事長楊登嵙教授就為《CTWANT》讀者整理了最完整的開工祭祀禁忌與注意事項。
+
+楊登嵙教授解釋,大年初五又稱「破五」、「隔開」,意思是說,新春的節目到了大年初四就算告一段落,日常作息應恢復正常,新年期間的諸多禁忌也不再成立。新正結束,商家開市大吉,門口貼上大大的紅字——「開張大吉」,祝願經商順利,財源滾滾。
+
+而財神則有分文財神和武財神兩類,文財神是指比干、文昌帝君;武財神是指關聖帝君(關羽)或玄壇真君(趙公明)。而趙公明和其四位部將「招保天曹」蕭昇、「納珍天曹」曹寶、「招財使者」鄧九公、「利市仙官」姚少司等,被合稱為「五路財神」。此外,土地公、財帛星君、明初擁有聚寶盆的沈萬三等,也被視為財神。
+
+## 祭拜時間與禁忌
+
+「日沖」表示該天整日皆正沖該年歲生肖,其他年歲同生肖為「偏沖」,在取決開工祭祀時間時,會對負責人「正沖」與「偏沖」都不能選擇,例如,國曆1月26日正沖26、86歲屬虎的老闆,對其他屬虎負責人為偏沖,該日所有屬虎負責人都不該進行開工拜拜,但可照常上班,可以等到國曆1月29日再正式開工。
+
+以下為適合開工拜拜的吉日吉時,及忌諱生肖與年齡:
+
+![](https://s.yimg.com/ny/api/res/1.2/PY8dN7i13egKbWY7Rj5jmw--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTcyMTtjZj13ZWJw/https://media.zenfs.com/zh-tw/ctwant_com_582/de2b0f1815106d22ff6d75d7bbb917e9)
+
+![](https://s.yimg.com/ny/api/res/1.2/PY8dN7i13egKbWY7Rj5jmw--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTcyMTtjZj13ZWJw/https://media.zenfs.com/zh-tw/ctwant_com_582/de2b0f1815106d22ff6d75d7bbb917e9)
+
+## 祭拜地點
+
+1.  一般商家若有安設財神神位,則祭拜地點擺設在該神位前的供桌上,若屬挑高式的小型神龕,可在神龕下加放一張供桌。
+
+2.  若無設財神神位,則在商店或工廠內近門口處另外設置一張大供桌向天迎接財神爺。
+
+3.  至財神廟拜拜。
+
+## 祭拜對象
+
+五路財神、福德正神、地基主。
+
+## 祭拜應備供品
+
+一對蠟燭、三牲、水果(五樣)、甜的湯圓四碗(領受四方之財)、糖果、清茶三杯、酒三杯、發糕五個(象徵招五路之財),在發粿下面壓紅包(每個紅包888元),象徵大發利市,如果不愛吃發粿也可以用蛋糕取代。鳳梨帶葉,並綁上紅紙或紅帶(興旺)。
+
+並可在供桌上擺放「錢母」,讓錢滾錢,藉由努力,小錢滾大錢,賺更多錢。
+
+金紙則需要壽金、刈金、五路財神金和鞭炮。
+
+*   特殊供品:
+
+房仲業、汽車業會拜棗子、柳橙、香蕉三種水果,取諧音象徵「早日成交」;另外有的公司會準備各式豆類和糖,象徵「五穀豐收」;準備汽泡飲料,象徵業績「冒泡」(成交)。一般行業「香蕉」、「李子」、「梨子」、「鳳梨」、「柑橘」因有「招你來旺吉」諧音。
+
+*   供品禁忌:
+
+公務員不拜雞蛋,因為考績會「完蛋」;醫院、消防隊不拜鳳梨,否則意外會「旺旺來」。
+
+## 祭拜程序
+
+1.  呈上供品
+
+2.  點燃蠟燭
+
+3.  神前獻茶、酒
+
+4.  焚香祈禱
+
+5.  香燒至一半後,燒三色金(壽金、刈金、福金)
+
+6.  將酒繞圈灑在紙灰周圍
+
+7.  燃放鞭炮
+
+8.  發開工紅包
+
+## 開工祈禱內容
+
+弟子(信女)○○○手執清香,誠心拜請五路財神及本境福德正神到臨,今逢○○年○○月○○日○○時為○○公司開市吉日,弟子○○○帶領公司全體人員,誠心虔備淨果(三牲酒禮)及金帛財寶,敬奉五路財神、福德正神、地基主鑑納。
+
+祈求弟子○○年
+
+事業興隆、財源廣進、大興大旺、鴻圖大展、萬商雲集、大吉利市、出入平安、四時無災、貴人扶助、百事亨通、萬事如意、四方五路招財進寶到此來,歲次○○年○○月○○日○○時善信○○○上申。
+
+祈願內容要明確的敘述,不能太空洞,不管是想要加薪、業績都要講出到哪種程度,至少實際說出方向,不能只講空洞的「發大財」,不然可能會無效。
+
+## 開工紅包不要花
+
+開工除了拜拜、放鞭炮等外,老闆、上司一般會在當日發送「開工紅包」給員工,金額從200至2000元不等。
+
+楊登嵙教授提醒大家「開工紅包」千萬不要隨便花掉,以免影響在公司的工作順利及漏財。想「錢滾錢」,建議將「開工紅包」放在身上3天,然後放在自己的辦公桌抽屜內,祈求今年在公司平安健康,順利發達,提升自己事業運;也可以在元宵節過後存進自己的銀行帳戶裡,如同「發財金」,讓小錢滾大錢,藉由自己的努力打拼,利祿亨通;紅包袋不要丟掉,存放在自己的辦公桌抽屜內。

+ 57 - 0
content/news/12/1.md

@@ -0,0 +1,57 @@
+---
+title: "「送窮日」"
+date: 2023-01-25T12:56:29+08:00
+draft: false
+display: true
+tags: ["送窮"]
+categories: ["religion"]
+description: "-"
+url: "/blog/12"
+image: "https://images.chinatimes.com/newsphoto/2023-01-27/1024/20230127000735.jpg"
+type: "post"
+---
+
+
+大年初六,數字「6」是華人文化的吉祥數字,不少店家選在初六開工,而這天更是清水祖師的生日。在傳統習俗上,初六要「挹肥送窮」,這天必做3件事,分別是打掃廁所、丟垃圾,並清掃家裡,象徵把過去的霉運全丟掉,迎接新一年的好運氣。
+
+根據《民眾澎湖報》報導,正月初六又被稱作「送窮日」,在古代會將累積在茅廁的糞便,一次性清除,而清糞便的舉動有著「送窮」的寓意,不過,現代廁所已不需要用人工方式清理糞便,但還是有許多人會遵照習俗,在這天把廁所打掃得乾乾淨淨。
+
+初六這天家家戶戶也會把家中累積的垃圾通通丟掉,也是所謂的「送窮」,且在這天民眾也會清掃家裡,代表將過去不好的運勢通通掃地出門,準備迎接新年好運。
+
+此外,正月初六是「清水祖師」的誕辰日,因此許多地區的清水祖師廟,都會在初六這天舉辦盛大的慶典,邀請信徒一同慶祝。
+
+在傳統習俗上,多數的店家會在大年初六正式開張營業。在過去則表示南方的農民要開始下田,準備春耕。
+
+## 桃園大溪迎富送窮廟
+
+桃園大溪有一個很特別的迎富送窮廟
+它有台灣唯一元寶金殿!並能透過六色聖杯祈求發財金
+本來很擔心會不會第一次來訪,傻傻的連參拜順序都搞不懂
+還好廟裡有許多參拜流程指引,廟方及店家也都很熱心
+我們的參拜和求發財金過程還蠻順利的
+想說應該很多人都沒來過迎富送窮廟,就乾脆把一些參拜細節都整理給大家囉!
+這個桃園景點很適合過年、年末想轉運或是負能量比較多的時候來走走~
+
+
+如果你覺得你很需要送窮
+那麼可以到廟的右側拿取送窮咒文
+在咒文上寫姓名蓋手印
+稟報本人姓名生日和住址
+合手拜拜並唸一遍咒文
+接著拿著咒文以左手順時針過爐(地藏王菩薩)繞三圈
+再燒化至窮船爐裡即可
+
+雖然不能確保拜拜完是否真的能迎來財富
+不過這過程也是心靈上一個寄託
+如果要另外花費購買金紙這些,我覺得就看個人意願
+我們想說第一次來,就都買了 
+但如果大家要單純來求發財金跟拜拜或是走一走,也是都OK的
+當作一個景點散散步,我覺得不用太有壓力
+
+迎富送窮廟地址
+地址:桃園市大溪區康莊路五段12巷18號
+參拜時間:早上7:00至晚上8:00 (除夕 中午12:00封爐,晚上11:00集頭香)
+
+
+大溪迎富送窮廟原名天公祖廟,是台灣唯一承襲漢唐迎富送窮傳統科儀的寺廟,建廟以來一直以弘揚迎富送窮法門、利益眾生為己任,希望能夠傳遞天下為公、地上行道、人間無窮、全民皆富的天地人金三角宏道架構。
+

+ 44 - 0
content/news/13/1.md

@@ -0,0 +1,44 @@
+---
+title: "十三甲伯公廟"
+date: 2023-01-24T22:56:29+08:00
+draft: false
+display: true
+tags: ["十三甲伯公"]
+categories: ["religion"]
+description: "-"
+url: "/blog/13"
+image: "https://img.ltn.com.tw/Upload/news/600/2016/09/28/112.jpg"
+type: "focus"
+---
+
+## 參拜十三甲伯公 前30分鐘免費停車
+
+位在高鐵新竹站對面的十三甲伯公廟與巨榕,經地方爭取後保留原貌,現由高鐵局委外承作停車場,但民眾抱怨參拜不便;經協調,業者釋出善意,即日起優惠參拜信眾,前三十分鐘免收停車費。
+
+新竹縣竹北市隘口里的十三甲伯公廟,又稱「水尾伯公廟」,是當地信仰中心,但伯公廟與一棵兩百年榕樹所在的世興段二地號土地,經都市計畫區段徵收開發後,現為高鐵局所管理;高鐵局為活用土地,去年底標租,委託五都停車公司承作平面停車場。
+
+縣府、新竹縣議會副議長陳見賢與多名議員、竹北市民代表林燕聰等,接獲居民抱怨,停車場設柵欄圍籬,欲到伯公廟參拜,得付費開車進入或從高鐵七路出入口走一大段路,很不方便。
+
+劉姓居民說,水尾伯公廟所在地,早年有他祖先捐的地,現在後代子孫想要參拜,卻要經過業者同意,情何以堪?
+
+林燕聰認為,許多信眾雖已搬離老家,仍感念伯公的庇佑,經常攜家帶眷回到伯公廟拜拜,卻被柵欄區隔在外,感覺很不好。
+
+經縣府邀集業者、民代與居民代表協調,業者基於睦鄰,在伯公廟公布欄張貼公告,即日起提供參拜信眾優惠,前三十分鐘停車免收費,超過三十分鐘則依正常標準計費。
+
+## 聯發科全球營運總部 保留老榕樹和十三甲伯公廟
+
+縣長楊文科推動AI智慧園區,有4家廠商將投資135億設立辦公大樓,交通部鐵道局在高鐵新竹站前的「新竹專二」產專區也順利招商,將由得標的聯發科投入90億設立企業總部,用地內的老榕樹和「十三甲伯公廟」讓地方入士擔心將面臨拆遷,立委林為洲指出,經查證後確認聯發科將規畫綠地,原地保留。
+
+
+高鐵特定區1990年辦理區段徵收時,交通部鐵道局取得新竹高鐵站前「世興段2地號」5252坪的「新竹專二」產專區用地上,有一株200多年老榕樹,將有百年歷史的「十三甲伯公廟」整個包圍。
+
+隨著高鐵新竹站通勤族增加,周邊違規停車嚴重,2015年高鐵局透過都計變更把新竹專二用地規畫做為平面停車場,老樹和十三甲伯公廟將被迫遷移,當時林為洲出面為老樹請命,促使縣府都委會專案小組決議「原地保留」。
+
+交通部鐵道局以設定70年地上權方式辦理新竹專二開發經營案,6月14日由聯發科新成立的旭源投資公司得標並完成簽約,聯發科將投入90億元,在2027年設立企業總部,也引起地方環保人士關切老榕樹和十三伯公廟是否將被迫拆遷?
+
+竹北市民代表蔡蕥鍹說,這株巨大老榕樹目前仍綠意盎然,十三甲伯公廟也傳承隘口里世代的信仰,她堅持聯發科設置企業總部時要原地保留,不能拆遷,否則將發起護樹行動!
+
+林為洲指出,他一向主張科技、生態及文化三者並存,聯發科取得新竹專二開發案後,他特別向交通部查證,確認聯發科將以規畫綠地方式原地保留,讓古廟老樹都不用搬家。
+
+林為洲並說,竹科和新竹生醫園區已沒有可供廠商設廠用地,縣府推動AI智慧園區馬上吸引緯創、普生、智邦及義隆電子4家科技大廠投資設廠,聯發科緊隨其後要在新竹高鐵站前設立全球營運的企業總部,將讓竹北市成為北台最耀眼的科技之都!
+

+ 48 - 0
content/news/14/1.md

@@ -0,0 +1,48 @@
+---
+title: "三陽玉府天宮 | 台中龍井"
+date: 2023-01-26T00:56:29+08:00
+draft: false
+display: true
+tags: ["拜天公","玉皇大帝","禁忌","三陽玉府天宮","天公廟"]
+categories: ["religion"]
+description: "-"
+url: "/blog/14"
+image: "https://cdn2.ettoday.net/images/6804/d6804058.jpg"
+type: "focus"
+---
+
+## 台中天公廟網路爆紅!190公分大貢香拜天公 一支香燒5天
+
+位在台中龍井的三陽玉府天宮主祀玉皇大帝是當地超過50年歷史的天公廟,宮前的香爐重達3噸、直徑2公尺,不少信眾來到此處拜拜,用「比人高」的大貢香來參拜,最大支的香要燒將近5天,近期也在社群平台上爆紅,許多民眾特地前來拜拜。
+
+三陽玉府天宮供奉玉皇大帝、釋迦牟尼佛、觀世音菩薩,三尊皆用青銅打造,玉皇大帝高6公尺,重達15噸,釋迦牟尼佛與觀世音高也約5公尺,重量約7噸,走進大殿內相當震撼,也因寺廟靈驗,不少信眾遠道而來,還可「鑽香爐」祈求平安。廟裡販售的190公分大香還需要用噴燈瓦斯來點燃,民眾會在上頭寫上姓名或是公司名稱,向玉皇大帝祈求順利平安。
+
+
+本土劇《戲說台灣》班底[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)因演出[包青天](https://star.setn.com/tag/1872/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)爆紅,隨後良好的神明形象也被台灣包青天的開基祖廟「[海清宮](https://star.setn.com/tag/315885/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)」邀請擔任「包青天形象代言人」,讓[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)笑說,「我扮成包公比我本人還要紅」,而沒有疫情前[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)初一至初五都會扮成包公在廟前發送[發財錢母](https://star.setn.com/tag/315884/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)與擲金牌的年節活動,未料近這三年來了一波疫情的肆虐,發送錢母的活動都取消,也包括今年,這讓[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)相當失望,不過[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)過年行程也挺滿,擁有兩個父母的他都得抽空回家吃飯。
+
+[![鍾天辦包公很傳神。 (圖/經紀人提供)](https://attach.setn.com/newsimages/2023/01/21/4013299-PH.jpg)](https://www.setn.com/News.aspx?NewsID=1242138#)
+
+▲[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)辦包公很傳神。 (圖/經紀人提供)
+
+[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)因為演出包青天爆紅,一系之間就成了包公形象代言人,他說,「疫情前我會扮成包公發錢母,感謝我神明戲闖出頭,本來初一到初五會發招財錢母,沒想到因為疫情全停擺,今年也因為疫情取消了,不過我沒有也會回去服務,廟會都用包公照片,因為包公比我還要紅」;回想起發錢母情境,[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)回憶有阿公、阿嬤會以為他真的是包公,還會先把我拜一拜再拿錢母,「我覺得真的很有趣」;而今年兔年,[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)也許願可以演出不一樣角色,或許不再是神明,希望可以演出如「斯文敗類」這種角色類型。
+
+[![《戲說台灣》班底鍾天有兩對父母,但都不在人世。 (圖/記者楊澍攝影)](https://attach.setn.com/newsimages/2023/01/21/4013251-PH.jpg)](https://www.setn.com/News.aspx?NewsID=1242138#)
+
+▲《戲說台灣》班底[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)有兩對父母,但都不在人世。 (圖/記者楊澍攝影)
+
+而聊起過年計畫,[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)表示會在養父母那邊過,「我逢年過節會抽一天去生父那邊,但就是沒那麼親啦!父母都不在了,我會跟養母這邊的二姐圍爐,也會會抽一天回去生父楊家那邊聚一聚,跟哥哥們過節」。
+
+[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)除了過年計畫,[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)也聊到前兩年因為疫情幾乎沒工作,好在去年疫情趨緩,「2個月有30場的廟會和選舉場,一整年應該有到100場,這兩年疫情影響很大,我現在就是補回來」,被問是不是年收破百萬,[鍾天](https://star.setn.com/tag/304873/?utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)無奈笑說,「不然怎麼生活,光吃老本也沒辦法撐」。
+
+[![農曆初九鍾天會扮玉皇大帝發發財金。 (圖/經紀人提供)](https://attach.setn.com/newsimages/2023/01/21/4013300-PH.jpg)](https://www.setn.com/News.aspx?NewsID=1242138#)
+
+▲農曆初九[鍾天](https://www.setn.com/Klist.aspx?TagID=304873&utm_source=setn.com&utm_medium=dictionary&utm_campaign=wordnews)會扮玉皇大帝發發財金。 (圖/經紀人提供)
+
+而農曆初九鍾天會至台中龍井三陽玉府天宮(天公廟) 以玉皇上帝扮相與大家相見歡,當日鍾天會扮玉皇上帝放送發財金,希望民眾可以一起來拿發財金,保佑賺錢又身體健康。
+
+
+農曆春節將至,台中市烏日警分局龍井分駐所與當地信仰中心「三陽玉府天宮」,日前攜手舉辦寒冬送暖,提供50份米、油、乾糧、橄欖油等民生物資,分贈予獨居長者及貧困家庭,期許在這歲末寒冬中各界發揮愛心互助,讓弱勢邊緣戶感受到社會的溫暖,安心過好年。
+
+龍井分駐所警員任紹愷平時即走入社區主動關懷轄內亟需協助的弱勢邊緣戶,傾聽了解民眾需求,與所長林柏豪前往拜訪三陽玉府天宮,與主委高浚濱共同發起寒冬送暖活動,由龍井分駐所及里長協助發放,分贈予獨居長者及貧困家庭。受贈民眾見所長親送愛心物資到宅,又驚又喜,感動道謝說「真的揪甘心」。
+
+烏日警分局長吳銘淵表示,濟助物資得之不易,雖然僅是生活物資,卻代表社會上無數熱心公益民眾的心意,期望藉此拋磚引玉,喚起社會上更多的善心人士共同響應。也籲請民眾發揮鄰里守望相助的精神,發現弱勢族群,可主動聯繫員警或通知區公所,以利政府及民間的資源能夠儘早介入提供協助。

+ 100 - 0
content/news/15/1.md

@@ -0,0 +1,100 @@
+---
+title: "初九拜天公供品怎麼準備?最佳時間是幾點?拜天公攻略禁忌一次看"
+date: 2023-01-25T22:56:29+08:00
+draft: false
+display: true
+tags: ["拜天公","玉皇大帝","禁忌"]
+categories: ["religion"]
+description: "-"
+url: "/blog/15"
+image: "https://s.yimg.com/ny/api/res/1.2/LJQp0NC3WIF15a2bxYV2Qw--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTY0MDtjZj13ZWJw/https://s.yimg.com/os/creatr-uploaded-images/2022-07/f5fe3dc0-12d4-11ed-bfb7-178311f74650"
+type: "focus"
+---
+
+拜天公是正月初九最重要的事,通常初八晚上會先準備,到了半夜就能聽到鞭炮聲此起彼落地響起。今年正月初九落在國曆1月30日,究竟拜天公要準備什麼?
+
+## **拜天公時間為何?拜天公供品怎麼準備?**
+
+農曆正月初九是玉皇大帝的生日,也就是「天公誕辰」,民間會在這日祭拜天公,向天界中地位最高的神明表達謝意,並祈求未來一年平安順利,有些家戶還會以放鞭炮象徵對節日的敬重。
+
+一般而言,拜天公可分為「正式」、「簡單式」兩種祭拜方式。不論選擇哪一種,供桌、供品都須朝門外方向擺放,人由內向外敬拜,表示向天上恭迎天公。
+
+*   **正式:**在家中祭拜時,須在正廳的天公爐下設置祭壇,並準備兩張桌子,分為「頂桌」及「下桌」。頂桌是給玉皇大帝用的,須以金紙墊高。因為玉皇大帝茹齋禁葷,頂桌僅能準備素食,可擺放三束紮上紅紙的麵線、五果(鳳梨、蘋果、李子、香蕉、柑、橘等任選五樣)、六齋(香菇、金針、桂圓、菜心、豆皮、海帶、豌豆、木耳等任選六樣),以及清茶三杯。下桌則是用來供俸玉皇大帝的部屬神明,可以準備五牲(雞、鴨、魚、豬肉、豬肚等),和生仁、糕仔、米棗、紅龜稞等供品。
+
+*   **簡單式:**若家中沒有天公爐,可在戶外沒有遮蔽的地方擺放供桌,並在四個桌腳下墊上壽金。供桌不須分為頂桌及下桌,一張桌面即可,但僅能擺放素食供品,建議可選五種水果。
+
+## **拜天公時間?**
+
+正月初九的子時(23點至1點)就可以開始祭拜天公,相傳越早祭拜越能展現誠意,最晚以不超過初九早上7點為佳。
+
+## **拜天公禁忌有哪些?**
+
+玉皇大帝神格崇高,祭拜時需多加留意,命理師也提醒,倘若做錯可能會窮一整年。拜天公的注意事項有以下幾點:
+
+1.  祭拜前須戒齋沐浴。
+
+2.  祭祀當日禁止屠宰。
+
+3.  拜天公須在拜地基主、祖先之前完成。
+
+4.  下桌牲禮的全雞必須是閹割過的公雞,以示對天公的尊敬。
+
+5.  燒給天公的金紙須使用特製的「天公金」,較一般金紙大一倍以上。
+
+6.  手不可指天、不可口出穢言、發毒誓、說「死」字,以免因褻瀆天公遭受懲罰。
+
+
+## 初九天公生! 9點禁忌千萬別踩 誤觸恐會窮整年
+
+大年初九迎來「天公生日」,也就是玉皇大帝的誕辰日,立春的節氣剛過,恰是「一陽初始」,也就是大自然開始「萬象回春」的時刻,傳統習俗會在初九拜天公,該如何拜其實有不小的學問,重點是要拜對才不會白忙一場。
+
+
+民間相傳天公是統領世間萬物的神,有人認為女媧造物時將第九日訂為「天日」,因此初九為天公生日,而另外一個說法則追溯到古時候以數字「九」代表「極」,象徵著最大的「九」就是天公的誕辰日期。傳說玉皇大帝會在初九的下午返回天宮,接受各路神仙的祝賀,人民也會在此時感謝玉皇大帝的照顧,並且祈求未來一年的保佑。
+
+## **初九拜天公**
+
+### **該準備什麼?**
+
+通常拜天公時間為初八晚上11點後到初九凌晨是最好時間,12點整最佳,供桌會放在自家門口,供桌方面準備五果(柑橘、鳳梨、蘋果、李子、香蕉)、六齋(金針、桂圓、菜心、香菇、綠豆、海帶、木耳、菀豆)發糕、壽桃、紅龜粿、糖果、餅乾等供品。由於天公忌殺生,切記供品必須全素,不得有葷食。最後就是準備2個花瓶插上鮮花。還要準備茶、酒各3杯,外加蠟燭一對。
+
+金紙部分則是務必要準備天公金,另外還需要壽金、刈金、土地公金等金紙。如果不知道的話,同樣就是走到金紙鋪,請店家幫你準備好初九拜天公用的金紙。
+
+### **該如何祭拜?**
+
+祭拜流程上其實與初五的開工祭拜相同,需要進行3次斟茶倒酒。
+
+●第1次是祭拜開始前
+
+●第2次是插香後,香燒到1/3處準備燒金紙前
+
+●第3次則是燒完金紙後
+
+整個祭拜結束後,鳴放鞭炮,拜天公的儀式就到此完成。
+
+![插香後,要進行第2次斟茶倒酒。(示意圖/翻攝自pixabay)](https://s.yimg.com/ny/api/res/1.2/z2QLSf2NOaY4tKZO10r7bg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTY0MDtjZj13ZWJw/https://media.zenfs.com/vi/ebc.net.tw/da9e05490d9037102322851dbc623e6b)
+
+![插香後,要進行第2次斟茶倒酒。(示意圖/翻攝自pixabay)](https://s.yimg.com/ny/api/res/1.2/z2QLSf2NOaY4tKZO10r7bg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTY0MDtjZj13ZWJw/https://media.zenfs.com/vi/ebc.net.tw/da9e05490d9037102322851dbc623e6b)
+
+插香後,要進行第2次斟茶倒酒。(示意圖/翻攝自pixabay)
+
+至於拜天公的忌諱,「[清水孟國際塔羅](https://www.facebook.com/mojon168/posts/488850759271994/?paipv=0&eav=AfaG_qVRSLgWRUWQE6R_5H3Juu7mjX1OcwNJ0fm8IoH0fV5miQw2BxTD2hnTma86gb0&_rdr)」小孟老師貼心整理出9點禁忌,民眾要注意別踩到地雷。
+
+## **拜天公9禁忌**
+
+●不可曝曬女性內褲:民間相傳,天公為男性,因此曝曬女性內褲對神明不敬。
+
+●不可以隨便傾倒便桶,或在戶外小便。
+
+●不可以口出穢言,玉皇大帝會下凡,因此不要動怒發脾氣,不然會窮一年。
+
+●不要在天公生當天發毒誓,尤其是男女朋友間的毒誓萬萬不可,因為天公生發誓最靈驗。
+
+●不要說「死」字,如我想死你了、愛死你了等字眼。
+
+●不要指天,因為玉皇大帝掌天,因此不要指天,會不禮貌。
+
+●祭拜時不能說「快一點」,會讓神明認為你沒有誠意。
+
+●小孩不要對天空噴水或對空發射物品,以免眾神下凡會驚嚇神靈。
+
+●初九晚上12點後不要在戶外發出噪音,若是車子噪音很強,建議到時不要騎車,以免吵到神靈,但放鞭炮慶祝則不在此限。

+ 242 - 0
content/news/16/1.md

@@ -0,0 +1,242 @@
+---
+title: "有人在等胡鑫宇遺體白骨化"
+date: 2023-01-30T07:58:32+08:00
+tags: ["胡鑫宇"]
+categories: ["entertainment"]
+draft: false
+type: "post"
+url: "/news/a103637603-html"
+image: "https://i.ntdtv.com/assets/uploads/2023/01/id13867041-d9f879b4bac4b2f0149ab6199a07d873-800x450.jpg"
+type: "focus"
+---
+
+ ## 分析:106天是關鍵 有人在等胡鑫宇遺體白骨化
+
+ ![img](https://i.ntdtv.com/assets/uploads/2023/01/id13867041-d9f879b4bac4b2f0149ab6199a07d873-800x450.jpg)] 
+
+分析:106天是關鍵 有人在等胡鑫宇遺體白骨化
+
+【新唐人北京時間2023年01月30日訊】中國江西上饒15歲少年胡鑫宇失蹤106天後,警方突然宣布在距離學校不遠的山林找到了他的遺體,引發輿論強烈質疑。有觀點認為,胡鑫宇的遺體之所以超過100天才找到,是因為人死後100天遺體才能白骨化,這樣死者是否失去了器官就無從證實。
+
+江西上饒致遠中學高一學生胡鑫宇於2022年10月14日在校園內離奇失蹤。警方很長一段時間以各種理由拒絕作刑事立案,僅作為失蹤事件進行調查,還曾公開暗示胡鑫宇只是厭學出走,而案件調查一直沒有任何進展。在胡鑫宇失蹤106天後,警方突然通報稱,有當地農民在學校附近的鉛山山林中發現了一具「縊吊」的屍體,經DNA檢驗,「確定死者係胡某宇」。
+
+針對警方的說辭和此案中存在的諸多疑點,網絡社交媒體上鋪天蓋地的都是網友們的各種質疑與分析。
+
+知名網絡大V李承鵬在推特上推文指出:「小胡失蹤106天了,這片樹林經過千人拉網排查,人們不會都失明,監控不會都失靈。有法醫經驗的人說除非迅速風化,這麼長時間屍體重量會讓皮肉脫裂而非掛在樹上。」
+
+另一位推特用戶@hongsir13386239則貼出了自己查找到的江西上饒2022年10月、11月天氣記錄表,顯示在胡鑫宇失蹤後一個月內,該地區的氣溫基本都在攝氏十幾度至二十度左右。這位網友質疑:在這樣的天氣下,屍體在野外懸掛了整整3個多月而不被人發現,誰能相信?
+
+另一位網絡大V吳文行則轉發了網絡上關於屍體100天白骨化的科普短文,並在推文中分析指出:「為什麼106天才能找到胡鑫宇屍首?死亡第一百天,屍體白骨化,這樣丟什麼器官也發現不了?」
+
+他質疑,明朝末代皇帝崇禎在煤山上吊自殺,兩天之後就被農民軍找到。現在有無人機有警犬的幫助,還全縣大批人員搜過山,竟然還找不到,這種情況「太詭異了」。
+
+在中國網絡社交平台微信上,还有自稱鉛山當地人的網友發帖說,其實現場只有一堆骨頭和衣服,而發現屍體的人也根本不是當地的農民。
+
+時政評論人士秦鵬也發推文分析指出:上饒市鉛山縣溫度很高,即使1月份也平均氣溫13度。屍臭不可能這麼長時間不被發現,有網友嘲笑「新冠影響味覺,可是不影響嗅覺啊」。
+
+他寫道:「最關鍵的器官沒有了,鑑定再有一個公安廳/部背書,就可以自殺結案了,警方創造的新詞『縊吊』已暗示了結果」。
+
+秦鵬在另一則推文中援引中國網友的評論說:「活著的時候能夠校內監控失蹤,死了之後還能避開地毯式搜查。這麼牛逼拉轟的操作,這真不是一般人能夠干出來的。」
+
+中國國內互聯網上網友們對此也有各種各樣的分析與猜測:
+
+推特用戶@Face27553965感嘆道:「這早已不是個正常國家了,人民還遠未覺醒。」
+
+@Fungus528也寫道:「如此侮辱民眾的智商,說明作惡者無所忌憚、囂張狂妄到了什麼程度!就因為他們手中握有巨大的權力,視民眾為螻蟻草芥,生殺予奪任聽其便!」
+
+@Aqz4RhDMF0va2OQ則指出:「許多人還在幼稚地期待真相,鐵鏈女有真相嗎?唐山事件有真相嗎?……真相都在厚厚的臉皮下。我不期待任何真相,胡同學被掛上去就已經宣告自殺了,任何質疑都被定性為謠言。」
+
+(記者黎明綜合報導/責任編輯:胡龍)
+
+本文網址: https://www.ntdtv.com/b5/2023/01/29/a103637603.html
+
+ ## 胡鑫宇案官方通報被指疑點重重 輿論沸騰
+
+ ![img](https://i.epochtimes.com/assets/uploads/2022/11/id13867041-d9f879b4bac4b2f0149ab6199a07d873-600x359.png)] 
+
+胡鑫宇案官方通報被指疑點重重 輿論沸騰
+
+更新 2023-01-29 7:40 PM 人氣 10642
+
+【大紀元2023年01月29日訊】江西上饒致遠中學高一學生胡鑫宇失蹤106天後,1月29日,官方通報在學校附近林中發現胡鑫宇縊吊屍體,現場還發現一支錄音筆等。相關的多條消息衝上熱搜。民間質疑官方通報疑點重重,引發輿論沸騰。
+
+1月29日,江西省上饒市公安局發布最新通報稱,1月28日12時25分許,鉛山縣公安局接到群眾電話報警稱,在河口鎮金雞山區域樹林中發現一具縊吊屍體。發現死者衣著與2022年10月14日致遠中學學生胡某宇失蹤時衣著一致。經對死者生物檢材進行DNA檢驗,確定死者系胡某宇。
+
+通報還稱,現場勘查過程中發現一支錄音筆,已送專業機構鑑定。
+
+胡鑫宇的遺體找到後,查找真相正式開始。南方都市報報導,胡鑫宇的母親第一時間在律師鄭曉靜的陪同下趕到殯儀館,決定屍檢,希望務必查出真相。胡鑫宇的母親還在29日凌晨更新了一條動態:鑫宇,我們在找你真相的路上,不會停止。
+
+2022年10月14日傍晚,胡鑫宇在全封閉式管理、到處都是監控的寄宿學校內離奇失蹤,且久尋未果,已經引起輿論質疑和猜測。學校當天監控錄像被刪除。案件引起全網關注。其父母親朋到處尋找、社會愛心人士地毯式的搜索,未發現其任何蹤跡。而在胡鑫宇離奇失蹤二個月後,上饒市公安局刑偵大隊通知胡鑫宇的舅舅,因查無線索故不予立案。
+
+今年1月12日,陸媒報導,上饒鉛山縣每天有超5000人冒雨上山幫忙尋找胡鑫宇,警方、藍天救援隊等方面均參與。
+
+如今,官方突然通報,在學校附近的河口鎮金雞山區域樹林中找到胡鑫宇的縊吊屍體,但發現屍體的具體地點,胡鑫宇的死亡時間等,警方仍未通報。輿論質疑官方通報疑點重重。
+
+自媒體「啊痴說」的文章表示,列出了四大沒有解開的疑點。
+
+一、胡鑫宇遺體被發現時是否完好?
+
+有不少人懷疑胡鑫宇的失蹤與器官移植有關,儘管警方已經多次說明,仍無法打消部分人的疑慮。如果這次胡鑫宇的遺體被發現時,遺體是完好的,就可以讓這些人徹底閉嘴。
+
+當然,時隔100多天,屍體可能已經開始腐爛,或是被蚊蟲蛇鼠或其他野獸啃食。但這些原因造成的屍體損傷,痕跡是很容易辨認的。
+
+二、胡鑫宇遺體被發現的地點?
+
+有網友按照警方通報的信息在地圖上標註出了胡鑫宇遺體被發現的地點,發現與致遠中學的直線距離不到100米。這大大出乎人們的意料!
+
+1月7日,上饒官方微信發布《關於胡某宇失蹤事件調查進展情況的通報》和《致網民朋友的一封信》
+
+這封公開信裡提到,當地各部門聯合各社會力量,搜索了致遠中學南側樹林山崗約589畝、鉛山縣至餘干縣信江河段約200公里、峰福鐵路沿線約22公里。
+
+這麼大的範圍,顯然是應該包括最後發現胡鑫宇遺體的這個「河口鎮金雞山區域樹林」。
+
+可是為什麼,這麼長時間這麼多人的努力,都沒有找到胡鑫宇。尤其是從1月9日起,當地每天幾千人冒雨上山搜尋,行動轟轟烈烈。持續了好幾天,最後還是沒有找到胡鑫宇。
+
+卻在1月28日,被群眾發現了胡鑫宇的遺體。
+
+三、群眾是偶然發現胡鑫宇遺體,還是在搜尋行動中發現?
+
+如果只是群眾在樹林裡活動時偶然發現了胡鑫宇的遺體,實在是有些遺憾。
+
+當地組織了幾千上萬人,花費無數時間、精力、資源來搜索一個失蹤的少年,在全國各地人們的關注下,都沒有找到人。最後遺體在失蹤事件發生的中心地帶不到100米的地方,被群眾無意之間發現了!實在是一種遺憾。
+
+四、胡鑫宇遺體現場發現的錄音筆是否留有遺言?
+
+關於胡鑫宇的錄音筆,一直是眾多網友關注的重中之重。如果其中留下了胡鑫宇的遺言,那麼一切關於胡鑫宇失蹤案的真相就會徹底大白於天下。
+
+自媒體人「Mr王的飯後茶」的文章表示,官方通報的結果雖在預料之中,卻讓人扼腕嘆息。胡鑫宇案件之所以引起全社會的關注,主要的原因在於案件的情節太過離奇,超出了大多數人的認知。
+
+一個中學生,怎樣通過密集的攝像頭監控,離開學校,跑到並不熟悉的森林裡躲避,並最終選擇自縊。他沿途怎麼躲過大家的視線?什麼時候準備和購買的自縊工具都成了謎。
+
+文章指,和1月7日上饒官方微信發布《關於胡某宇失蹤事件調查進展情況的通報》和《致網民朋友的一封信》中的相關介紹相比,有一些出入和疑問值得商榷。
+
+在當時的報道中,稱相關部門搜索了學校南側樹林山崗約589畝、鉛山縣至餘干縣信江河段約200公里、峰福鐵路沿線約22公里,而遺體發現地點距離學校並不遠,有沒有在當時所稱的搜索範圍,為什麼一直沒有被發現?
+
+是什麼樣的動機讓一個中學生選擇到森林深處躲避?對於現在的學生而言,森林可能並不是他們之前會到達的地方,選擇這麼隱蔽的地方結束自己的生命,動機讓人懷疑。
+
+胡鑫宇案件之所以引起全社會的關注,主要的原因在於案件的情節太過離奇,超出了大多數人的認知。
+
+很多網民都在持續關注胡鑫宇失蹤案,也都有各自的疑問。
+
+「王小陌說」:在學校附近的樹林裡發現了縊吊的胡鑫宇,什麼是縊吊?之前每天上千人地毯式搜尋,為什麼沒有發現胡鑫宇,為什麼在106天之後才發現胡鑫宇的縊吊屍體,對這些具體的疑點,拭目以待官方的進一步通報。
+
+「博學多才的心理學李老師」:胡鑫宇到底是怎麼死的?好好的人,他怎麼會死掉?離家出走的人多了去了,瘋瘋癲癲的人能活下去,胡鑫宇能活不下去?告訴我為什麼?太可怕了!
+
+「泰安小老弟」:究竟是有人殺害了胡鑫宇,還是他自縊身亡?
+
+「mm園dd丁xx」:把胡鑫宇移至樹林、掛樹上,大概少不了學校內部的人,沒有校長授意誰敢幹?!學校仍然是核心!
+
+胡鑫宇人間蒸發100多天,目前胡鑫宇到底是怎麼死的還是謎,引發多種猜測。有一種看法認為,胡鑫宇可能遇害,其器官可能被販賣。
+
+此次官方通報發出後,不少網友在相關新聞後跟貼質疑「胡鑫宇的屍體是否缺少器官?」
+
+還有大量網友表達他們的看法:
+
+「如果胡鑫宇失蹤後就自殺了,到現在他死了3個多月了。往前推3個月,那時候天氣還沒那麼冷,自殺後在密集搜尋下,3個月屍體都沒被發現,警察和警犬也沒能搜到,這可能嗎?如果他最近才自殺的,好傢夥,這野外生存能力和反偵察能力完全可以進特種部隊了,15歲高中生可能做得到嗎?」
+
+對於官方通報在現場發現一支錄音筆。有網友評論:錄音筆有妙用。如果錄音筆裡錄的是上課學習的內容,說明自殺是假象;如果錄的是遺言,想讓親人知道就會裝在口袋裡,可以推斷為自殺;如果錄音筆扔在附近讓人找,不管錄的是什麼都不能認為是自殺。
+
+也有網友表示:「硬撐了100天為什麼要上吊?一個15歲的孩子在如此近的距離上吊,肯定知道家人在尋找,他不會主動自殺。推測他可能被某人控制了,因為他知道的祕密太大,現在發現的屍體已經做了手腳,錄音筆也毫無意義。」
+
+「官方通報漏洞百出,真相會有多黑暗啊!」
+
+「胡鑫宇所就讀的學校投案自首是唯一的選擇。」
+
+「徹查嚴懲學校,給死者及家屬一個交代!」
+
+「胡鑫宇案可以稱得上是世界懸凝案。」
+
+責任編輯:方曉
+
+ ## 15歲胡鑫宇詭失蹤106天「遺體找到了」 樹林留錄音筆...家屬崩潰
+
+ ![img](https://cdn2.ettoday.net/images/6825/d6825461.jpg)] 
+
+▲江西上饒高一學生胡鑫宇在校內離奇失蹤超過100天。(圖/翻攝自微博)
+
+記者蔡儀潔/綜合報導
+
+大陸江西上饒高一學生胡鑫宇在校內離奇失蹤106天,更傳出他被殺害、器官被摘掉等猜測。今(29)早最新消息指出,胡鑫宇的遺體已經被找到了,經DNA鑑定為其本人。
+
+據《澎湃新聞》報導,上饒市公安局29日發布通報稱,1月28日12時25分許,鉛山縣公安局接到群眾電話報警稱,在河口鎮金雞山區域樹林中發現一具縊吊屍體;現場發現死者衣著與2022年10月14日致遠中學學生胡某宇失蹤時衣著一致;經DNA檢驗,確定死者為胡某宇。
+
+通報指出,現場勘查過程中發現一支錄音筆,已送專業機構鑒定,同時,公安機關已邀請大陸國內權威刑事技術專家到現場參與勘驗,調查、檢驗工作正在緊張進行中,有關情況將及時向社會公布。
+
+胡鑫宇家屬委託律師鄭曉靜指出,遺體發現地點在學校附近,「家屬情緒比較激動,目前在等待屍檢結果。」
+
+據早前相關報導,15歲的高一學生胡鑫宇在路上離奇失蹤,而從宿舍到教學樓僅有不到100公尺的距離。校方指出,事後,救援力量幾乎翻遍了整間學校,連湖水、化糞池也抽乾了,但仍未能找到線索。
+
+胡鑫宇的媽媽1月15日再次悲痛發聲,反覆在說的一句話就是「我的兒子已經被學校給害了,已經被害了,我們只要一個真相,我們請求相關部門進行立案」。
+
+胡鑫宇的失蹤案在大陸鬧得沸沸揚揚,甚至有推特網友懷疑此案設計官商勾結,並可能與活摘器官有關。一名學生家長表示,致遠中學聘請的都是名師,教育質量很好,但這「不是一般的學校」,以前就有一個女生離奇失蹤,賠了150萬元人民幣。
+
+事發的致遠中學是一所封閉式管理學校,由劉某來等5名教師於1999年8月創立,系全日制私立中學,現為劉某來一人獨資所有,無外資背景。
+
+胡某宇失蹤時,致遠中學校內共安裝有119個監視器攝像頭,其中109個分布在3棟教學樓、6棟宿舍樓等樓內,10個分布在學校正門、東側門等室外,學校室外公共區域監視器覆蓋範圍約三分之一,絕大部分圍牆無覆蓋。
+
+ ## 【晚間新聞】名探李昌鈺發聲 分析胡鑫宇去向
+
+ ![img](https://i.epochtimes.com/assets/uploads/2017/02/DJY_FB_DefaultImage2017.jpg)] 
+
+我們使用cookies來了解您如何使用我們的網站並改善您的用户體驗。這包括個性化的內容和廣告。若您繼續使用我們的網站,即表示您同意我們使用cookies,以及我们更新的隐私政策(Privace Policy)和使用條款。
+
+ ## 【環球直擊】1月29日完整版
+
+ ![img](https://i.ntdtv.com/assets/uploads/2023/01/GettyImages-1460498868-crop-800x450.jpg)] 
+
+我們使用cookies來了解您如何使用我們的網站並改善您的用户體驗。這包括個性化的內容和廣告。若您繼續使用我們的網站,即表示您同意我們使用cookies,以及我们更新的隐私政策(Privacy Policy)和使用條款。
+
+ ## 胡鑫宇失蹤|屍檢完成已非原貌 口袋內有現金 刑偵專家解讀疑點
+
+ ![img](https://cdn.hk01.com/di/media/images/dw/20230129/696467189225492480963452.jpeg/DZnhgU2uC4LoCey5vReh-2gZgV2_VL5upfIYdaXyGHU?v=w1280r16_9)] 
+
+1月28日,失蹤106天的內地高中生胡鑫宇,遺體在學校附近山林內被當地村民發現。
+
+其母親在今日(29日)凌晨發影片稱,「鑫宇,我們在找你的路上,不會停止。」
+
+綜合內媒報道,官方已完成屍檢;胡鑫宇家屬已在當地殯儀館放鞭炮為其送行,並且正申請異地公安偵查。
+
+
+
+當地警方此前表示,胡鑫宇案相關調查、檢驗工作正在緊張進行中,有關情況將及時向社會公布。據《澎湃新聞》報道,今日下午,已有專業人士對胡鑫宇衣物進行檢查,衣物破舊,口袋內發現10元現金。現場官方人士稱,遺體已非原來樣貌,「味道很重,已做完屍檢。」
+
+胡鑫宇家屬委託律師鄭曉靜表示,「靜待屍體及錄音筆鑑定結果,屍體會說話,真相很可能藏在錄音筆中。」據了解,判斷是否自縊還需勘驗,家屬要求的異地公安偵查,能否通過還需由警方決定。此前,之所以沒有立案,是因無夠證據顯示胡鑫宇被害。
+
+內地刑偵專家胡志強解讀案件謎圖
+
+警方公告稱,遺體發現時為「縊吊」狀態。據《華商報》報道,內地知名刑偵專家胡志強分析疑點稱,「縊吊不能說明胡鑫宇一定是自殺。」需根據現場環境,腳下是否有襯墊物、懸吊高度等判斷為自殺還是他殺。
+
+胡鑫宇遺體發現區域,並非隱蔽處,且有廢棄房屋。(影片截圖)
+
+發現胡鑫宇遺體的區域樹木稀鬆,還有無人居住的廢棄房屋,並非隱蔽的地方,且距離胡鑫宇就讀學校致遠高中僅百米距離。家屬表示,曾多次在此處篩查搜救,但未發現蹤跡。對此胡志強分析,屍體懸吊在樹林內目標很大,106天中有大量人員、搜救犬進行搜索,應該會發現。也可根據最後一次有人經過該地的時間、是否看到過屍體,進行案情分析。
+
+胡志強表示家屬同意進行屍檢是正確的,屍檢可確定死亡時間,還可確定胡鑫宇為自縊還是他殺。由於案件備受關注,預計3至5日內可出結果。接下來將會圍繞死亡時間、死亡方式,以及是否有器官被摘除等進行調查。相信警方會給出真相。
+
+ ## 江西高中生胡鑫宇「人間蒸發」逾90天!案情詭異升級 警方堅決不立案
+
+ ![img](https://media.zenfs.com/zh-tw/enews_tw_703/1124b0a9ceba84859acac878e94e6146)] 
+
+中國江西省一名15歲高中生胡鑫宇,在學校離奇失蹤超過90天,但當地警方至今仍不予立案。上千人尋找胡鑫宇仍一無所獲,家屬質疑胡鑫宇已遭人殺害,而外界亦普遍懷疑其涉活摘器官,沒想到,如今案情詭異再升級,胡鑫宇父母日前遭到神祕人員監控、跟蹤。
+
+▲江西高中生「胡鑫宇失蹤」超過90天,父母遭到可疑人士跟蹤。(圖/翻攝自微博)
+
+綜合陸媒報導,江西上饒鉛山縣私立致遠中學是一所封閉式管理的私立學校,但高一生胡鑫宇卻於2022年10月14日傍晚在校園離奇失蹤,至今已過去95天,仍舊下落不明。根據陸媒1月4日報導,當地警方與家屬、律師在1月1日會面,就案情進行「溝通交流」。警方宣稱,經大量調查,已排除學校相關人員的犯罪嫌疑,就胡鑫宇家屬質疑校方刪除監控的問題,警方回應稱經鑒定證實,影片並未遭到刪減。不僅如此,當局甚至還給出了「胡鑫宇可能有厭學情緒,自行出走」的新説法。
+
+1月7日,上饒市公安局發出通報宣稱「未發現胡鑫宇在校內被害、自殺、發生意外的痕跡證據。綜合現有資訊指向胡鑫宇係自行離校。」但此說法引發外界質疑。胡鑫宇的舅舅李先生對陸媒表示,所謂的「厭學出走」是警方在初期就有的調查方向,但目前並無任何實際證據可以證明。針對警方宣稱學校監控「未被刪減」的回應,他說,家屬們不能完全信服,會自費委託司法機構再做鑑定。在此之前李先生曾對媒體披露,家屬發現了校方刪除事發當晚監控錄像的證據,並已講證據提交給警方。
+
+▲高一生胡鑫宇失蹤超過90天仍下落不明。(圖/翻攝自微博)
+
+胡鑫宇的媽媽於1月5日以視訊方式對外表示,她認為孩子是在學校被害,「我的孩子是在學校被害了。被害了,15歲的孩子啊!他怎麼能躲得了學校那麼多監控啊!」此前當地盛傳胡鑫宇與某高官的器官配型成功,網上甚至流傳出自稱是知情人士的網友講述著胡鑫宇當晚的遇害細節,此番言論後來遭到官方壓制。8日一則自拍影片在網上曝光,錄製影片的男子聲稱,胡鑫宇父母出門遭到可疑車輛跟蹤「一月八號中午,胡爸胡媽從家裡出來,路上被這輛車一直跟著。我們也不知道為什麼跟著,跟得那麼緊。」
+
+▲據了解,鉛山縣現在每天有數千人都在尋找失蹤的胡鑫宇。(圖/翻攝自微博)
+
+報導指出,9日至11日連續三天,上千人在鉛山縣全域搜尋失蹤的胡鑫宇,從影片可見,搜尋人員包括普通民眾、警方以及消防人員等,眾人冒雨徒步上山試圖尋找胡鑫宇的下落,但仍一無所獲。據一名當地居民透露「有政府的人,也有自願者去找啊,反正人是沒找到,我們都是本地人,我們知道這小孩已經失蹤了,一直都有志願者在找啊。」
+
+網傳12日中午,胡鑫宇所在的志遠中學門前人山人海,眾人都是為了替胡鑫宇討個公道而來,要學校交出兇手,實際情況尚待核實。13日,《新唐人》媒體試圖聯繫胡鑫宇的媽媽和舅舅,但均無法接通。但據《澎湃新聞》報導,鉛山縣綠舟救援隊救援人員表示,目前得到通知搜尋將持續到除夕。另據最新消息指出,警方表示,目前每天仍在查閱監控,並將逐步擴大搜索範圍,不排除會到省外尋找胡鑫宇。
+
+▲朱永新悼文截圖。(圖/翻攝自推特)
+
+事實上,網上之所以流傳「活摘器官」的傳言並非空穴來風,去年12月中旬,中國全國政協常委朱永新發文悼念剛去世的正部級官員、前中共文聯黨組書記高占祥時,提及高占祥生前「身上的臟器換了好多」,讓許多網友不禁聯想到胡鑫宇和衆多青少年離奇失蹤案,更加深了高官在靠無辜百姓器官「續命」的傳言。多名網友在推特等海外社交媒體發文表示,以前法輪功揭露中共活摘器官,自己一直不敢相信,但現在衆多血淋淋的事實擺在面前,令人不得不信。
+
+
+

+ 165 - 0
content/news/17/1.md

@@ -0,0 +1,165 @@
+---
+title: "喬科維奇重返澳網奪冠"
+date: 2023-01-30T08:04:08+08:00
+tags: ["喬科維奇"]
+categories: ["sports"]
+draft: false
+type: "post"
+url: "/news/%E5%96%AC%E7%A7%91%E7%B6%AD%E5%A5%87%E9%87%8D%E8%BF%94%E6%BE%B3%E7%B6%B2%E5%A5%AA%E5%86%A0%E6%BF%80%E5%8B%95%E8%90%BD%E6%B7%9A-%E7%A8%B1%E8%B4%8F%E5%BE%97%E6%9C%80%E9%87%8D%E5%A4%A7%E5%8B%9D%E5%88%A9-132625142-html"
+image: "https://s.yimg.com/cv/apiv2/social/images/yahoo_default_logo-1200x1200.png"
+type: "focus"
+---
+
+ ## 喬科維奇重返澳網奪冠激動落淚 稱贏得最重大勝利
+
+ ![img](https://s.yimg.com/cv/apiv2/social/images/yahoo_default_logo-1200x1200.png)] 
+
+(中央社墨爾本29日綜合外電報導)塞爾維亞網球名將喬科維奇今天擊敗希臘對手西西帕斯,第10次在澳洲公開賽封王,追平大滿貫賽22座冠軍紀錄,並將重登世界排名第1,他心情激動落淚,說這是此生最重大勝利。
+
+喬科維奇(Novak Djokovic)去年因疫苗風波遭澳洲驅逐出境,時隔一年重返墨爾本球場,名列第4種子,一路過關斬將殺進決賽,並順利以6比3、7比6(7/4)和7比6(7/5)擊敗第3種子西西帕斯(Stefanos Tsitsipas)奪冠。
+
+澳洲網球協會禁止在澳網展示俄羅斯和白俄羅斯的國旗,他的父親老喬科維奇(Srdjan Djokovic)卻在球場與持俄羅斯國旗的球迷合影,影片傳出後引發風波,因此老喬科維奇自準決賽即未到場邊觀戰。
+
+35歲的喬科維奇獲勝封王後先是拍拍自己的鬢角和胸口,接著走到網前和西西帕斯握手,隨即跳上他的球員包廂,他大吼一聲,高舉拳頭,然後擁抱為他加油的母親,控制不住情緒落淚哭泣。
+
+美國有線電視新聞網球(CNN)報導,即使喬科維奇返回自己場邊座位時,他仍以毛巾掩蓋臉部,而電視攝影機錄到他持續哭泣的聲音。
+
+喬科維奇穿著繡有數字22的外套領獎時說:「考量去年沒有參賽而今年捲土重來這種情況,我必須要說,這是我歷來打過的最具挑戰性比賽之一。」
+
+他又說:「我要感謝所有讓我在墨爾本覺得受到歡迎和自在的人。只有我的團隊和家人知道我們在過去4或5週的境遇,因此我可能要說這是我一生最重大的勝利。」 經歷去年的打擊,以及今年帶傷拚戰和父親捲入旗幟風波後,能夠締造第10度在澳網封王新紀錄,對喬科維奇確實意義重大。他如今也22次贏得大滿貫賽冠軍,追平老對頭納達爾(Rafael Nadal)保持的紀錄,還領先瑞士球星費德瑞(Roger Federer)兩次。
+
+此外,目前排名世界第5的喬科維奇將取代因傷缺席澳網的西班牙男網新星艾卡拉茲(Carlos Alcaraz),自去年6月以來首度重登世界排名第1。
+
+喬科維奇在澳網的霸業無人能撼動,他至今保持28場不敗佳績,是公開賽時代以來男網最佳紀錄。如此成就連對手也佩服,西西帕斯說:「我要再說一次,喬科維奇是最能激發我實力的人。他是最了不起的網球員。」(譯者:林治平)1120129
+
+ ## 喬科維奇澳網男單10度封王 追平大滿貫賽22冠紀錄
+
+ ![img](https://s.yimg.com/ny/api/res/1.2/SQLJbkSV8W7qtFHSiy4smg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTEyMDA7aD04MDA-/https://s.yimg.com/os/creatr-uploaded-images/2023-01/d7b83fe0-9fca-11ed-86b3-656bf04610db)] 
+
+塞爾維亞網球名將喬科維奇今天在澳洲公開賽決賽直落3,6比3、7比6(7/4)和7比6(7/5)擊退希臘好手西西帕斯,締造澳網第10次封王佳績,也追平大滿貫賽22次冠軍紀錄。
+
+喬科維奇澳網男單10度封王 追平大滿貫賽22冠紀錄! AFP
+
+這場冠軍大戰在墨爾本拉佛球場(Rod Laver Arena)舉行,35歲的喬科維奇(Novak Djokovic)先前9次打進澳網男單決賽都順利奪冠,今年再度勇闖冠軍戰。他在澳網這個硬地球場創下的豐功偉業,還有生涯對上西西帕斯(Stefanos Tsitsipas)10勝2敗的對戰紀錄,都讓他成為奪冠大熱門。
+
+
+
+這次名列第4種子的喬科維奇順利封王,除締造澳網10度封王輝煌新紀錄,也追平西班牙名將納達爾(Rafael Nadal)生涯22座大滿貫賽冠軍的紀錄,將取代因傷缺席澳網的西班牙男網新星艾卡拉茲(Carlos Alcaraz)重登世界排名第1。
+
+◤金兔年折扣殺到爆,趕緊來治裝◢
+
+👉NIKE全館5折起
+
+👉UA新春限時3折起
+
+👉New Balance 新鞋迎新年 全館5折起
+
+👉PUMA兔年迎新3件8折
+
+👉TNF新春煥新 全館5折起 滿額現折480
+
+ ## 喬科維奇澳網10度封王 追平大滿貫賽22冠紀錄[影]
+
+ ![img](https://imgcdn.cna.com.tw/www/webphotos/WebOg/600/20230129/2000x1050_218642942909.jpg)] 
+
+請同意我們的隱私權規範,才能啟用聽新聞的功能。
+
+請同意我們的隱私權規範,才能啟用聽新聞的功能。
+
+(中央社墨爾本29日綜合外電報導)塞爾維亞網球名將喬科維奇今天在澳洲公開賽決賽直落3盤,以6比3、7比6(7/4)和7比6(7/5)擊退希臘好手西西帕斯,締造澳網第10次封王佳績,也追平大滿貫賽22次冠軍紀錄。
+
+這場冠軍大戰在墨爾本拉佛球場(Rod Laver Arena)舉行,首盤喬科維奇(Novak Djokovic)打得相當順手,第4局破發搶得3比1領先後,一直保持優勢,僅36分鐘就贏得這盤。
+
+次盤西西帕斯(Stefanos Tsitsipas)全力反撲,搶得領先,但喬科維奇緊追不放,戰到6比6搶七局面時以7比4取勝。第3盤雙方仍呈拉鋸戰,同樣戰到搶七,最後喬科維奇技高一籌,以直落3盤勝出,時間將近3小時。
+
+35歲的喬科維奇先前9次打進澳網男單決賽都順利奪冠,今年再度勇闖冠軍戰。他在澳網這個硬地球場創下的豐功偉業,還有生涯對上西西帕斯10勝2敗的對戰紀錄,都讓他成為奪冠大熱門。
+
+這次名列第4種子的喬科維奇果然順利封王,除締造澳網10度封王輝煌新紀錄,也追平西班牙名將納達爾(Rafael Nadal)生涯22座大滿貫賽冠軍的紀錄,將取代因傷缺席澳網的西班牙男網新星艾卡拉茲(Carlos Alcaraz),重登世界排名第1。
+
+這屆比賽之初,喬科維奇腿部曾受傷不適,但他綁著繃帶帶傷拚戰,未受太大影響。在場外,他的父親老喬科維奇與持俄羅斯國旗的球迷合照,影片傳出後引發風波,因為澳洲網球協會已禁止在澳網出現俄國和白俄羅斯國旗,老喬科維奇為恐影響兒子表現,自準決賽即未現身場邊觀戰,喬科維奇也未因此事表現走樣。
+
+喬科維奇去年因為堅持不打COVID-19(2019冠狀病毒疾病)疫苗而遭澳洲驅逐出境、無法征戰澳網,這次獲准出賽,一路過關斬將,展現非凡氣勢,在賽前對獲勝顯得信心滿滿。他說:「贏得大滿貫賽事冠軍,和成為世界排名第1的選手,或許是職業網球選手兩項最重要的成就。」
+
+他認為,自己豐富的決賽經驗讓他握有明顯優勢。他說:「我認為,過去在(決賽)這樣特殊場面和環境的相關經驗,鐵定有所助益。」「我過去從未在澳網決賽輸球的事實,也大大地增加了我對這次的比賽的信心。」
+
+24歲的西西帕斯過去只在2021年的法國公開賽(French Open)闖進過大滿貫賽決賽,但無緣奪冠,而當年擊敗他的正是喬科維奇。他過去在墨爾本球場(Melbourne Park)3度打進男單4強但都鎩羽而歸,這次終於打破「4強魔咒」進軍決賽,但最終仍無緣捧回金盃。(譯者:林治平)1120129
+
+ ## 十度制霸澳網!喬科維奇重返球王 22座大滿貫追平納達爾
+
+ ![img](https://media.zenfs.com/zh-tw/news_tvbs_com_tw_938/96c8290dfb5e9e5f00d17eecac2bdccc)] 
+
+喬科維奇第10次在澳網封王。(圖/路透社)
+
+澳洲網球公開賽今(29)日進行男單決賽,塞爾維亞網球名將喬科維奇(Novak Djokovic)不負眾望,以6:3、7:6(7:4)、7:6(7:5)直落三擊敗希臘好手西西帕斯(Stefanos Tsitsipas)拿下生涯第10座澳網男單冠軍,並追平大滿貫賽冠軍紀錄。
+
+本屆澳網的男單決賽,喬科維奇和西西帕斯不僅要爭奪冠軍盃,更是「球王之爭」。雙方生涯第13度交手,握有絕對優勢的喬科維奇,從第一盤起就一路輾壓對手,不僅率先破了對方的發球局,首盤更是以29分鐘就輕鬆拿下。
+
+喬科維奇和西西帕斯生涯第13度交手。(圖/美聯社達志影像)
+
+到了第二盤,雙方在互保發球局的情況下,比分追平到6:6,因而進入搶7大戰,喬科維奇再度展現大將之風,最終以7:4拿下,取得2:0的絕對領先。
+
+第三盤,喬科維奇首度面臨破發危機,但隨後他也調整狀態,破了西西帕斯的發球局,雙方戰成2:2。之後的幾個發球局,兩人互相保發,再度將比賽逼入搶7大戰。這次喬科維奇把握機會,連拿5分把對手逼入絕境,雖然西西帕斯立刻回神追了3分、化解2個賽末點,但最終仍以5:7敗給喬科維奇。
+
+喬科維奇下週將重返球王寶座。(圖/達志影像美聯社)
+
+喬科維奇在奪下本屆澳網冠軍後,下週將重返球王寶座,而這不僅是他的第10座澳網冠軍,更是生涯第22座大滿貫,追平「Big 4」納達爾(Rafel Nadal)的紀錄,並列史上最多。
+
+更多 TVBS 報導
+
+誓阻俄國參加2024奧運 澤倫斯基:戰爭無中立存在
+
+機智男孩冰塊腹肌太狂!鍾岳軒健身房甩油 爆鄭豐毅「只去拍照」
+
+健身房結合運動按摩 「筋膜刀」減力刮緩解緊繃
+
+機智男孩撩衣露猛肌!陳彥廷揪黃柏峰炸胸 自爆「1週肥7公斤」
+
+
+
+ ## 與蒲亭粉絲合照惹議 喬科維奇父親未出席澳網決賽
+
+ ![img](https://s.yimg.com/cv/apiv2/social/images/yahoo_default_logo-1200x1200.png)] 
+
+(中央社墨爾本29日綜合外電報導)塞爾維亞網球名將喬科維奇的父親瑟強今天未現場觀賞兒子澳洲公開賽決賽,因為有影片顯示他與揮舞俄羅斯國旗的球迷合照,那面國旗還印有俄羅斯總統蒲亭肖像,引發軒然大波。
+
+喬科維奇(Novak Djokovic)今天與希臘好手西西帕斯(Stefanos Tsitsipas)爭冠,並以直落3盤締造澳網第10次封王佳績,也追平大滿貫賽22次冠軍紀錄。
+
+瑟強(Srdjan Djokovic)沒有和喬科維奇的教練群及喬科維奇的母親迪亞娜(Dijana)一起坐在拉佛球場(Rod Laver Arena)場邊觀戰。瑟強通常坐在迪亞娜身旁,不過那個座位今天空著。
+
+烏克蘭提出禁止瑟強進入墨爾本球場(Melbourne Park)觀賽的呼籲後,他決定不出席喬科維奇的澳網4強賽事。
+
+上傳到一個親俄羅斯YouTube帳號的影片顯示,瑟強和一名手持俄羅斯國旗的男子合影,國旗上印有蒲亭(Vladimir Putin)肖像。這段影片說明寫道,「喬科維奇的父親勇於政治表態」。
+
+瑟強後來決定不出席喬科維奇擊敗美國選手保羅(Tommy Paul)的那場4強賽,並且發聲明強調自己「只希望和平」。他今天繼續缺席澳網決賽。(譯者:林沂鋒/核稿:何宏儒)1120129
+
+ ## 澳網》喬科維奇爭冠有秘密武器 與C羅合作神醫即刻救援
+
+ ![img](https://s.yimg.com/cv/apiv2/social/images/yahoo_default_logo-1200x1200.png)] 
+
+爭取第10座澳網冠軍的塞爾維亞球星喬科維奇(Novak Djokovic),比賽期間多次出現走路一拐一拐的狀況,甚至需要多次申請醫療暫停處理大腿傷勢,據英國媒體《每日快報》報導,曾與C.羅納多(Cristiano Ronaldo)等知名球星合作的運動醫學專家寇薇賽維琪(Marijana Kovacevic),緊急飛往澳洲治療喬科維奇傷勢,幫助這位前世界球王度過難關。
+
+以秋風掃落葉之姿重新站上澳網決賽舞台,賽會第10冠很明顯在向他招手,因為喬科維奇生涯9度打進澳網男單4強,最終都能以全勝姿態拿下冠軍,喬科維奇有極大機會能拿下追平「西班牙蠻牛」納達爾的第22座大滿貫冠軍,爭取男子網壇歷史第一人的頭銜。
+
+前6場比賽一共只丟掉1盤,傷勢看起來沒有帶給喬科維奇太多的麻煩,卻在日前出現了有關詐傷的傳言,指責喬科維奇藉此干擾對手,讓他接受訪問時不耐煩說道,「每當其他人受傷時,他們就是真的受傷,但如果是我出現傷勢,我就是在假裝,我不需要在社群媒體分享我的身體狀況,要不要說是我的自由。」
+
+來到戰況激烈的8強階段,喬科維奇依舊沒有遭遇困難,順利打進澳網決賽,喬科維奇在2場比賽的賽後訪問表示他的身體感覺好了很多。這與寇薇賽維琪到來的時間相吻合,她在過去與許多足球巨星合作,包括C羅、A.桑契斯(Alexis Sanchez)、范佩西(Robin van Persie)及孔帕尼(Vincent Kompany)等人,前利物浦球星Yossi Benayoun是寇薇賽維琪最著名的病患, Benayoun曾在賽季中遭遇膕旁肌拉傷,寇薇賽維琪透過人類胎盤萃取液進行治療,讓Benayoun的恢復療程從5周縮短至2周內。
+
+更多中時新聞網報導
+
+流水席之亂還沒完!小姑爆「兩家人準備見面」:真的還要談?
+
+注意看這個男人太狠了!勞保月領才2萬 他竟能多領41萬
+
+「龍蛇馬羊」2023運勢大解析 這生肖財運旺但要防血光之災
+
+ ## 喬科維奇揚威澳網10度封王 追平大滿貫賽22冠紀錄
+
+ ![img](https://s.yimg.com/cv/apiv2/social/images/yahoo_default_logo-1200x1200.png)] 
+
+(中央社墨爾本29日綜合外電報導)塞爾維亞網球名將喬科維奇今天在澳洲公開賽決賽直落3盤,以6比3、7比6(7/4)和7比6(7/5)擊退希臘好手西西帕斯,締造澳網第10次封王佳績,也追平大滿貫賽22次冠軍紀錄。
+
+這場冠軍大戰在墨爾本拉佛球場(Rod Laver Arena)舉行,35歲的喬科維奇(Novak Djokovic)先前9次打進澳網男單決賽都順利奪冠,今年再度勇闖冠軍戰。他在澳網這個硬地球場創下的豐功偉業,還有生涯對上西西帕斯(Stefanos Tsitsipas)10勝2敗的對戰紀錄,都讓他成為奪冠大熱門。
+
+這次名列第4種子的喬科維奇順利封王,除締造澳網10度封王輝煌新紀錄,也追平西班牙名將納達爾(Rafael Nadal)生涯22座大滿貫賽冠軍的紀錄,將取代因傷缺席澳網的西班牙男網新星艾卡拉茲(Carlos Alcaraz)重登世界排名第1。(譯者:林治平)1120129
+
+

+ 23 - 0
content/news/2/1.md

@@ -0,0 +1,23 @@
+---
+title: "財神發功!購買清原芋圓發票千萬得主再增一枚"
+date: 2023-01-30T16:15:34+08:00
+draft: false
+display: true
+tags: ["加盟"]
+categories: ["加盟"]
+description: "-"
+url: "/blog/2"
+image: "https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/2023/01/30/draft/20084414.jpg&s=Y&x=0&y=9&sw=1280&sh=852&exp=3600"
+type: "main"
+---
+
+【文.劉孟儒】
+
+年假還沒過完,台灣已經在春節期間先一步迎財神,1/25開出最新一期統一發票中獎號碼,日前知名超商開出幾位千萬得主外,今再新增千萬得主一枚,超級幸運兒在連鎖飲品店清原芋圓購買一份甜品,沒想到財神爺也跟著一起來吃甜報到。
+
+財政部日前公布最新一期2022年11~12月統一發票中獎號碼,知名超商率先宣布三名幸運兒成為千萬發票得主;另有二位百萬特獎。今日清原芋圓也宣布西螺分店再增一位千萬幸運兒。2023年才剛開春,想必初四迎財神的習俗,財神爺都已經徹底聽見了!
+
+這次的幸運得主,在清原芋圓購買一份經典的黑金燒仙草,暖冬暖心又暖胃的同時,也成為人人稱羨的財神寵兒。清原芋圓表示,調閱帳目資料後發現這個超大的喜訊,店內的工作人員都超級興奮,當天是2022年最後一天的下午,在充滿慶祝氛圍的這天,能有這個好消息喜上加喜,也算是讓2022年完美收官,相信2023年清原芋圓也會持續這份好運和喜氣,同時他們也特別呼籲,跨年當天下午有到西螺分店購買黑金燒仙草的朋友,趕緊檢查自己的發票或是載具,千萬別與大獎擦身而過!
+
+近年響應雲端發票政策,政府大力推行無紙化,致力落實綠色生活,為鼓勵推廣使用,雲端發票經常性加開兌獎號碼。2022年各類型雲端發票載具用戶使用率已經超過47%,相較於2021年已大幅增長。本次多位幸運兒獲獎,加上利多政策推動,相信未來雲端發票推廣將更為順暢。
+

+ 38 - 0
content/news/3/1.md

@@ -0,0 +1,38 @@
+---
+title: "金山財神廟 失火 火警"
+date: 2023-01-26T21:34:45+08:00
+tags: ["財神廟"]
+categories: ["religion"]
+draft: false
+type: "post"
+url: "/blog/3"
+image: "https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/2023/01/28/realtime/20070697.jpg&s=Y&x=133&y=0&sw=1440&sh=960&exp=3600"
+type: "focus"
+---
+
+ ## 影/春節求財聖地金山財神廟火警 緊急灌救未波及主廟
+
+ ![img](https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/2023/01/28/realtime/20070697.jpg&s=Y&x=133&y=0&sw=1440&sh=960&exp=3600)] 
+
+新北市金山財神廟是春節求財聖地,昨晚傳出火警,現場為寺廟周圍金紙與雜物起火,並未延燒到建物和主廟,無人受傷,火勢在近11時撲滅,燃燒金紙與雜物約15坪。
+
+這幾天春節期間參拜人潮很多,消防人員到場灌救,沒有造成延燒,疑似電線走火引燃火勢,確切原因還要採證調查。 春節求財聖地金山財神廟火警,緊急灌救。記者游明煌/翻攝 春節求財聖地金山財神廟火警,消防人員到場灌救。記者游明煌/翻攝 春節求財聖地金山財神廟火警,消防人員到場灌救。記者游明煌/翻攝
+
+ ## 求財聖地「金山財神廟」火警!參拜民眾見火光嚇壞 警消急灌救
+
+ ![img](https://cdn2.ettoday.net/images/6824/d6824749.jpg)] 
+
+記者郭世賢、陳韻如/新北報導
+
+新北市一間春節求財聖地「金山財神廟」27日晚間傳出火警,寺廟周圍的金紙與雜物起火燃燒,嚇得廟方趕緊通報119。由於春節期間人潮眾多,消防人員緊急到場灌救,所幸火勢並未延燒到建物及主廟,並無造成人員傷亡。
+
+▲金山財神廟火警。(圖/記者郭世賢翻攝)
+
+新春迎財神,有不少民眾都會趁著春節期間到財神廟參拜求財,然而位在新北市的金山財神廟27日晚間卻傳出火警,嚇壞不少參拜民眾。
+
+消防人員獲報後立即出動搶救,所幸火勢並未延燒到建物及主廟,也沒有造成人員傷亡。初步研判,現場疑似為電線走火釀禍,但確切的起火原因,及財損仍待調查釐清。
+
+ ## 新北燈會限量版開運小提燈2
+
+ ![img](https://media.zenfs.com/zh-tw/cna.com.tw/b9576a820aedbf6040d5a74f69bf9639)] 
+

+ 80 - 0
content/news/4/1.md

@@ -0,0 +1,80 @@
+---
+title: "What is the coconut challenge on TikTok? Trend becomes meme"
+date: 2023-01-30T16:33:28+08:00
+draft: false
+display: true
+tags: ["tiktok"]
+categories: ["tiktok"]
+description: "-"
+url: "/blog/4"
+image: "https://cdn.firstcuriosity.com/wp-content/uploads/2023/01/25202353/f7861c1f-fe13-4528-b2a9-f2ddf2a6645a-696x522.jpg"
+type: "main"
+---
+
+ ## TikTok Coconut Challenge: The explicit sexual trend explained
+
+ ![img](https://images.popbuzz.com/images/554155?width=1200&crop=16_9&signature=zS9789pUSIkcKA3CnEUJmKtTTAg=)] 
+
+What is the Coconut Challenge on TikTok? The explicit trend explained
+
+By Katie Louise Smith
+
+What is the coconut challenge? A viral clip of Cardi B has left TikTok users baffled over the NSFW trend. Here's what it means.
+
+Listen to this article Loading audio...
+
+The NSFW Coconut Challenge has made it's return to social media thanks to a viral TikTok video. (And it's got absolutely nothing to do with actual coconuts.)
+
+The whole 'coconut challenge' thing actually went viral way back in 2019. According to Know Your Meme, it first popped up on the internet on Twitter on Valentine's Day 2019. Shortly after that, "spell coconut" memes started doing the rounds on social media with people making jokes about the whole thing.
+
+Now, it's resurfaced on TikTok and people who don't already know about it are absolutely baffled by what it means. Here's your explainer about the 'challenge'
+
+What is the Coconut Challenge on TikTok?
+
+TikTok's Coconut challenge explained. Picture: Avishek Das/SOPA Images/LightRocket via Getty Images, @cardib via Instagram
+
+So, why has the 'coconut challenge' gone viral on TikTok all over again? It seems to be all thanks to an old clip of Cardi B from 2020 that has blown up on the platform.
+
+Posted by @bardi_song, the clip shows an old Instagram Live video of Cardi listening to 'WAP' and talking about how Megan Thee Stallion is "going to do the coconut challenge on the d---". Cardi then falls to the floor and jokingly shouts, "This is bitch is nasty! You nasty bitch!"
+
+The clip has been viewed by 4 million people and has over 1 million likes. And of course, the comment section is full of people wondering what the hell Cardi is talking about. What is the 'coconut challenge'?!
+
+Well, for those who really want to know... The 'coconut challenge' is a trend where you spell out the word 'coconut' with your hips while you're on top during sex, and it's supposed to give your partner maximum pleasure.
+
+People are also coming back to the comments on the video after finding out what the challenge actually is, and their reactions are hilarious.
+
+"Just me causally googling the coconut challenge 😂 my browser history is horrible thanks to tiktok," one user wrote. Another added: "Please, I would forget how to spell coconut."
+
+ ## What does Mascara mean on TikTok? The trend explained
+
+ ![img](https://images.popbuzz.com/images/554409?width=1200&crop=16_9&signature=sEUdFA-O-RvbtJ4bjFZYKw3SLMM=)] 
+
+What does Mascara mean on TikTok? The trend explained
+
+By Katie Louise Smith
+
+"I've had my mascara since I was 14. I'm now 24. Only mascara I've ever tried but I know there's this one anywhere else."
+
+Listen to this article Loading audio...
+
+One thing about TikTok: People will use code words to discuss certain dating topics and they will gatekeep the meaning behind what they're actually talking about, leaving you to scroll through the comment section looking for an explanation.
+
+Over the past few weeks, you may have seen a number of viral TikTok videos of girls talking about 'mascara' with lengthy captions discussing how much they like their mascara, how long they've had their mascara or how their mascara has betrayed them.
+
+Based on the comments and context of the captions, it's clear that these videos are not about actual mascara. These videos are actually about relationships, and 'mascara' is being used as a code word for someone's partner. Here's what it all means.
+
+What does Mascara mean on TikTok?
+
+What does Mascara mean on TikTok? The trend explained. Picture: Thiago Prudêncio/SOPA Images/LightRocket via Getty Images, skynesher via Getty
+
+Yep, 'mascara' is basically your partner. Doesn't matter if you're dating them, if you're married to them... it's whoever you love most in a romantic way.
+
+The majority of the videos and the comments refer to male partners, with some commenting that their mascara "stuck its wand into other tubes" (the wand being code for "penis", in case you needed that explaining too). Other comments also point out that their mascara "doesn't have a wand", meaning their partner doesn't have a penis.
+
+Some of the video captions include stories about their long-term relationships, like this user's childhood sweetheart story: "I've had my mascara since I was 14. I'm now 24. Only mascara I've ever tried but I know there's this one anywhere else. I even made a smaller version because I like it so much."
+
+On the flip side, people are also using the trend to talk about the times their partner has hurt them. One user captioned her video writing: "The one mascara I ever really liked ended up damaging my eyelashes really badly so now I'm too scared to try any new mascaras because I can't take my eyelashes being damaged again."
+
+For the record, using the same mascara – actual mascara, that is – for more than the suggested shelf life stated on the packaging is not recommended. Buy a new one, babes!
+
+

+ 54 - 0
content/news/5/1.md

@@ -0,0 +1,54 @@
+---
+title: "Volvo XC40 EVs get improved range, faster charging, RWD"
+date: 2023-01-24T00:56:29+08:00
+draft: false
+display: true
+tags: ["EV"]
+categories: ["Automotive"]
+description: "-"
+url: "/blog/5"
+image: "https://i0.wp.com/electrek.co/wp-content/uploads/sites/3/2023/01/Volvo-C40-XC-40-EVs-2.jpeg?w=1500&quality=82&strip=all&ssl=1"
+type: "post"
+---
+
+Volvo released a fresh batch of upgrades across its electric vehicle lineup as the new C40 and XC40 Recharge feature a longer range, more power, faster charging, rear-wheel drive (RWD) variants, and more.
+
+Volvo has committed to going 100% electric by 2030, with an intermittent target of sales volume to 50% electric by 2025. The Swedish automaker sold 66,749 electric vehicles in 2022, up 159% from the previous year, as its total EV share crossed 10%.
+
+In March 2021, Volvo released the C40 Recharge Pure Electric, a smaller, lighter crossover version of the XC40 electric SUV, to break into a new market segment.
+
+Despite a sleek, more aerodynamic look, the only complaint was the low 210 EPA range at the time, with the Tesla Model Y achieving over 300 miles from the same sized battery.
+
+Volvo’s latest refresh hopes to tackle those problems as it looks to become the first premium carmaker to move its entire portfolio of vehicles to electrification. The Volvo C40 and XC40 EV models are due for a longer range, faster charging, and a slew of new updates.
+
+## Volvo C40 and XC40 EVs set for an upgrade
+
+Volvo recognized the two most commonly asked questions about EVs: How far will it drive on a single charge, and how long does it take to charge?
+
+Javier Varela, Volvo COO, said the new C40 and XC40 updates would help propel the company forward with attractive new offerings.
+
+> *These updates are another big step in our work towards becoming a fully electric car maker by 2030*. *Range and charging times are new key factors for more and more of our customers, and these improvements make our fully electric models even more attractive than they already were.*
+
+Volvo offers three new powertrain options, including two RWD models, the first for the company in 25 years, and an AWD performance variant.
+
+![Volvo-C40-XC40-EVs](https://electrek.co/wp-content/uploads/sites/3/2023/01/Volvo-C40-XC40-EVs.jpeg?quality=82&strip=all&w=1024)
+
+Volvo XC40, C40 specs
+
+In addition, Volvo developed the second-gen electric motor powering the rear axles in-house, another first for the company.
+
+**Single motor RWD/extended range**
+
+For the RWD models, the single motor with standard range is driven by a 175kW e-motor, a 3% increase in output over the current 170kW FWD variant. Although the XC40 features the same 69kWh battery capacity, new cooling efficiencies deliver a range of up to 285 miles (460 kilometers WLTP).
+
+Meanwhile, the range of the C40 single motor improves to 295 miles (476 kilometers WLTP) while charging 10 to 80 percent takes around 34 minutes using a 130 kW DC public charger.
+
+
+The larger 82kWh battery pack with 185kW e-motor boosts range up to 320 miles (515 kilometers WLTP) for the XC40 and up to 331 miles (533 kilometers WLTP) for the C40.
+
+**Twin Motor AWD**
+
+As for the AWD models, Volvo replaced the two 150kW electric motors on both axles with an in-house 183kW e-motor on the rear axle and a new 117 kW e-motor on the front axle.
+
+According to Volvo, the new setup and improvements mean the XC40 Twin Motor AWD delivers up to 315 miles (507 kilometers) of range. Both the XC40 and C40 are slated to feature new 19-inch alloy wheels.
+

+ 137 - 0
content/news/6/1.md

@@ -0,0 +1,137 @@
+---
+title: "Sony and Honda’s EV goes where the Apple Car never did"
+date: 2023-01-24T00:56:29+08:00
+draft: false
+display: true
+tags: ["EV"]
+categories: ["Automotive"]
+description: "-"
+url: "/blog/6"
+image: "https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/2022/12/24/0/19746778.jpg&x=0&y=0&sw=0&sh=0&sl=W&fw=1050"
+type: "featured"
+---
+
+It’s easy to be cynical about Sony’s entry into the automotive world. Even the name — Afeela — evokes more eye rolls than serious expressions. But here’s why you should take it seriously. 
+
+For nearly a decade now, [Apple’s Project Titan](https://www.theverge.com/2022/12/6/23496789/apple-car-cost-self-driving-project-titan) has remained the world’s greatest mystery on four wheels.
+
+What would an Apple Car look like? Why would a consumer tech company get into the car game? Who would build it, and how would they sell it? And what would it mean for the car industry’s ongoing electric and digital transformation?
+
+Today, the Apple Car remains a total enigma. But almost out of nowhere, Sony — not Apple — has emerged as the tech giant that might have figured out how to make the rubber meet the road.
+
+
+Under a new brand called “[Afeela](https://www.theverge.com/2023/1/4/23539863/sony-honda-electric-vehicle-afeela-ces-reveal-photos),” the Japanese electronics and media conglomerate is partnering with Honda to produce a new electric vehicle from 2026 onward, which will more than likely be built at Honda’s facilities in the US to take advantage of new EV tax credit rules. It will lean heavily into [subscription features](https://www.theverge.com/2022/7/12/23204950/bmw-subscriptions-microtransactions-heated-seats-feature) and Sony’s own vast library of video games and media properties for in-car entertainment. Those services could be engaged while drivers and passengers are waiting for the EV to charge or when autonomous car features are deployed — [provided those technologies can advance enough](https://www.theverge.com/2022/10/28/23427129/autonomous-vehicles-robotaxi-hype-failure-expectations) to finally ship to customers.
+
+If this joint venture from what is now called Sony Honda Mobility does come to market in three years, executives who spoke to *The Verge* say they’re in it for the long haul, not as an experiment to test the waters. At CES, the venture’s CEO, Yasuhide Mizuno, [told reporters it’s eyeing lease deals for up to 10 years](https://europe.autonews.com/automakers/sony-honda-jv-plans-decade-long-lease-high-tech-ev?utm_source=daily&utm_medium=email&utm_campaign=20230117&utm_content=article7-headline), much longer than most cars are owned today, backed up by frequent over-the-air software updates and feature additions.
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3667/2400x1600/filters:focal(2750x1834:2751x1835):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374711/1246005836.jpg)
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3667/2400x1600/filters:focal(2750x1834:2751x1835):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374711/1246005836.jpg)
+
+“If we sell the vehicle itself, we have to support it for 10 years, a very long time to provide our services,” Sony Honda Mobility COO Izumi Kawanishi said in an interview with *The Verge*. “Basically, it is a long-term business.”
+
+Furthermore, Kawanishi was very clear about why Sony is getting into the car business at all: to chase a new business model that could upend the industry as we know it.
+
+“The important thing is software,” Kawanishi said. “We have to strengthen our software technology. That means we can provide mobility services for the future. We have to change the business from hardware to software.”
+
+
+Sony has been planning this for a while. The Afeela prototype shown at CES was an evolution of [the Vision-S concept shown at the same show in 2020](https://www.theverge.com/2020/1/8/21056404/sony-vision-s-electric-concept-prototype-first-look-ces-2020) before Honda was involved with the project. A seven-seat SUV concept [followed in 2022](https://www.sony.com/en/SonyInfo/News/Press/202201/22-002E/).
+
+The latest prototype is a sleek EV sedan that looks like a mashup of a Tesla with the Lucid Air. It boasts screens across the width of the dashboard, 45 sensors and cameras for semi-autonomous driving assistance, all-wheel drive, and hints at augmented reality integration and “virtual worlds” embedded into the driving experience. As a result, Sony’s first foray into the automotive sector already appears designed to compete with some of the top players in the luxury EV space.
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:4922x3281/2400x1600/filters:focal(2461x1641:2462x1642):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374722/1246009028.jpg)
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:4922x3281/2400x1600/filters:focal(2461x1641:2462x1642):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374722/1246009028.jpg)
+
+To be sure, the “Afeela” name is hard to swallow; it [was](https://twitter.com/amirhusain_tx/status/1612464285422333952) [roundly](https://twitter.com/TweakTown/status/1612437313816264705) [mocked](https://twitter.com/MrSouthShore/status/1613350609209499648) [on](https://twitter.com/Banker69/status/1612464753141776384) [social](https://twitter.com/iamgarffi/status/1612435468708360194) [media](https://twitter.com/stefthepef/status/1610825670128435200) after its [CES debut](https://www.theverge.com/2023/1/4/23539863/sony-honda-electric-vehicle-afeela-ces-reveal-photos) earlier this month. And beyond proving itself to new customers, this joint venture faces plenty of challenges over the next three years as the EV market grows at a rapid pace.
+
+But Afeela also signals a kind of maturation in the EV market, with serious, real-deal companies jumping in to own the digitized future of cars defined by subscription services, data, and software-driven features.
+
+Sony has been planning this for a while
+
+With Honda’s manufacturing expertise, this could represent a whole new market and multiple streams of revenue for Sony, which already has a massive foothold in entertainment media and the devices we use to consume it.
+
+“It’s definitely interesting,” said Jessica Caldwell, an auto industry analyst and executive director of insights at car-buying website Edmunds. “These are brands that are extremely established in their fields, and I think that is going to be very important moving forward in getting the customer to trust these vehicles as more autonomous features are added.”
+
+Additionally, she said, while not as visually striking as the Tesla Model S was when it debuted, the Afeela car seems more focused on meeting the needs of its occupants than anything else.
+
+”We have been talking about cars moving into a virtual living room for well over a decade at this point,” Caldwell said. “It seems like the focus is being taken away from the design of the car, per se, and more towards the features of the car and what the car can do for you.”
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3659/2400x1597/filters:focal(2750x1830:2751x1831):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374723/1246008822.jpg)
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3659/2400x1597/filters:focal(2750x1830:2751x1831):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374723/1246008822.jpg)
+
+**Serious players**
+
+In the automotive startup space and the EV space — and increasingly, those are one and the same — Tesla has been the exception, not the rule.
+
+Making cars is hard. In the last decade, consumers and industry observers alike almost came to expect production problems, [outlandish founder claims](https://www.theverge.com/transportation/2019/10/30/20879811/faraday-future-ceo-founder-jia-yueting-carsten-breitfeld-bankruptcy), and [outright fraud](https://www.theverge.com/2022/10/14/23405107/nikola-founder-trevor-milton-guilty-verdict-hydrogen-truck) to be the norm in the car startup world. Until established automakers like General Motors and BMW started taking EVs more seriously fairly recently, a good amount of new ventures could be written off as vaporware.
+
+“It seems like the focus is being taken away from the design of the car, per se, and more towards the features of the car and what the car can do for you.”
+
+Sony and Honda can’t be described that way. One is Japan’s largest electronics concern, the leader in the [console gaming market](https://www.gamesindustry.biz/ampere-analysis-console-market-grew-to-record-usd60bn-in-2021), and one of the biggest global forces in music, TV, and movie production. The other is one of the biggest car companies in the world and one with a hard-earned reputation for quality and reliability.
+
+“On the surface level, this is two of Japan Inc.’s best-known, finest companies in their respective fields coming together,” said Tyson Jominy, VP for data and analytics at automotive research firm JD Power. “When you combine a consumer electronics company with the auto space, I guess the expectation is that magic will happen.”
+
+As for Honda, Jominy said, “They’re known for their manufacturing excellence. \[Sony\] has found a fantastic partner, certainly one of the most blue-chip of blue-chip auto companies to partner with.”
+
+At CES, Afeela’s coming-out party definitely felt like Sony’s show, not Honda’s. Sony handled communications around the car, dealt with journalists, and debuted it amid a wider keynote presentation that included a teaser for Neill Blomkamp’s *Gran Turismo* movie and accessibility-focused game controllers for people with mobility challenges.
+
+But it’s still a 50-50 venture, with Yasuhide Mizuno, a former high-ranking Honda executive, in the CEO seat.
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3659/2400x1597/filters:focal(2750x1830:2751x1831):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374726/1246008769.jpg)
+
+![Inside The 2023 CES Trade Show](https://duet-cdn.vox-cdn.com/thumbor/0x0:5500x3659/2400x1597/filters:focal(2750x1830:2751x1831):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374726/1246008769.jpg)
+
+Honda stands to gain a lot, too. It’s rare to see any Japanese companies taking the EV market seriously. Brands like Honda, Toyota, Mazda, and Nissan [are woefully behind American, European, and South Korean competitors](https://www.bloomberg.com/news/features/2023-01-06/toyota-nissan-risk-status-loss-as-tesla-vw-byd-top-global-electric-car-market#xj4y7vzkg) in battery EVs. Honda’s first truly modern EV, the Prologue crossover, is due out next year, but even that [uses General Motors’ Ultium EV platform](https://www.caranddriver.com/honda/prologue) rather than in-house hardware.
+
+For Honda, Afeela is part of a chance to catch up. [*Automotive News* reports](https://europe.autonews.com/automakers/sony-honda-jv-plans-decade-long-lease-high-tech-ev?utm_source=daily&utm_medium=email&utm_campaign=20230117&utm_content=article7-headline) that the Sony-Honda car will use [a new all-electric Honda platform called e: Architecture](https://techcrunch.com/2022/04/11/honda-to-launch-30-ev-models-by-2030/), and the Japanese carmaker will debut a similar EV under its own brand around the time Afeela launches.
+
+“On the surface level, this is two of Japan Inc.’s best-known, finest companies in their respective fields coming together.”
+
+“From Honda’s perspective, they’re basically getting a client or customer to help pay for their own EV development and to catch up,” Jominy said. “There definitely is some kind of hesitation on Japanese automakers to really go fully into the \[EV\] space. But I think they are recognizing that this is where things are heading.”
+
+With Honda, Sony gets not only a proven partner but also one with a massive manufacturing presence in the US — its carmaking infrastructure here is now so robust that nearly all Hondas and Acuras sold in America are also made in America. Doing so would allow Sony to take advantage of [recent changes under the Inflation Reduction Act](https://www.theverge.com/23310457/inflation-reduction-act-ev-tax-credit-act-explainer-how-to) that permit the fullest EV tax incentives when a car and its battery are built in North America; indeed, Honda is now [working on a $4.4 billion battery plant in Ohio](https://www.theverge.com/2022/8/29/23326844/honda-lg-chem-ev-battery-factory-ohio).
+
+“If you look at Tesla, Rivian and others, where they really get tripped up is production,” Jominy said. “Everything is great until the plant starts to open.”
+
+![Technology fair CES - electric car from Sony and Honda](https://duet-cdn.vox-cdn.com/thumbor/0x0:4928x3280/2400x1597/filters:focal(2464x1640:2465x1641):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374728/1246006141.jpg)
+
+![Technology fair CES - electric car from Sony and Honda](https://duet-cdn.vox-cdn.com/thumbor/0x0:4928x3280/2400x1597/filters:focal(2464x1640:2465x1641):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24374728/1246006141.jpg)
+
+Image: Andrej Sokolow/picture alliance via Getty Images
+
+**Why does Sony want to make a car?**
+
+Sony and Honda may both be heavy hitters, but again, making cars is hard. Profit margins are low, overhead is high, manufacturing is difficult, and sales tactics vary from country to country.
+
+But executives at Sony Honda Mobility who spoke to *The Verge* say the automotive space is seen as the next natural frontier for Sony’s media business, allowing it to offer movies, music, TV shows, and gaming in the car soon.
+
+“From Honda’s perspective, they’re basically getting a client or customer to help pay for their own EV development and to catch up.”
+
+“We found out we can make one more entertainment space in mobility, like a living room” in car form, Kawanishi said. “We already delivered the PlayStation, the Walkman. The mobility space is one more market for us.”
+
+Sony is also getting into making cloud platforms for automakers, Kawanishi said. Last year, the company announced features like custom user settings being stored in the cloud, remote driving technology for autonomous applications, and the ability to remotely play streaming games.
+
+“To me, it seems from Sony’s perspective, this is a full integration of its users, from home to work via your car and everything in between,” Jominy said. “It’s now an extension that lets us take our personal lives portable.”
+
+Kawanishi said that Sony had conversations with multiple car companies as potential partners on the project but declined to name them. It’s also unclear if Afeela was ever intended to compete with an Apple Car; given the Vision-S concept’s appearance back in 2020, it’s certainly possible their internal planning lined up. (A Sony Honda Mobility spokesperson did not directly comment on whether Sony’s project was meant to be a competitor.)
+
+**The digital future of cars?**
+
+Jominy said that while he understands the business models both partners are going for, he still sees the potential roadblocks to Afeela’s success. For one, three years is a long time in the automotive business. Some 20 to 25 new EV models are set to debut each year over the next few years, other startups are learning how to break into the market, and China is angling to break into the US market as well.
+
+“You would expect \[Afeela\] to be a success on some level, although that’s far from guaranteed,” Jominy said. “There’s a lot of caveats and things that could happen between now and 2026.”
+
+If Sony Honda Mobility can pull this off — and that’s far from guaranteed — the model still says a lot about where the automotive industry is likely headed next — and not even for obvious things like in-car gaming.
+
+“We already delivered the PlayStation, the Walkman. The mobility space is one more market for us.”
+
+The Afeela cars aren’t about profiting from selling individual cars or dealerships making money from repairs; they’re about longer-term leases and financing terms and owners paying for various upgrades and features through the life of the vehicle.
+
+Jominy said he feels this transition to subscription features is “inevitable,” especially with car companies having to stick to price limits under the Inflation Reduction Act for their vehicles to qualify for tax incentives. Automakers could offset that by holding tight to base car prices while adding in more features drivers have to pay for over time.
+
+It’s not at all unlike how the mobile phone business works today, Kawanishi said.
+
+“It’s like the smartphone business,” he added. “The hardware is not so much the key… the mobility industry should be changed to that kind of model.”
+

+ 99 - 0
content/news/7/1.md

@@ -0,0 +1,99 @@
+---
+title: "Matthew Modine"
+date: 2023-01-24T00:56:29+08:00
+draft: false
+display: true
+tags: ["actor"]
+categories: ["entertainment"]
+description: "-"
+url: "/blog/7"
+image: "https://i.guim.co.uk/img/media/10509087f82ee56c703bd229781f25f7e1e9479b/455_79_4000_2400/master/4000.jpg?width=1300&quality=45&dpr=2&s=none"
+type: "featured"
+---
+
+## Matthew Modine: ‘It’s fascinating watching the sack of flesh I live in showing signs of wear’
+
+The actor on painful memories, wanting to read Dante’s Inferno in Italian, and why Trump and Putin are the same person
+
+[Rosanna Greenstreet](https://www.theguardian.com/profile/rosannagreenstreet)
+
+Sat 21 Jan 2023 09.30 GMT
+
+[
+
+139
+
+139
+
+](https://www.theguardian.com/lifeandstyle/2023/jan/21/matthew-modine-its-fascinating-watching-the-sack-of-flesh-i-live-in-showing-signs-of-wear#comments)
+
+Born in California, Matthew Modine, 63, made his film debut in the 80s, sharing the best actor award at the 1983 Venice film festival for Robert Altman’s Streamers. In 1984, he played the title role in Alan Parker’s Birdy, and in 1987 he starred in Stanley Kubrick’s Full Metal Jacket. Modine is Dr Martin Brenner in the hit Netflix series [Stranger Things](https://www.theguardian.com/tv-and-radio/stranger-things), and is currently playing Atticus Finch in To Kill a Mockingbird in the West End of London. He is married with two children and lives in New York.
+
+**What is your greatest fear?
+**Having a great fear.
+
+**What is your earliest memory?
+**We were having dinner and my cousin said we were eating my pet chicken, Susie. We adopted my mother’s sister’s children five days before I was born, after my aunt’s husband came home and shot her and then shot himself in front of the children. Gun violence in the US is not new.
+**What is the trait you most deplore in yourself?
+**I would deplore feeling deplorable about myself.
+
+**What is the trait you most deplore in others?
+**The inability to negotiate peace and truly forgive.
+
+**Describe yourself in three words
+**Doing my best.
+
+**What do you most dislike about your appearance?
+**It’s fascinating watching the sack of flesh I live in showing signs of wear. But I am grateful, each morning, to wake up in it.
+
+**What is your most unappealing habit?
+**Procrastinating.
+
+**What scares you about getting older?
+**Nothing. Better than the alternative.
+
+**Which book are you ashamed not to have read?
+**Dante’s Inferno (in Italian).
+
+**What is the worst thing anyone’s said to you?
+**“You can’t.”
+
+**What does love feel like?
+**Like falling – endlessly – and then discovering you have wings.
+
+**Have you ever said “I love you” without meaning it?
+**Of course I have. But it wasn’t because I didn’t want to actually make that person feel loved and appreciated.
+
+
+Which living person do you most despise, and why?
+Trump/Putin. Same person. Egotistical, bombastic, selfish shites.
+
+Which words or phrases do you most overuse?
+Stay positive.
+
+**What has been your biggest disappointment?
+**My biggest disappointment would be living with disappointment. What a burden to be shackled to. I would be truly disappointed if I didn’t (as the song says) pick myself up, dust myself off, and start all over again.
+
+**How often do you have sex?
+**Who’s counting?
+
+**What single thing would improve the quality of your life?
+**Stretching.
+
+**Would you rather have more sex, money or fame?
+**Well, I guess I won the lottery. Lucky me.
+
+**How would you like to be remembered?
+**As a kind person who cared for others.
+
+**What is the most important lesson life has taught you?
+**That we are all no more and no less than a single thread in a gigantic web of life. What we do and how we behave has repercussions for the entire web.
+
+**What happens when we die?
+**Only dying will tell.
+
+**Tell us a joke
+**Two peanuts were walking down the road. One was assaulted.
+
+
+

+ 139 - 0
content/news/8/1.md

@@ -0,0 +1,139 @@
+---
+title: "丁強病逝 不辦告別式擇日樹葬"
+date: 2023-01-30T08:08:53+08:00
+tags: ["丁強"]
+categories: ["entertainment"]
+draft: false
+type: "post"
+url: "/blog/8"
+image: "https://media.zenfs.com/zh-tw/chinatimes.com.tw/5e092f11f56fa47c2c070b41a8fcf63b"
+type: "featured"
+---
+
+ ## 丁強病逝 不辦告別式擇日樹葬
+
+ ![img](https://media.zenfs.com/zh-tw/chinatimes.com.tw/5e092f11f56fa47c2c070b41a8fcf63b)] 
+
+丁強(右)與李璇鶼鰈情深。(資料照片)
+
+曾獲金鐘獎迷你劇集視帝的資深演員丁強27日病逝,享壽86歲。與他牽手52年的愛妻李璇親自替他挑選遺照,經紀人透露遺照是先前丁強出的一本書《臭屁禪》中的照片,「滿符合丁哥的個性。」
+
+李璇和丁強的子女長年旅居國外,2老相依為命,即使丈夫離世李璇悲痛萬分,仍理智地不想勞師動眾,決定不舉辦告別式,預計2月4日火化後擇日樹葬,地點可能選在楊梅或陽明山。兒女們頭七前會回台討論後事細節,目前靈堂設置於中壢殯儀館供親友悼念。
+
+丁強生前與寇世勳在戲劇《你好,我是誰》中飾演父子,令人感傷的是同劇飾演母親的劉引商也於去年離世,2位「螢幕父母」相繼離開,寇世勳昨發文表達想念與不捨。他提到和丁強有著特別的緣分,人生參與的第一部電視劇演出就是丁強1975年製作的《六品豹子》,當時他才21歲還在世新念書,極力向老師爭取寒假到丁強的劇組實習,有臨演機會劇務就會讓他上場。
+
+相隔近50年,2人再續前緣飾演父子,寇世勳說當時在片場向丁強提起這段過往,丁強雖已不記得,但他仍感謝這段緣分,在臉書寫下「感恩每一個美好的安排,丁叔,一路好走。」而鍾承翰在《最佳利益》中飾丁強和李璇的孫子,他也發文悼念表示很幸運能遇見「爺爺」,不捨李璇痛失摯愛,心疼寫道「我現在好想抱著奶奶。」
+
+ ## 演活「楊教頭」86歲丁強在家跌倒逝世 妻李璇曝不辦告別式原因
+
+ ![img](https://www.mirrormedia.com.tw/assets/images/20230129160147-0290874d0b62fd54513a660eb0474e39-tablet.jpg)] 
+
+演活「楊教頭」86歲丁強在家跌倒逝世 妻李璇曝不辦告別式原因
+
+資深男星丁強27日辭世,享壽86歲。(本刊資料照)
+
+曾獲得金鐘獎最佳單元劇男主角獎的資深演員丁強,傳出在大年初六(27日)逝世,享壽86歲。與丁強結縭52年的妻子李璇不希望勞師動眾,怕打擾大家,因此決定不為丁強舉辦告別式,預計在2月4日火化,擇日樹葬送別丁強。
+
+丁強1936年出生於中國浙江,1949年隨父親來台定居,1961年開始演員之路,演過無數電視、電影作品,也參演舞台劇。丁強與同為演員的妻子在1971年結婚,隨後他轉往幕後工作,擔任製作人和導演,一度淡出螢光幕。2001年接演曹瑞原導演的電視電影《記住 忘了》,獲得金鐘獎單元劇最佳男主角獎(現改為迷你劇集/電視電影男主角獎)。
+
+丁強2003年參演曹瑞原導演翻拍白先勇經典小說作品《孽子》,演活了在新公園中帶領一眾年輕男孩的「楊教頭」,讓人印象深刻。2014年、2020年,曹瑞原再將《孽子》搬上舞台劇,丁強則改演「傅老爺子」一角,持續參與演出。事實上,丁強近幾年參演的作品眾多,2021年還與妻子李璇一同演出電視劇《火神的眼淚》中的老夫妻,最近期演出的則是去年歌手李玖哲的歌曲〈從來沒愛錯〉MV。
+
+丁強分別演出過《孽子》電視劇版的「楊教頭」和舞台劇版的「傅老爺子」。圖為《孽子》舞台劇2020經典重返記者會。
+
+綜合媒體報導,丁強15日在家中跌倒後送醫治療,沒想到好不容易過了年關,卻在27日中午辭世,享壽86歲。經紀人說,丁強生前最放不下的就是老婆李璇,希望大家可以幫忙照顧她。李璇的經紀人也說,為了不想打擾大家,她決定不為丁強辦公祭,但若有親朋好友想前往祭拜,他們已在中壢殯儀館設置靈堂。
+
+丁強(右起)、李璇特別客串《火神的眼淚》,演出感情深厚令人動容的老夫婦。(公共電視、myVideo提供)
+
+據悉,丁強的3名子女將從美國返台送父親最後一程,李璇也為丁強挑好遺照,預計2月4日火化後將選擇樹葬,地點可能會在楊梅或陽明山,希望用簡單平靜的方式為他送別。
+
+鏡週刊訂閱制上線,讓有價的閱聽成就更多優質文章,並獻上無廣告的閱讀環境,讓您盡情享受15類會員專屬內容,誠摯邀請您 立即加入。
+
+更多內容,歡迎鏡週刊紙本雜誌、鏡週刊數位訂閱、了解內容授權資訊。
+
+ ## 金鐘視帝丁強逝世享壽87歲,火神的眼淚、媽別鬧了成經典遺作
+
+ ![img](https://imgs.gvm.com.tw/upload/gallery/20230128/130458.jpg)] 
+
+資深演員、金鐘獎迷你視帝丁強27日大年初六逝世,享壽87歲,經紀人證實消息並透露丁強唯一遺願,是希望結褵52年的妻子李璇能被好好照顧。
+
+丁強的經紀人今天告訴中央社記者,丁強先前健康檢查發現有小中風,雖然稍微記憶力退化,但沒有太嚴重,在家休養。過年前,丁強不小心在家中跌倒,送醫後發現心肺功能急速下降,妻子李璇不希望任何侵入性急救、讓丈夫痛苦,27日中午在李璇陪伴下,安詳在醫院離世,沒有任何折磨。
+
+經紀人表示,丁強很久以前就說過遺願,「希望我們把璇姊照顧好」。至於妻子李璇的狀況,「璇姐都很好,她很感恩,有學佛的朋友陪伴她。我中午會到殯儀館確認後面事宜,璇姐一直以來很低調,怕麻煩大家、勞師動眾,後續是否有告別式,尊重家屬意願」。目前丁強的3個兒女也從美國返台奔喪。
+
+圖/丁強和妻子李璇曾在電視劇火神的眼淚中飾演恩愛老夫妻,真情流露令人動容。劇照公視提供
+
+經紀人最後透露,她本來就有規劃要替丁強報名金鐘獎終身成就獎,只是去年來不及報,「丁叔演很多戲,連去年演MV男主角還是一樣帥氣,只可惜人忽然走了」,今年會想替丁強再報名一次。
+
+熱愛演戲的丁強,畢業於政工幹校戲劇系(現國防大學政治作戰學院),曾服務於陸軍陸光話劇隊。1961年獲聘中央電影公司特約演員,參與「薇薇的週記」、「蚵女」、「婉君表妹」等經典電影作品,1970年代則以喜劇演員之姿活躍於螢光幕。
+
+1971年,丁強和小13歲、有「古典美人」美稱的演員李璇結婚,婚後主要從事幕後工作,更擔任製作人為李璇量身打造多部影片,兩人被視為演藝圈的神仙眷侶。1976年夫妻淡出演藝圈赴美定居,偶爾回台接戲、參與綜藝節目,直到兒女長大後,夫妻因想念才重返台灣定居,也重返螢光幕拍戲,丁強更於2001年,以電視劇「記住 忘了」榮獲第36屆金鐘獎單元劇男主角。
+
+有趣的是,兩人過去上節目受訪時曾聊到,由於李璇平時不看電視也不看報紙,完全不知道丁強跑去拍「記住 忘了」,直到金鐘獎當天,因友人告知才得知丈夫獲獎,不過李璇也只是淡淡的打電話給丁強說:「既然你得獎了,就買瓶香檳回來慶祝吧!」
+
+丁強活到老、演到老,近年依舊有不少影視作品,包含電視劇「酸甜之味」、「最佳利益」、「火神的眼淚」、「你好,我是誰?」和「媽,別鬧了」;電影「西城童話」、「血觀音」等。2022年7月,丁強拍攝歌手李玖哲的MV「從來沒愛錯」則是遺作。
+
+其中2021年的消防職人劇「火神的眼淚」由丁強和李璇一起客串扮演恩愛老夫妻,只是劇中丁強陪伴癌末妻子直到最後一刻,戲外則是李璇送牽手50多年的老伴最後一程。
+
+本文轉載自2023.01.28「中央社」,僅反映作者意見,不代表本社立場。
+
+ ## 丁強2/4火化後樹葬、遺照出爐 妻李璇不辦公祭
+
+ ![img](https://images.chinatimes.com/newsphoto/2023-01-28/656/20230128002950_20230128221520.jpg)] 
+
+丁強(右)與李璇鶼鰈情深。亞凰國際娛樂提供
+
+李璇去年拍廣告,氣質婉約。亞凰國際娛樂提供
+
+李璇近年戲約仍多,她精挑作品演出。亞凰國際娛樂提供
+
+資深演員丁強27日(年初六)過世,享壽86歲,她的妻子李璇因不想勞師動眾,今決定不為丁強舉辦告別式,預計2月4日火化後擇日樹葬,他們的兒女頭七前會回台,具體後事細節還會再討論,樹葬地點可能在楊梅或陽明山。
+
+丁強和李璇是演藝圈公認的神仙伴侶,,由於子女都在國外,夫妻倆平時形影不離,多年來相依為命。丁強農曆年前住進楊梅的醫院,李璇也在病床旁陪伴。李璇看似依賴,其實個性也有獨立的一面,平時不拍戲就是修佛、彈古箏、當慈濟志工,她樂在其中,丁強走後,她人前展現得很堅強,且不想麻煩大家跑到楊梅,因此決定不辦公祭。
+
+李璇經紀人表示,如果有朋友希望前往祭拜,中壢殯儀館有設置靈堂,或是等樹葬地點和時間出爐後。
+
+ ## 丁強、李璇差13歲鶼鰈情深 結婚52年曾相約「一起走」
+
+ ![img](https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/2023/01/28/realtime/20073161.jpg&s=Y&x=199&y=0&sw=2109&sh=1406&sl=W&fw=800&exp=3600)] 
+
+86歲金鐘視帝丁強於初六病逝,留下悲痛的妻子李璇。兩人結婚52年,當時年僅20歲的李璇愛上大13歲還有過一段婚姻的丁強,受到周遭許多人反對,一度分手,丁強苦追之下才復合。
+
+丁強與李璇是演藝圈模範夫妻,李璇曾透露,她非常依賴丁強,連出門要穿的衣服都是老公幫她挑選好的。而兩人曾在「火神的眼淚」中合作演夫妻,劇中李璇剩下最後一口氣,央求丁強帶她去看海,實力派演技賺人熱淚;戲外李璇也曾和丁強表示,希望自己「先走一步」,丁強卻和她相約「一起走」,結果卻是丁強先走一步。
+
+雖然夫妻感情好,但李璇坦言兩人還是會吵架,甚至激烈到離家出走、淚流滿面。丁強與女演員拍攝親密戲,李璇也會吃醋,後來丁強變為了李璇轉做幕後。丁強也說,遇到李璇後,轉變了很多,為了妻子個性變溫柔了。
+
+ ## 獨/資深演員、金鐘視帝丁強病逝 愛妻李璇哀痛逾恆
+
+ ![img](https://images.chinatimes.com/newsphoto/2023-01-28/656/20230128000065.jpg)] 
+
+資深演員、曾獲金鐘獎迷你劇集視帝的丁強27日傳出病逝,享壽87歲,經紀人稍早證實,丁強因為年紀大了,過年前在家不小心跌倒,送醫之後,由於血氧低,27日中午很安詳的離開,沒有任何折磨。
+
+丁強有遺願?經紀人說,「希望我們把璇姊好好的照顧好,璇姊很低調,怕麻煩朋友,我今天28日到殯儀館才會知道情況。」他們的3個兒女已從美國趕回台。
+
+丁強與李璇偶爾仍接戲演出,熱愛演戲的丁強,近年拍過《最佳利益》、《腦波小姐》等,夫妻倆前年也一起合演過《火神的眼淚》。丁強遺作是去年7月拍了李玖哲的MV〈從來沒愛錯〉,電視影集的遺作是《你好,我是誰》、《媽,別鬧了》。
+
+丁強(右起)和李璇鶼鰈情深,前年曾合拍電視劇《火神的眼淚》。(資料照片)
+
+前年丁強受訪時曾表示,因長年有高血壓的毛病,雖年齡上適用於近日新冠肺炎疫苗接種的優先族群,但他不急著趕打疫苗,先以「不出門」作為自身首要的防疫原則。當時他也說,除了定期出門至固定的超市採購食材、水果外,幾乎都待在家。
+
+丁強跟李璇是演藝圈公認的恩愛夫妻檔,今年他們攜手走過第52個寒暑,前年丁強受訪時表示,遇到妻子之後性格大轉變,以前做喜劇演員時愛出點小風頭,不過婚後他凡事以妻子為主,個性溫柔許多,相互體貼才成就模範夫妻。
+
+李璇當年22歲嫁給丁強,恩愛了52年,兩人的好感情也成為演藝圈的一對佳話,但夫妻感情再好,難免還是會有爭吵,李璇曾表示,讓她印象最深刻的一次是和老公吵到憤而離家出走,「也不知道一個人待了多久?一個禮拜吧,有一天有人敲房門...我打開門,對方竟自稱是八號分機!」才知道原來當時她還在華視拍戲,氣到忘了報備劇組,無故消失也讓所有人焦急萬分。
+
+ ## 丁強、李璇攜手52年鶼鰈情深 曾曝婚姻長久之道靠這2招
+
+ ![img](https://images.chinatimes.com/newsphoto/2023-01-28/656/20230128000091.jpg)] 
+
+丁強與李璇這對銀色夫妻檔是演藝圈出了名的神仙伴侶,婚姻路走了52年,鶼鰈情深令人稱羨不已。李璇曾在電視節目中分享,生活中非常依賴丁強,她出門穿的衣服,都是丁強幫她挑選的,她還和丁強約好,以後要讓她「先走一步」,丁強則在旁對她說:「放心,我們會一起走下去。」面對老伴丁強的辭世,李璇心中的悲痛可想而知。
+
+李璇是大鵬國劇學校劇團訓練班出身,當年因劇團常派她參加電視平劇演出,她充滿靈氣的大眼睛,加上秀氣端莊的臉蛋,因此被電影公司相中並簽約,一口氣連拍5部武俠片,且都是第一女主角。
+
+後來台視網羅她,先在電視劇《浮生六記》演芸娘,接著在《清宮殘夢》演珍妃一鳴驚人,聲勢如日中天,同時贏得「古典美人」稱號。她後來到華視與凌波演黃梅調《七世夫妻》造成轟動,還被觀眾票選為「最喜愛的電視劇明星」第一名。
+
+李璇是在台視認識丁強的,當時20歲的李璇和大13歲、有過一次婚姻的丁強交往,當年受到不少人極力反對,2人曾分手,之後重逢,丁強以一個撿貝殼的故事再度抱得美人歸。他們婚後4年,夫妻倆決定拋下演藝工作赴美闖天下,在美開花店、超市、餐館,那幾年,仍有不少製作人邀約,他們才返台回到老本行。
+
+丁強當年演而優則導,甚至還跨界主持,演藝資歷非常豐富,他轉到幕後,其實也是受到李璇的影響,因為戲劇裡,難免會和其他的女演員演出對手戲,他為了不讓李璇吃醋才轉幕後。李璇曾坦言,再好的夫妻也會有意見不合的時候,因此當兩人吵到不可開交時,除了忍讓,她也會祭出眼淚攻勢。
+
+10多年來,李璇從信仰中找到心靈依歸,偶爾拍拍戲,74歲的她,3年前曾以大愛《大林學校》入圍金鐘最佳戲劇女配角獎,戲外則投入慈濟醫院志工。
+
+

+ 48 - 0
content/news/9/1.md

@@ -0,0 +1,48 @@
+---
+title: "Why Is Jon Cryer Not Playing Lex Luthor on Superman & Lois"
+date: 2023-12-28T22:56:29+08:00
+draft: false
+display: true
+tags: ["Jon Cryer"]
+categories: ["entertainment"]
+description: "-"
+url: "/blog/9"
+image: "https://cdn.justjaredjr.com/wp-content/uploads/headlines/2023/01/why-is-jon-cryer-not-playing-lex-luthor-on-superman-and-lois.jpg"
+type: "post"
+---
+
+
+A new actor was announced to be playing Lex Luthor in the upcoming third season of Superman & Lois on Tuesday (January 24).
+
+After the news was revealed, many were wondering why Jon Cryer couldn’t reprise the role after previously portraying the supervillain on Supergirl.
+
+Resurfaced tweets from Jon in December 2022 give more insight into why he won’t be back.
+
+
+Over a month ago, it was revealed that the CW series was casting for the role, and fans had tagged the former Two and a Half Men star, wondering why he couldn’t step in.
+
+Jon revealed that he didn’t have time as he will be starting a new show in February, however, he did get a heads up about the casting decision.
+
+
+“Would’ve been fun. But I’m not sure I could’ve played Lex on @cwsupermanlois even if they wanted to do this,” he [tweeted](https://twitter.com/MrJonCryer/status/1603062900159119361). “I’m supposed to start shooting a new series for NBC in February.”
+
+He then added, “And for the record, the folks at DC were very cool and gave me a heads up that the show was going a different way with character before they started looking. Most of the time, actors learn about this stuff when it comes out in the trades. I’m grateful they were classy about it.”
+
+Another reason as to why **Jon** wouldn’t be playing Lex in *Superman & Lois* was revealed back at the end of season two.
+
+While [**Tyler Hoechlin**](https://www.justjaredjr.com/tags/tyler-hoechlin/ "Tyler Hoechlin")‘s Superman and [**Bitsie Tulloch**](https://www.justjaredjr.com/tags/bitsie-tulloch/ "Bitsie Tulloch")‘s Lois Lane were introduced to fans on *Supergirl*, and have appeared in crossover events, they aren’t necessarily a part of the *Arrowverse* as *Superman & Lois* is standing as it’s own show.
+
+At the end of season two, it was revealed that the events of the show don’t take place on the same Earth as other shows in the *Arrowverse*.
+
+“It goes back to season 1. In the original \[pilot\] there were a lot of references to *Crisis* *\[On Infinite Earths\]* and there was a *Flash* mention, and when we were shooting, the original intent was to be part of the *Arrowverse*,” showrunner **Todd Helbing** told *[EW](https://ew.com/tv/superman-and-lois-not-in-arrowverse/#:~:text=Since%20the%20Arrowverse%20crossover%20Crisis,let%20showrunner%20Todd%20Helbing%20explain.)*.
+
+“But you know, then the pandemic hit and things changed and we couldn’t do a crossover with *Batwoman*, and all of these references to *Crisis* through the pilot rewriting phase got stripped out just to make everything a little bit more clear for a broader audience,” he continued. “Then at some point in season 1 I had a conversation with DC, and we clearly wanted to put our own stamp on the show and our take on the Superman mythology. The original intent was to be part of the *Arrowverse*, but the further along we got and now, unfortunately, with the other shows being off the air, it just felt like the best decision was to have our *Superman & Lois* not be on the same Earth as the *Arrowverse*.”
+
+He added, “Look, I get it. I get it if the fans are disappointed. It’s a lot easier to be honest, finally, to tell everybody and not feel like you’re deceiving people when I was answering these questions like ‘Why isn’t Supergirl showing up?’ or ‘Why isn’t the Flash showing up?’ I’m just glad that finally everybody knows now so we can just continue to make the best show we can.”
+
+**Todd** also noted that the Superman and Lois we saw in the *Arrowverse* and in crossovers are different versions than on their own show.
+
+“Everybody that you see, while some people may have similar backstories and some may be different, they’re different characters.”
+
+Speaking of the *Arrowverse*, [quite a few stars are returning](https://www.justjaredjr.com/2023/01/04/every-arrowverse-star-returning-for-the-flashs-9th-final-season/) from different shows to rerise their roles for the final season of *The Flash*!
+

+ 2 - 0
layouts/shortcodes/rawhtml.html

@@ -0,0 +1,2 @@
+<!-- raw html -->
+{{.Inner}}

+ 129 - 0
static/css/reset.css

@@ -0,0 +1,129 @@
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+hgroup,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-size: 100%;
+  vertical-align: baseline;
+}
+
+/* HTML5 display-role reset for older browsers */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+  display: block;
+}
+
+body {
+  line-height: 1;
+}
+
+ol,
+ul {
+  list-style: none;
+}
+
+blockquote,
+q {
+  quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+  content: '';
+  content: none;
+}
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}

+ 374 - 0
static/css/style.css

@@ -0,0 +1,374 @@
+@charset "UTF-8";
+/* 共通樣式 */
+:root {
+  --main-color: #000;
+  --sub-color: #e47140;
+  --gray-color: #727272;
+}
+
+* {
+  letter-spacing: 1px;
+  font-weight: 300;
+  font-family: "Noto Sans TC", sans-serif !important;
+}
+
+p,
+li {
+  line-height: 32px;
+}
+
+ul {
+  list-style: none;
+}
+
+img {
+  width: 100%;
+  height: auto;
+}
+
+html,
+body {
+  height: 100%;
+  margin: 0;
+}
+
+body {
+  display: flex;
+  flex-direction: column;
+  overflow-y: scroll;
+}
+
+.btn:focus,
+.form-control:focus {
+  border-color: var(--main-color) !important;
+  box-shadow: none !important;
+  outline: 0 none !important;
+}
+
+.badge {
+  font-weight: 400 !important;
+}
+
+.navbar {
+  background-color: var(--main-color) !important;
+}
+.navbar .navbar-collapse {
+  flex-grow: 0;
+}
+.navbar .navbar-brand {
+  font-size: 50px;
+  font-weight: 500;
+  font-family: "Roboto Slab", serif !important;
+  color: var(--sub-color);
+  transition: all 0.3s;
+}
+.navbar .navbar-brand:hover {
+  opacity: 0.9;
+  color: var(--sub-color);
+}
+
+.blog-post-tags .badge {
+  background-color: var(--main-color);
+}
+.blog-post-tags .badge:hover {
+  color: var(--main-color);
+  background-color: #fff;
+  border: 1px solid var(--main-color);
+}
+
+.blog-post-title {
+  margin: 10px 0 20px;
+}
+.blog-post-title a {
+  font-size: 50px;
+  font-weight: 600;
+}
+
+.pagination {
+  justify-content: center;
+}
+.pagination .page-link {
+  color: var(--main-color);
+}
+.pagination .page-item.active .page-link {
+  z-index: 3;
+  color: #fff;
+  background-color: var(--main-color);
+  border-color: var(--main-color);
+}
+
+.post-title a {
+  color: #000;
+  text-decoration: none;
+  font-size: 22px;
+  font-weight: 500;
+}
+
+.post-block-title {
+  margin-bottom: 20px;
+  position: relative;
+  font-size: 22px;
+}
+.post-block-title::after {
+  position: absolute;
+  z-index: -10;
+  top: 15px;
+  left: 0;
+  width: 100%;
+  height: 0px;
+  content: "";
+  border-bottom: 1px solid #929292;
+  bottom: 5px;
+}
+.post-block-title span {
+  font-weight: 500;
+  background: #fff;
+}
+
+.news-info {
+  margin-top: 10px;
+  line-height: 20px;
+}
+.news-info a {
+  font-size: 14px;
+  font-weight: 500;
+  color: var(--gray-color);
+  text-decoration: none;
+  transition: all 0.3s;
+}
+.news-info a:hover {
+  opacity: 0.8;
+}
+.news-info small {
+  color: var(--gray-color);
+}
+
+.news-thumbnail {
+  height: 100%;
+  -o-object-fit: cover;
+     object-fit: cover;
+}
+
+.line-clamp {
+  max-width: 150px;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.post-depiction {
+  margin: 10px 0;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  line-height: 26px;
+}
+.post-depiction a {
+  color: #7a7a7a;
+  text-decoration: none;
+}
+
+.top-btn {
+  position: fixed;
+  bottom: 15px;
+  right: 15px;
+  z-index: 10;
+  opacity: 0;
+  transition: all 0.5s;
+}
+.top-btn button {
+  border: none;
+  background: var(--sub-color);
+  border-radius: 100px;
+  width: 55px;
+  height: 55px;
+}
+
+.show {
+  opacity: 1;
+}
+
+/* sidebar.html Start */
+.news-sidebar {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 15px;
+}
+.news-sidebar .news-featured {
+  position: unset;
+}
+
+.search-btn {
+  border: 1px solid var(--main-color) !important;
+}
+.search-btn svg {
+  color: var(--main-color);
+}
+.search-btn:hover {
+  background-color: var(--main-color) !important;
+}
+.search-btn:hover svg {
+  color: #fff;
+}
+
+.tags {
+  margin: 0 5px 5px 0;
+  padding: 7px 10px !important;
+  font-size: 14px !important;
+  font-weight: 400 !important;
+  color: var(--main-color) !important;
+  border: 1px solid var(--main-color) !important;
+}
+.tags:hover {
+  color: #fff !important;
+  background-color: var(--main-color);
+}
+
+/* sidebar.html End */
+/* single.html Start */
+.blog-post.content h4 {
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 32px;
+}
+.blog-post.content h4 a {
+  padding: 5px 8px;
+  margin-right: 3px;
+  border: 1px solid #000;
+  border-radius: 5px;
+  font-size: 14px;
+}
+.blog-post.content h4 a:hover {
+  color: #fff !important;
+}
+.blog-post.content .back-link {
+  color: #000;
+  display: block;
+  text-align: center;
+  text-decoration: none;
+  transition: all 0.3s;
+}
+.blog-post.content .back-link:hover {
+  opacity: 0.7;
+}
+
+/* single.html End */
+/* content.html Start */
+.news-main {
+  height: 100%;
+  overflow: hidden;
+}
+.news-main .post-title a {
+  font-size: 34px;
+}
+.news-main img {
+  height: 100%;
+  -o-object-fit: cover;
+     object-fit: cover;
+}
+.news-main .news-info a {
+  font-size: 16px;
+}
+
+/* content.html End */
+/* focus.html Start */
+.focus-content {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 20px;
+}
+
+/* focus.html End */
+/* recent.html Start */
+.recent-content .news-list {
+  margin: 0;
+}
+.recent-content .news-list li {
+  margin: 15px 0;
+}
+.recent-content .news-list li img {
+  width: 140px;
+  height: 105px;
+  -o-object-fit: cover;
+     object-fit: cover;
+}
+.recent-content .news-list li small {
+  display: block;
+}
+.recent-content .news-list li .news-info {
+  margin-top: 0px;
+}
+.recent-content .news-list li:last-child {
+  margin: 0;
+}
+
+/* recent.html End */
+/* news-tab.html Start */
+.tab-category .nav-link {
+  color: var(--main-color);
+  font-weight: 500;
+}
+.tab-category .nav-pills .nav-link.active,
+.tab-category .nav-pills .show > .nav-link {
+  color: var(--sub-color);
+  background-color: var(--main-color);
+}
+
+.tab-content .bg-img {
+  position: relative;
+  height: 370px;
+  background-blend-mode: multiply;
+  background-size: cover;
+  background-position: center center;
+  cursor: pointer;
+}
+.tab-content .bg-img section {
+  padding: 10px 25px;
+  position: absolute;
+  bottom: 0;
+  color: #fff;
+}
+.tab-content .bg-img section a {
+  color: #fff;
+  text-decoration: none;
+}
+.tab-content .bg-img section small {
+  font-size: 12px;
+}
+
+/* news-tab.html End */
+/* news-all.html Start */
+.news-all .post-title {
+  margin: 5px auto;
+}
+.news-all .post-title a {
+  font-size: 36px;
+}
+.news-all .news-info a {
+  font-size: 18px;
+}
+.news-all hr {
+  margin: 1.5rem 0;
+}
+.news-all .first-img {
+  height: 50vh;
+  -o-object-fit: cover;
+     object-fit: cover;
+}
+.news-all .line {
+  padding: 0 12px;
+}
+
+/* news-all.html End */
+/* news-featured.html Start */
+.news-featured {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 20px;
+}
+
+/* news-featured.html End *//*# sourceMappingURL=style.css.map */

File diff suppressed because it is too large
+ 0 - 0
static/css/style.css.map


+ 407 - 0
static/css/style.scss

@@ -0,0 +1,407 @@
+/* 共通樣式 */
+
+:root {
+  --main-color: #000;
+  --sub-color: #e47140;
+  --gray-color: #727272;
+}
+
+* {
+  letter-spacing: 1px;
+  font-weight: 300;
+  font-family: "Noto Sans TC", sans-serif !important;
+}
+
+p,
+li {
+  line-height: 32px;
+}
+
+ul {
+  list-style: none;
+}
+
+img {
+  width: 100%;
+  height: auto;
+}
+
+html,
+body {
+  height: 100%;
+  margin: 0;
+}
+
+body {
+  display: flex;
+  flex-direction: column;
+  overflow-y: scroll;
+}
+
+.btn:focus,
+.form-control:focus {
+  border-color: var(--main-color) !important;
+  box-shadow: none !important;
+  outline: 0 none !important;
+}
+
+.badge {
+  font-weight: 400 !important;
+}
+
+.navbar {
+  background-color: var(--main-color) !important;
+  .navbar-collapse {
+    flex-grow: 0;
+  }
+  .navbar-brand {
+    font-size: 50px;
+    font-weight: 500;
+    font-family: "Roboto Slab", serif !important;
+    color: var(--sub-color);
+    transition: all 0.3s;
+    &:hover {
+      opacity: 0.9;
+      color: var(--sub-color);
+    }
+  }
+}
+
+.blog-post-tags {
+  .badge {
+    background-color: var(--main-color);
+    &:hover {
+      color: var(--main-color);
+      background-color: #fff;
+      border: 1px solid var(--main-color);
+    }
+  }
+}
+
+.blog-post-title {
+  margin: 10px 0 20px;
+  a {
+    font-size: 50px;
+    font-weight: 600;
+  }
+}
+
+.pagination {
+  justify-content: center;
+  .page-link {
+    color: var(--main-color);
+  }
+  .page-item.active .page-link {
+    z-index: 3;
+    color: #fff;
+    background-color: var(--main-color);
+    border-color: var(--main-color);
+  }
+}
+
+.post-title {
+  a {
+    color: #000;
+    text-decoration: none;
+    font-size: 22px;
+    font-weight: 500;
+  }
+}
+
+.post-block-title {
+  margin-bottom: 20px;
+  position: relative;
+  font-size: 22px;
+  &::after {
+    position: absolute;
+    z-index: -10;
+    top: 15px;
+    left: 0;
+    width: 100%;
+    height: 0px;
+    content: "";
+    border-bottom: 1px solid #929292;
+    bottom: 5px;
+  }
+  span {
+    font-weight: 500;
+    background: #fff;
+  }
+}
+
+.news-info {
+  margin-top: 10px;
+  line-height: 20px;
+  a {
+    font-size: 14px;
+    font-weight: 500;
+    color: var(--gray-color);
+    text-decoration: none;
+    transition: all 0.3s;
+    &:hover {
+      opacity: 0.8;
+    }
+  }
+  small {
+    color: var(--gray-color);
+  }
+}
+
+.news-thumbnail {
+  height: 100%;
+  object-fit: cover;
+}
+
+// 文字省略
+.line-clamp {
+  max-width: 150px;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.post-depiction {
+  // max-width: 350px;
+  margin: 10px 0;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  line-height: 26px;
+  a {
+    color: #7a7a7a;
+    text-decoration: none;
+  }
+}
+
+.top-btn {
+  position: fixed;
+  bottom: 15px;
+  right: 15px;
+  z-index: 10;
+  opacity: 0; // scrollTop = 0
+  transition: all .5s;
+  button {
+    border: none;
+    background: var(--sub-color);
+    border-radius: 100px;
+    width: 55px;
+    height: 55px;
+  }
+}
+
+.show {
+  opacity: 1; // scrollTop > 100
+} 
+
+/* sidebar.html Start */
+
+.news-sidebar {
+  position: sticky;
+  top: 15px;
+  .news-featured {
+    position: unset;
+  }
+}
+
+.search-btn {
+  border: 1px solid var(--main-color) !important;
+  svg {
+    color: var(--main-color);
+  }
+  &:hover {
+    background-color: var(--main-color) !important;
+    svg {
+      color: #fff;
+    }
+  }
+}
+
+.tags {
+  margin: 0 5px 5px 0;
+  padding: 7px 10px !important;
+  font-size: 14px !important;
+  font-weight: 400 !important;
+  color: var(--main-color) !important;
+  border: 1px solid var(--main-color) !important;
+  &:hover {
+    color: #fff !important;
+    background-color: var(--main-color);
+  }
+}
+
+/* sidebar.html End */
+
+/* single.html Start */
+
+.blog-post.content {
+  h4 {
+    font-size: 16px;
+    font-weight: 300;
+    line-height: 32px;
+    a {
+      padding: 5px 8px;
+      margin-right: 3px;
+      border: 1px solid #000;
+      border-radius: 5px;
+      font-size: 14px;
+      &:hover {
+        color: #fff !important;
+      }
+    }
+  }
+  .back-link {
+    color: #000;
+    display: block;
+    text-align: center;
+    text-decoration: none;
+    transition: all 0.3s;
+    &:hover {
+      opacity: 0.7;
+    }
+  }
+}
+
+/* single.html End */
+
+/* content.html Start */
+
+.news-main {
+  height: 100%;
+  overflow: hidden;
+  .post-title {
+    a {
+      font-size: 34px;
+    }
+  }
+
+  img {
+    height: 100%;
+    object-fit: cover;
+  }
+
+  .news-info {
+    a {
+      font-size: 16px;
+    }
+  }
+}
+
+/* content.html End */
+
+/* focus.html Start */
+
+.focus-content {
+  position: sticky;
+  top: 20px;
+}
+
+/* focus.html End */
+
+/* recent.html Start */
+
+.recent-content {
+  .news-list {
+    margin: 0;
+    li {
+      margin: 15px 0;
+      img {
+        width: 140px;
+        height: 105px;
+        object-fit: cover;
+      }
+      small {
+        display: block;
+      }
+      .news-info {
+        margin-top: 0px;
+      }
+    }
+    li:last-child {
+      margin: 0;
+    }
+  }
+}
+
+/* recent.html End */
+
+/* news-tab.html Start */
+
+.tab-category {
+  .nav-link {
+    color: var(--main-color);
+    font-weight: 500;
+  }
+  .nav-pills .nav-link.active,
+  .nav-pills .show > .nav-link {
+    color: var(--sub-color);
+    background-color: var(--main-color);
+  }
+}
+
+.tab-content {
+  .bg-img {
+    position: relative;
+    height: 370px;
+    // 設置背景混和模式為相乘模式
+    background-blend-mode: multiply;
+    background-size: cover;
+    background-position: center center;
+    cursor: pointer;
+    section {
+      padding: 10px 25px;
+      position: absolute;
+      bottom: 0;
+      color: #fff;
+      a {
+        color: #fff;
+        text-decoration: none;
+      }
+      small {
+        font-size: 12px;
+      }
+    }
+  }
+}
+
+/* news-tab.html End */
+
+/* news-all.html Start */
+
+.news-all {
+  .post-title {
+    margin: 5px auto;
+    a {
+      font-size: 36px;
+    }
+  }
+  .news-info {
+    a {
+      font-size: 18px;
+    }
+  }
+  hr {
+    margin: 1.5rem 0;
+  }
+  .first-img {
+    height: 50vh;
+    object-fit: cover;
+  }
+  .line {
+    padding: 0 12px;
+  }
+}
+
+/* news-all.html End */
+
+/* news-featured.html Start */
+
+.news-featured {
+  position: sticky;
+  top: 20px;
+}
+
+/* news-featured.html End */

+ 1 - 0
static/googlea343783bd909616f.html

@@ -0,0 +1 @@
+google-site-verification: googlea343783bd909616f.html

BIN
static/img/image.jpg


+ 35 - 0
static/js/main.js

@@ -0,0 +1,35 @@
+// 切換分頁時移至列表區塊
+document.addEventListener("DOMContentLoaded", () => {
+    if (document.querySelector('#news-block')) {
+        let offsetHeight = document.querySelector('#news-block').offsetTop;
+        if (offsetHeight) window.scrollTo(0, offsetHeight);
+    }
+});
+
+function historyBack() {
+    let prevPage = window.location.href;
+
+    // 若無法返回上一頁則回到首頁
+    window.history.go(-1);
+
+    setTimeout(() => {
+        if (window.location.href == prevPage) {
+            window.location.href = "/";
+        }
+    }, 500);
+}
+
+let topBtn = document.querySelector('.top-btn');
+
+window.onscroll = () => {
+    const px = 100;
+    if (document.documentElement.scrollTop > px) {
+        topBtn.classList.add("show");
+    } else {
+        topBtn.classList.remove("show");
+    }
+};
+
+topBtn.addEventListener('click', () => {
+    document.documentElement.scrollTop = 0;
+}, false);

+ 20 - 0
themes/hugo-bootstrap-5/LICENSE.md

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

+ 52 - 0
themes/hugo-bootstrap-5/README.md

@@ -0,0 +1,52 @@
+# Hugo Bootstrap v5 Theme
+
+This is a simple Hugo theme using [Bootstrap v5](https://getbootstrap.com/), inspired by [hugo-bootstrap](https://github.com/Xzya/hugo-bootstrap).
+
+## Installation
+
+You can install the theme either as a clone or submodule.
+
+I recommend the latter. From the root of your Hugo site, type the following:
+
+```shell
+$ git submodule add https://github.com/NotWoods/hugo-bootstrap-5.git themes/hugo-bootstrap-5
+$ git submodule init
+$ git submodule update
+```
+
+Now you can get updates to the theme in the future by updating the submodule:
+
+```
+$ git submodule update --remote themes/hugo-bootstrap-5
+```
+
+## Demo
+
+You can find a demo [here](https://themes.gohugo.io/theme/hugo-bootstrap-5/).
+
+## Screenshots
+
+![preview](https://raw.githubusercontent.com/NotWoods/hugo-bootstrap-5/master/images/screenshot.png)
+![preview](https://raw.githubusercontent.com/NotWoods/hugo-bootstrap-5/master/images/screenshot2.png)
+
+## Configuration
+
+Check `exampleSite/config.toml` for an example configuration.
+
+## Brand
+
+The brand can be overriden by adding your own layout `layouts/partials/brand.html`. Check `exampleSite/layouts/partials/brand.html` for an example.
+
+## Menu
+
+The navbar displays the `main` menus by default. You can find more details about how to configure it [here](https://gohugo.io/templates/menu-templates/), as well as in the `exampleSite`.
+
+## Multilanguage
+
+The theme supports multiple languages.
+
+You can find the default translation bundles in `i18n` (english and spanish by default).
+
+## License
+
+Open sourced under the [MIT license](./LICENSE.md).

+ 105 - 0
themes/hugo-bootstrap-5/exampleSite/config.toml

@@ -0,0 +1,105 @@
+baseurl = "https://example.com/"
+title = "Bootstrap demo"
+languageCode = "en-us"
+defaultContentLanguage = "en"
+
+# Pagination
+paginate = 3
+paginatePath = "page"
+
+# Theme to use
+theme = "hugo-bootstrap-5"
+
+[taxonomies]
+  tag = "tags"
+  category = "categories"
+
+# Google analytics
+# googleAnalytics = ""
+
+[languages.en]
+  languageName = "English"
+
+  # Replace the default footer message with a localized message
+  # copyright = "Hugo template made with ❤ by Xzya"
+
+  [[languages.en.menu.main]]
+    url = "/"
+    name = "Home"
+    weight = 1
+  [[languages.en.menu.main]]
+    url = "/about/"
+    name = "About"
+    weight = 2
+  [[languages.en.menu.main]]
+    url = "/contact/"
+    name = "Contact"
+    weight = 3
+
+[languages.es]
+  languageName = "Español"
+
+  [[languages.es.menu.main]]
+    url = "/es/"
+    name = "Casa"
+    weight = 1
+  [[languages.es.menu.main]]
+    url = "/about/"
+    name = "Acerca de"
+    weight = 2
+  [[languages.es.menu.main]]
+    url = "/contact/"
+    name = "Contacto"
+    weight = 3
+
+[languages.de]
+  languageName = "Deutsch"
+
+  [[languages.de.menu.main]]
+    url = "/de/"
+    name = "Start"
+    weight = 1
+  [[languages.de.menu.main]]
+    url = "/about/"
+    name = "Über uns"
+    weight = 2
+  [[languages.de.menu.main]]
+    url = "/contact/"
+    name = "Kontakt"
+    weight = 3
+
+# Links format
+
+[permalinks]
+  post = "/:year/:month/:title/"
+
+[params]
+  # Main sections (currently used for the recent posts in the sidebar)
+  mainSections = ["post"]
+
+  # Default author
+  author = "John Doe"
+
+  # Date format (default: Jan 2, 2006)
+  # date_format = "Jan 2, 2006"
+
+  # Display post summaries instead of content in list templates (default: true)
+  # truncate = false
+
+  [params.sidebar]
+    # Whether to show the recent posts or not (default: true)
+    # showRecent = false
+
+    # Whether to show the taxonomies or not (default: true)
+    # showTaxonomy = false
+
+    # How many posts to show on the sidebar (Default: 5)
+    # num_recent_posts = 5
+
+  [params.header]
+    # Color scheme for the header (default: "light")
+    # colorScheme = "dark"
+
+  [params.footer]
+    # Color scheme for the footer (default: "light")
+    # colorScheme = "dark"

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/about.de.md

@@ -0,0 +1,13 @@
+---
+title: "Über uns"
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec ex vel orci dapibus aliquam non in metus. Vestibulum posuere justo nunc, eu eleifend orci dignissim in. Vestibulum eu eros neque. Quisque luctus posuere sapien nec accumsan. Maecenas mattis, nisl ac dictum ultrices, ligula eros vehicula eros, vel fermentum diam erat eget dolor. Suspendisse vitae felis ligula. Integer quis tincidunt risus, convallis ullamcorper dui. Suspendisse potenti. Sed scelerisque volutpat leo, at mattis ipsum posuere nec. Cras id velit imperdiet, laoreet lorem et, feugiat elit. Donec vitae odio fringilla, porttitor eros vel, varius magna.
+
+Nulla molestie laoreet tortor, nec congue eros lacinia eget. Etiam aliquet odio semper felis ultrices, eget suscipit ex interdum. Proin maximus, dolor ac suscipit pretium, metus sapien pulvinar velit, posuere placerat libero urna nec dui. Praesent sed porttitor lacus. Suspendisse volutpat tempor gravida. Nam a dolor sed erat hendrerit porttitor. Sed semper eget sem et mollis. Integer ultrices luctus tellus, vitae semper augue tristique et. Phasellus sit amet ornare libero. Etiam risus tortor, suscipit non tempor vitae, sodales quis elit. Aliquam convallis nisl ac erat euismod scelerisque. Vivamus ornare lectus sit amet nisl facilisis maximus. Nulla interdum eu diam sit amet auctor. Nulla dapibus laoreet metus, et lacinia nulla facilisis ut. Duis volutpat nibh maximus ultrices sollicitudin. Curabitur orci justo, finibus ac ipsum eget, scelerisque pharetra elit.
+
+In hac habitasse platea dictumst. Suspendisse facilisis justo posuere, luctus mi vel, elementum quam. Nullam imperdiet elit a erat gravida pretium. Cras pretium metus odio, tristique interdum urna varius a. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent fringilla mauris id tincidunt varius. Aliquam erat volutpat. Suspendisse vitae euismod neque. Maecenas porta mauris a lectus suscipit, vehicula dictum odio condimentum. Ut at luctus enim, in pretium urna.
+
+Phasellus sagittis at mauris vitae mattis. Proin sed tortor fringilla, porta risus sed, faucibus odio. Maecenas fermentum vitae metus sit amet rutrum. Fusce porttitor elit vitae nisi sollicitudin luctus. Nunc purus urna, porttitor quis neque ac, viverra volutpat arcu. Sed pulvinar pellentesque placerat. Praesent iaculis, nisl non efficitur fermentum, lacus ligula porta tortor, feugiat dapibus diam justo a sapien. Sed neque odio, fermentum eu convallis non, consequat sollicitudin sem. Nullam placerat augue sed tortor ultricies vulputate. Nunc cursus elit at consectetur accumsan. Suspendisse potenti. Cras ultrices interdum dui vitae consequat. Maecenas porta mauris urna, in fermentum nisi pharetra eu.
+
+Donec a ex sit amet mauris accumsan sagittis vel eget turpis. In leo lorem, dignissim vitae justo sit amet, congue porttitor nisi. Nunc commodo mattis dapibus. Proin condimentum sagittis euismod. Quisque consectetur velit sed volutpat dignissim. Proin ac enim metus. Quisque eu arcu sapien. In hac habitasse platea dictumst. Etiam scelerisque urna risus, a sagittis diam ornare sed. 

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/about.es.md

@@ -0,0 +1,13 @@
+---
+title: "Acerca de"
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec ex vel orci dapibus aliquam non in metus. Vestibulum posuere justo nunc, eu eleifend orci dignissim in. Vestibulum eu eros neque. Quisque luctus posuere sapien nec accumsan. Maecenas mattis, nisl ac dictum ultrices, ligula eros vehicula eros, vel fermentum diam erat eget dolor. Suspendisse vitae felis ligula. Integer quis tincidunt risus, convallis ullamcorper dui. Suspendisse potenti. Sed scelerisque volutpat leo, at mattis ipsum posuere nec. Cras id velit imperdiet, laoreet lorem et, feugiat elit. Donec vitae odio fringilla, porttitor eros vel, varius magna.
+
+Nulla molestie laoreet tortor, nec congue eros lacinia eget. Etiam aliquet odio semper felis ultrices, eget suscipit ex interdum. Proin maximus, dolor ac suscipit pretium, metus sapien pulvinar velit, posuere placerat libero urna nec dui. Praesent sed porttitor lacus. Suspendisse volutpat tempor gravida. Nam a dolor sed erat hendrerit porttitor. Sed semper eget sem et mollis. Integer ultrices luctus tellus, vitae semper augue tristique et. Phasellus sit amet ornare libero. Etiam risus tortor, suscipit non tempor vitae, sodales quis elit. Aliquam convallis nisl ac erat euismod scelerisque. Vivamus ornare lectus sit amet nisl facilisis maximus. Nulla interdum eu diam sit amet auctor. Nulla dapibus laoreet metus, et lacinia nulla facilisis ut. Duis volutpat nibh maximus ultrices sollicitudin. Curabitur orci justo, finibus ac ipsum eget, scelerisque pharetra elit.
+
+In hac habitasse platea dictumst. Suspendisse facilisis justo posuere, luctus mi vel, elementum quam. Nullam imperdiet elit a erat gravida pretium. Cras pretium metus odio, tristique interdum urna varius a. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent fringilla mauris id tincidunt varius. Aliquam erat volutpat. Suspendisse vitae euismod neque. Maecenas porta mauris a lectus suscipit, vehicula dictum odio condimentum. Ut at luctus enim, in pretium urna.
+
+Phasellus sagittis at mauris vitae mattis. Proin sed tortor fringilla, porta risus sed, faucibus odio. Maecenas fermentum vitae metus sit amet rutrum. Fusce porttitor elit vitae nisi sollicitudin luctus. Nunc purus urna, porttitor quis neque ac, viverra volutpat arcu. Sed pulvinar pellentesque placerat. Praesent iaculis, nisl non efficitur fermentum, lacus ligula porta tortor, feugiat dapibus diam justo a sapien. Sed neque odio, fermentum eu convallis non, consequat sollicitudin sem. Nullam placerat augue sed tortor ultricies vulputate. Nunc cursus elit at consectetur accumsan. Suspendisse potenti. Cras ultrices interdum dui vitae consequat. Maecenas porta mauris urna, in fermentum nisi pharetra eu.
+
+Donec a ex sit amet mauris accumsan sagittis vel eget turpis. In leo lorem, dignissim vitae justo sit amet, congue porttitor nisi. Nunc commodo mattis dapibus. Proin condimentum sagittis euismod. Quisque consectetur velit sed volutpat dignissim. Proin ac enim metus. Quisque eu arcu sapien. In hac habitasse platea dictumst. Etiam scelerisque urna risus, a sagittis diam ornare sed. 

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/about.md

@@ -0,0 +1,13 @@
+---
+title: "About"
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec ex vel orci dapibus aliquam non in metus. Vestibulum posuere justo nunc, eu eleifend orci dignissim in. Vestibulum eu eros neque. Quisque luctus posuere sapien nec accumsan. Maecenas mattis, nisl ac dictum ultrices, ligula eros vehicula eros, vel fermentum diam erat eget dolor. Suspendisse vitae felis ligula. Integer quis tincidunt risus, convallis ullamcorper dui. Suspendisse potenti. Sed scelerisque volutpat leo, at mattis ipsum posuere nec. Cras id velit imperdiet, laoreet lorem et, feugiat elit. Donec vitae odio fringilla, porttitor eros vel, varius magna.
+
+Nulla molestie laoreet tortor, nec congue eros lacinia eget. Etiam aliquet odio semper felis ultrices, eget suscipit ex interdum. Proin maximus, dolor ac suscipit pretium, metus sapien pulvinar velit, posuere placerat libero urna nec dui. Praesent sed porttitor lacus. Suspendisse volutpat tempor gravida. Nam a dolor sed erat hendrerit porttitor. Sed semper eget sem et mollis. Integer ultrices luctus tellus, vitae semper augue tristique et. Phasellus sit amet ornare libero. Etiam risus tortor, suscipit non tempor vitae, sodales quis elit. Aliquam convallis nisl ac erat euismod scelerisque. Vivamus ornare lectus sit amet nisl facilisis maximus. Nulla interdum eu diam sit amet auctor. Nulla dapibus laoreet metus, et lacinia nulla facilisis ut. Duis volutpat nibh maximus ultrices sollicitudin. Curabitur orci justo, finibus ac ipsum eget, scelerisque pharetra elit.
+
+In hac habitasse platea dictumst. Suspendisse facilisis justo posuere, luctus mi vel, elementum quam. Nullam imperdiet elit a erat gravida pretium. Cras pretium metus odio, tristique interdum urna varius a. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent fringilla mauris id tincidunt varius. Aliquam erat volutpat. Suspendisse vitae euismod neque. Maecenas porta mauris a lectus suscipit, vehicula dictum odio condimentum. Ut at luctus enim, in pretium urna.
+
+Phasellus sagittis at mauris vitae mattis. Proin sed tortor fringilla, porta risus sed, faucibus odio. Maecenas fermentum vitae metus sit amet rutrum. Fusce porttitor elit vitae nisi sollicitudin luctus. Nunc purus urna, porttitor quis neque ac, viverra volutpat arcu. Sed pulvinar pellentesque placerat. Praesent iaculis, nisl non efficitur fermentum, lacus ligula porta tortor, feugiat dapibus diam justo a sapien. Sed neque odio, fermentum eu convallis non, consequat sollicitudin sem. Nullam placerat augue sed tortor ultricies vulputate. Nunc cursus elit at consectetur accumsan. Suspendisse potenti. Cras ultrices interdum dui vitae consequat. Maecenas porta mauris urna, in fermentum nisi pharetra eu.
+
+Donec a ex sit amet mauris accumsan sagittis vel eget turpis. In leo lorem, dignissim vitae justo sit amet, congue porttitor nisi. Nunc commodo mattis dapibus. Proin condimentum sagittis euismod. Quisque consectetur velit sed volutpat dignissim. Proin ac enim metus. Quisque eu arcu sapien. In hac habitasse platea dictumst. Etiam scelerisque urna risus, a sagittis diam ornare sed. 

+ 5 - 0
themes/hugo-bootstrap-5/exampleSite/content/contact.de.md

@@ -0,0 +1,5 @@
+---
+title: "Kontakt"
+---
+
+Kontaktieren Sie uns!

+ 5 - 0
themes/hugo-bootstrap-5/exampleSite/content/contact.es.md

@@ -0,0 +1,5 @@
+---
+title: "Contacto"
+---
+
+Contact us!

+ 5 - 0
themes/hugo-bootstrap-5/exampleSite/content/contact.md

@@ -0,0 +1,5 @@
+---
+title: "Contact"
+---
+
+Contact us!

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/2015-01-04-first-post.es.md

@@ -0,0 +1,13 @@
+---
+title: Primer comentario!
+date: 2015-01-05
+tags: ["demo"]
+---
+
+This is my first post, how exciting!
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
+
+<!--more-->
+
+Nullam at magna blandit, bibendum massa non, tincidunt turpis. Phasellus convallis lorem quis leo vulputate posuere. Nullam sit amet mattis lorem. Praesent et dolor feugiat, fringilla mauris iaculis, fringilla purus. Duis a finibus justo. Praesent tincidunt malesuada quam, ornare euismod sem vulputate vitae. Suspendisse consectetur ut felis vel tempor. Ut a viverra quam, quis luctus lorem. Pellentesque dolor ipsum, euismod vitae felis sit amet, fermentum consequat mi. Pellentesque eget mauris eu mi suscipit consequat.

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/2015-01-04-first-post.md

@@ -0,0 +1,13 @@
+---
+title: First post!
+date: 2015-01-05
+tags: ["demo"]
+---
+
+This is my first post, how exciting!
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
+
+<!--more-->
+
+Nullam at magna blandit, bibendum massa non, tincidunt turpis. Phasellus convallis lorem quis leo vulputate posuere. Nullam sit amet mattis lorem. Praesent et dolor feugiat, fringilla mauris iaculis, fringilla purus. Duis a finibus justo. Praesent tincidunt malesuada quam, ornare euismod sem vulputate vitae. Suspendisse consectetur ut felis vel tempor. Ut a viverra quam, quis luctus lorem. Pellentesque dolor ipsum, euismod vitae felis sit amet, fermentum consequat mi. Pellentesque eget mauris eu mi suscipit consequat.

+ 13 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/2016-01-04-first-post.de.md

@@ -0,0 +1,13 @@
+---
+title: Erster Artikel!
+date: 2015-01-05
+tags: ["demo"]
+---
+
+Das ist mein erster Artikel, wie spannend!
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+<!--more-->
+
+Nullam at magna blandit, bibendum massa non, tincidunt turpis. Phasellus convallis lorem quis leo vulputate posuere. Nullam sit amet mattis lorem. Praesent et dolor feugiat, fringilla mauris iaculis, fringilla purus. Duis a finibus justo. Praesent tincidunt malesuada quam, ornare euismod sem vulputate vitae. Suspendisse consectetur ut felis vel tempor. Ut a viverra quam, quis luctus lorem. Pellentesque dolor ipsum, euismod vitae felis sit amet, fermentum consequat mi. Pellentesque eget mauris eu mi suscipit consequat.

+ 4 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/_index.md

@@ -0,0 +1,4 @@
+---
+title: Posts
+---
+Hello world!

+ 1147 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/creating-a-new-theme.md

@@ -0,0 +1,1147 @@
+---
+author: "Michael Henderson"
+date: 2014-09-28
+linktitle: Creating a New Theme
+next: /tutorials/github-pages-blog
+prev: /tutorials/automated-deployments
+title: Creating a New Theme
+weight: 10
+---
+
+
+## Introduction
+
+This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I'll explain how Hugo uses templates and how you can organize your templates to create a theme. I won't cover using CSS to style your theme.
+
+We'll start with creating a new site with a very basic template. Then we'll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.
+
+In this tutorial, commands that you enter will start with the "$" prompt. The output will follow. Lines that start with "#" are comments that I've added to explain a point. When I show updates to a file, the ":wq" on the last line means to save the file.
+
+Here's an example:
+
+```
+## this is a comment
+$ echo this is a command
+this is a command
+
+## edit the file
+$vi foo.md
++++
+date = "2014-09-28"
+title = "creating a new theme"
++++
+
+bah and humbug
+:wq
+
+## show it
+$ cat foo.md
++++
+date = "2014-09-28"
+title = "creating a new theme"
++++
+
+bah and humbug
+$
+```
+
+
+## Some Definitions
+
+There are a few concepts that you need to understand before creating a theme.
+
+### Skins
+
+Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.
+
+You have two ways to create a skin. The simplest way is to create it in the ```layouts/``` directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the ```layouts/``` directory so it will always find the skin.
+
+Your second choice is to create it in a sub-directory of the ```themes/``` directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?
+
+The difference between creating a skin in ```layouts/``` and creating it in ```themes/``` is very subtle. A skin in ```layouts/``` can’t be customized without updating the templates and static files that it is built from. A skin created in ```themes/```, on the other hand, can be and that makes it easier for other people to use it.
+
+The rest of this tutorial will call a skin created in the ```themes/``` directory a theme.
+
+Note that you can use this tutorial to create a skin in the ```layouts/``` directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.
+
+### The Home Page
+
+The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.
+
+### Site Configuration File
+
+When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.
+
+Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your ```content/``` directory and template files in your ```themes/``` directory. It will create HTML files in your ```public/``` directory. You can change this by specifying alternate locations in the configuration file.
+
+### Content
+
+Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.
+
+#### Front Matter
+
+The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “`+++`”, YAML by “`---`”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.
+
+The information in the front matter is passed into the template before the content is rendered into HTML.
+
+#### Markdown
+
+Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.
+
+### Template Files
+
+Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it's published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.
+
+There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.
+
+Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.
+
+Please note that you can use the front matter to influence Hugo’s choice of templates.
+
+#### Single Template
+
+A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.
+
+#### List Template
+
+A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.
+
+The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.
+
+#### Partial Template
+
+A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.
+
+## Create a New Site
+
+Let's use Hugo to create a new web site. I'm a Mac user, so I'll create mine in my home directory, in the Sites folder. If you're using Linux, you might have to create the folder first.
+
+The "new site" command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.
+
+```
+$ hugo new site ~/Sites/zafta
+$ cd ~/Sites/zafta
+$ ls -l
+total 8
+drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
+drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
+-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
+$
+```
+
+Take a look in the content/ directory to confirm that it is empty.
+
+The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That's a topic for a different tutorial, so please ignore them for now.
+
+### Generate the HTML For the New Site
+
+Running the `hugo` command with no options will read all the available content and generate the HTML files. It will also copy all static files (that's everything that's not content). Since we have an empty site, it won't do much, but it will do it very quickly.
+
+```
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
+WARN: 2014/09/29 Unable to locate layout: [404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 2 ms
+$ 
+```
+
+The "`--verbose`" flag gives extra information that will be helpful when we build the template. Every line of the output that starts with "INFO:" or "WARN:" is present because we used that flag. The lines that start with "WARN:" are warning messages. We'll go over them later.
+
+We can verify that the command worked by looking at the directory again.
+
+```
+$ ls -l
+total 8
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
+-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
+drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
+$
+```
+
+See that new public/ directory? Hugo placed all generated content there. When you're ready to publish your web site, that's the place to start. For now, though, let's just confirm that we have what we'd expect from a site with no content.
+
+```
+$ ls -l public
+total 16
+-rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
+-rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
+$ 
+```
+
+Hugo created two XML files, which is standard, but there are no HTML files.
+
+
+
+### Test the New Site
+
+Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the "server" command. If it is successful, you will see output similar to the following:
+
+```
+$ hugo server --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
+WARN: 2014/09/29 Unable to locate layout: [404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 2 ms
+Serving pages from /Users/quoha/Sites/zafta/public
+Web Server is available at http://localhost:1313
+Press Ctrl+C to stop
+```
+
+Connect to the listed URL (it's on the line that starts with "Web Server"). If everything is working correctly, you should get a page that shows the following:
+
+```
+index.xml
+sitemap.xml
+```
+
+That's a listing of your public/ directory. Hugo didn't create a home page because our site has no content. When there's no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.
+
+Let’s go back and look at those warnings again.
+
+```
+WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
+WARN: 2014/09/29 Unable to locate layout: [404.html]
+```
+
+That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.
+
+Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.
+
+I like that the verbose flag causes Hugo to list the files that it's searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we'll cover later that explain the names and paths. For now, just remember that Hugo couldn't find a template for the home page and it told you so.
+
+At this point, you've got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.
+
+## Create a New Theme
+
+Hugo doesn't ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.
+
+We're going to create a new theme called "zafta." Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.
+
+All themes have opinions on content and layout. For example, Zafta uses "post" over "blog". Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.
+
+
+### Create a Skeleton
+
+Use the hugo "new" command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.
+
+```
+$ hugo new theme zafta
+
+$ ls -l
+total 8
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
+-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
+drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
+drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
+drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
+
+$ find themes -type f | xargs ls -l
+-rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
+-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
+-rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
+$ 
+```
+
+The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.
+
+Please take a minute to fill out the theme.toml and LICENSE.md files. They're optional, but if you're going to be distributing your theme, it tells the world who to praise (or blame). It's also nice to declare the license so that people will know how they can use the theme.
+
+```
+$ vi themes/zafta/theme.toml
+author = "michael d henderson"
+description = "a minimal working template"
+license = "MIT"
+name = "zafta"
+source_repo = ""
+tags = ["tags", "categories"]
+:wq
+
+## also edit themes/zafta/LICENSE.md and change
+## the bit that says "YOUR_NAME_HERE"
+```
+
+Note that the the skeleton's template files are empty. Don't worry, we'll be changing that shortly.
+
+```
+$ find themes/zafta -name '*.html' | xargs ls -l
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
+$
+```
+
+
+
+### Update the Configuration File to Use the Theme
+
+Now that we've got a theme to work with, it's a good idea to add the theme name to the configuration file. This is optional, because you can always add "-t zafta" on all your commands. I like to put it the configuration file because I like shorter command lines. If you don't put it in the configuration file or specify it on the command line, you won't use the template that you're expecting to.
+
+Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.
+
+```
+$ vi config.toml
+theme = "zafta"
+baseurl = ""
+languageCode = "en-us"
+title = "zafta - totally refreshing"
+MetaDataFormat = "toml"
+:wq
+
+$
+```
+
+### Generate the Site
+
+Now that we have an empty theme, let's generate the site again.
+
+```
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 2 ms
+$
+```
+
+Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme's directory.
+
+Let's check the public/ directory to see what Hugo's created.
+
+```
+$ ls -l public
+total 16
+drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
+-rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
+-rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
+drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
+-rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
+$
+```
+
+Notice four things:
+
+1. Hugo created a home page. This is the file public/index.html.
+2. Hugo created a css/ directory.
+3. Hugo created a js/ directory.
+4. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn't create any pages. That's because it considers a "page" to be a file created directly from a content file. It doesn't count things like the index.html files that it creates automatically.
+
+#### The Home Page
+
+Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo's warning message shows that it looks for three different templates:
+
+```
+WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
+```
+
+If it can't find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.
+
+When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.
+
+```
+$ find . -name index.html | xargs ls -l
+-rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
+$ 
+```
+
+#### The Magic of Static
+
+Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.
+
+Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo's opinion is that you'll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don't like that, you can change the directory names in your theme directory or even delete them completely. Hugo's nice enough to offer its opinion, then behave nicely if you disagree.
+
+```
+$ find themes/zafta -type d | xargs ls -ld
+drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
+drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
+drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
+drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
+drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
+drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
+drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
+drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
+$ 
+```
+
+## The Theme Development Cycle
+
+When you're working on a theme, you will make changes in the theme's directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:
+
+1. Purge the public/ directory.
+2. Run the built in web server in watch mode.
+3. Open your site in a browser.
+4. Update the theme.
+5. Glance at your browser window to see changes.
+6. Return to step 4.
+
+I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.
+
+Check the main Hugo site for information on using Git with Hugo.
+
+### Purge the public/ Directory
+
+When generating the site, Hugo will create new files and update existing ones in the ```public/``` directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.
+
+Note: If you're building on an SSD, you should ignore this. Churning on a SSD can be costly.
+
+### Hugo's Watch Option
+
+Hugo's "`--watch`" option will monitor the content/ and your theme directories for changes and rebuild the site automatically.
+
+### Live Reload
+
+Hugo's built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, "Wow, that's totally amazing."
+
+### Development Commands
+
+Use the following commands as the basis for your workflow.
+
+```
+## purge old files. hugo will recreate the public directory.
+##
+$ rm -rf public
+##
+## run hugo in watch mode
+##
+$ hugo server --watch --verbose
+```
+
+Here's sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I've said this before, it's amazing.
+
+
+```
+$ rm -rf public
+$ hugo server --watch --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 2 ms
+Watching for changes in /Users/quoha/Sites/zafta/content
+Serving pages from /Users/quoha/Sites/zafta/public
+Web Server is available at http://localhost:1313
+Press Ctrl+C to stop
+INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
+Change detected, rebuilding site
+
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 1 ms
+```
+
+## Update the Home Page Template
+
+The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme's layout/ directory:
+
+1. index.html
+2. _default/list.html
+3. _default/single.html
+
+We could update one of the default templates, but a good design decision is to update the most specific template available. That's not a hard and fast rule (in fact, we'll break it a few times in this tutorial), but it is a good generalization.
+
+### Make a Static Home Page
+
+Right now, that page is empty because we don't have any content and we don't have any logic in the template. Let's change that by adding some text to the template.
+
+```
+$ vi themes/zafta/layouts/index.html
+<!DOCTYPE html> 
+<html> 
+<body> 
+  <p>hugo says hello!</p> 
+</body> 
+</html> 
+:wq
+
+$
+```
+
+Build the web site and then verify the results.
+
+```
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+0 pages created 
+0 tags created
+0 categories created
+in 2 ms
+
+$ find public -type f -name '*.html' | xargs ls -l
+-rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
+
+$ cat public/index.html 
+<!DOCTYPE html> 
+<html> 
+<body> 
+  <p>hugo says hello!</p> 
+</html>
+```
+
+#### Live Reload
+
+Note: If you're running the server with the `--watch` option, you'll see different content in the file:
+
+```
+$ cat public/index.html 
+<!DOCTYPE html> 
+<html> 
+<body> 
+  <p>hugo says hello!</p> 
+<script>document.write('<script src="http://' 
+        + (location.host || 'localhost').split(':')[0] 
+    + ':1313/livereload.js?mindelay=10"></' 
+        + 'script>')</script></body> 
+</html>
+```
+
+When you use `--watch`, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.
+
+### Build a "Dynamic" Home Page
+
+"Dynamic home page?" Hugo's a static web site generator, so this seems an odd thing to say. I mean let's have the home page automatically reflect the content in the site every time Hugo builds it. We'll use iteration in the template to do that.
+
+#### Create New Posts
+
+Now that we have the home page generating static content, let's add some content to the site. We'll display these posts as a list on the home page and on their own page, too.
+
+Hugo has a command to generate a skeleton post, just like it does for sites and themes.
+
+```
+$ hugo --verbose new post/first.md
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 attempting to create  post/first.md of post
+INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
+ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
+
+$ 
+```
+
+That wasn't very nice, was it?
+
+The "new" command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there's a theme. For me, the workaround was to create an archetypes file specifically for the post type.
+
+```
+$ vi themes/zafta/archetypes/post.md
++++
+Description = ""
+Tags = []
+Categories = []
++++
+:wq
+
+$ find themes/zafta/archetypes -type f | xargs ls -l
+-rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
+-rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
+
+$ hugo --verbose new post/first.md
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 attempting to create  post/first.md of post
+INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
+INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
+/Users/quoha/Sites/zafta/content/post/first.md created
+
+$ hugo --verbose new post/second.md
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 attempting to create  post/second.md of post
+INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
+INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
+/Users/quoha/Sites/zafta/content/post/second.md created
+
+$ ls -l content/post
+total 16
+-rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
+-rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
+
+$ cat content/post/first.md 
++++
+Categories = []
+Description = ""
+Tags = []
+date = "2014-09-29T21:54:53-05:00"
+title = "first"
+
++++
+my first post
+
+$ cat content/post/second.md 
++++
+Categories = []
+Description = ""
+Tags = []
+date = "2014-09-29T21:57:09-05:00"
+title = "second"
+
++++
+my second post
+
+$ 
+```
+
+Build the web site and then verify the results.
+
+```
+$ rm -rf public
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+2 pages created 
+0 tags created
+0 categories created
+in 4 ms
+$
+```
+
+The output says that it created 2 pages. Those are our new posts:
+
+```
+$ find public -type f -name '*.html' | xargs ls -l
+-rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
+$
+```
+
+The new files are empty because because the templates used to generate the content are empty. The homepage doesn't show the new content, either. We have to update the templates to add the posts.
+
+### List and Single Templates
+
+In Hugo, we have three major kinds of templates. There's the home page template that we updated previously. It is used only by the home page. We also have "single" templates which are used to generate output for a single content file. We also have "list" templates that are used to group multiple pieces of content before generating output.
+
+Generally speaking, list templates are named "list.html" and single templates are named "single.html."
+
+There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.
+
+### Add Content to the Homepage
+
+The home page will contain a list of posts. Let's update its template to add the posts that we just created. The logic in the template will run every time we build the site.
+
+```
+$ vi themes/zafta/layouts/index.html 
+<!DOCTYPE html>
+<html>
+<body>
+  {{ range first 10 .Data.Pages }}
+    <h1>{{ .Title }}</h1>
+  {{ end }}
+</body>
+</html>
+:wq
+
+$
+```
+
+Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between "{{" and "}}". In our template, the commands are:
+
+1. range
+2. .Title
+3. end
+
+The "range" command is an iterator. We're going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.
+
+The ".Title" command prints the value of the "title" variable. Hugo pulls it from the front matter in the Markdown file.
+
+The "end" command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds "end." Everything between the "range" and "end" is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.
+
+It's helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.
+
+Build the web site and then verify the results.
+
+```
+$ rm -rf public
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+2 pages created 
+0 tags created
+0 categories created
+in 4 ms
+$ find public -type f -name '*.html' | xargs ls -l 
+-rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
+-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
+$ cat public/index.html 
+<!DOCTYPE html>
+<html>
+<body>
+  
+    <h1>second</h1>
+  
+    <h1>first</h1>
+  
+</body>
+</html>
+$
+```
+
+Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let's take a moment to appreciate what we've done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you've learned everything you need to know to build a theme. All that's really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.
+
+And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don't worry, though, that's all to come.
+
+### Add Content to the Posts
+
+We're working with posts, which are in the content/post/ directory. That means that their section is "post" (and if we don't do something weird, their type is also "post").
+
+Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can't find one, then it will look in the _default/ directory. There are some twists that we'll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.
+
+Now that we know the search rule, let's see what we actually have available:
+
+```
+$ find themes/zafta -name single.html | xargs ls -l
+-rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
+```
+
+We could create a new template, post/single.html, or change the default. Since we don't know of any other content types, let's start with updating the default.
+
+Remember, any content that we haven't created a template for will end up using this template. That can be good or bad. Bad because I know that we're going to be adding different types of content and we're going to end up undoing some of the changes we've made. It's good because we'll be able to see immediate results. It's also good to start here because we can start to build the basic layout for the site. As we add more content types, we'll refactor this file and move logic around. Hugo makes that fairly painless, so we'll accept the cost and proceed.
+
+Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you're building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That's a refreshing amount of joy right there.
+
+#### Update the Template File
+
+```
+$ vi themes/zafta/layouts/_default/single.html 
+<!DOCTYPE html>
+<html>
+<head>
+  <title>{{ .Title }}</title>
+</head>
+<body>
+  <h1>{{ .Title }}</h1>
+  {{ .Content }}
+</body>
+</html>
+:wq
+
+$
+```
+
+Build the web site and verify the results.
+
+```
+$ rm -rf public
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+2 pages created 
+0 tags created
+0 categories created
+in 4 ms
+
+$ find public -type f -name '*.html' | xargs ls -l
+-rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
+-rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
+-rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
+-rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
+
+$ cat public/post/first/index.html 
+<!DOCTYPE html>
+<html>
+<head>
+  <title>first</title>
+</head>
+<body>
+  <h1>first</h1>
+  <p>my first post</p>
+
+</body>
+</html>
+
+$ cat public/post/second/index.html 
+<!DOCTYPE html>
+<html>
+<head>
+  <title>second</title>
+</head>
+<body>
+  <h1>second</h1>
+  <p>my second post</p>
+
+</body>
+</html>
+$
+```
+
+Notice that the posts now have content. You can go to localhost:1313/post/first to verify.
+
+### Linking to Content
+
+The posts are on the home page. Let's add a link from there to the post. Since this is the home page, we'll update its template.
+
+```
+$ vi themes/zafta/layouts/index.html
+<!DOCTYPE html>
+<html>
+<body>
+  {{ range first 10 .Data.Pages }}
+    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
+  {{ end }}
+</body>
+</html>
+```
+
+Build the web site and verify the results.
+
+```
+$ rm -rf public
+$ hugo --verbose
+INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
+INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
+WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
+0 draft content 
+0 future content 
+2 pages created 
+0 tags created
+0 categories created
+in 4 ms
+
+$ find public -type f -name '*.html' | xargs ls -l
+-rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
+-rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
+-rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
+-rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
+
+$ cat public/index.html 
+<!DOCTYPE html>
+<html>
+<body>
+  
+    <h1><a href="/post/second/">second</a></h1>
+  
+    <h1><a href="/post/first/">first</a></h1>
+  
+</body>
+</html>
+
+$
+```
+
+### Create a Post Listing
+
+We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let's make it show a list of all posts (not just the first ten).
+
+We need to decide which template to update. This will be a listing, so it should be a list template. Let's take a quick look and see which list templates are available.
+
+```
+$ find themes/zafta -name list.html | xargs ls -l
+-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
+```
+
+As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don't have multiple content types, so let's stay consistent and update the default list template.
+
+## Creating Top Level Pages
+
+Let's add an "about" page and display it at the top level (as opposed to a sub-level like we did with posts).
+
+The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let's verify that by creating an "about" page at the top level:
+
+```
+$ vi content/about.md 
++++
+title = "about"
+description = "about this site"
+date = "2014-09-27"
+slug = "about time"
++++
+
+## about us
+
+i'm speechless
+:wq
+```
+
+Generate the web site and verify the results.
+
+```
+$ find public -name '*.html' | xargs ls -l
+-rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
+-rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
+-rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
+-rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
+-rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
+```
+
+Notice that the page wasn't created at the top level. It was created in a sub-directory named 'about-time/'. That name came from our slug. Hugo will use the slug to name the generated content. It's a reasonable default, by the way, but we can learn a few things by fighting it for this file.
+
+One other thing. Take a look at the home page.
+
+```
+$ cat public/index.html
+<!DOCTYPE html>
+<html>
+<body>
+    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
+    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
+    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
+    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
+<script>document.write('<script src="http://'
+        + (location.host || 'localhost').split(':')[0]
+		+ ':1313/livereload.js?mindelay=10"></'
+        + 'script>')</script></body>
+</html>
+```
+
+Notice that the "about" link is listed with the posts? That's not desirable, so let's change that first.
+
+```
+$ vi themes/zafta/layouts/index.html
+<!DOCTYPE html>
+<html>
+<body>
+  <h1>posts</h1>
+  {{ range first 10 .Data.Pages }}
+    {{ if eq .Type "post"}}
+      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
+    {{ end }}
+  {{ end }}
+
+  <h1>pages</h1>
+  {{ range .Data.Pages }}
+    {{ if eq .Type "page" }}
+      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
+    {{ end }}
+  {{ end }}
+</body>
+</html>
+:wq
+```
+
+Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.
+
+But, that about page still renders to about-time/index.html.
+
+```
+$ find public -name '*.html' | xargs ls -l
+-rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
+-rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
+-rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
+-rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
+-rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
+```
+
+Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let's do it the hard way and change the permalink in the configuration file.
+
+```
+$ vi config.toml
+[permalinks]
+	page = "/:title/"
+	about = "/:filename/"
+```
+
+Generate the web site and verify that this didn't work. Hugo lets "slug" or "URL" override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.
+
+## Sharing Templates
+
+If you've been following along, you probably noticed that posts have titles in the browser and the home page doesn't. That's because we didn't put the title in the home page's template (layouts/index.html). That's an easy thing to do, but let's look at a different option.
+
+We can put the common bits into a shared template that's stored in the themes/zafta/layouts/partials/ directory.
+
+### Create the Header and Footer Partials
+
+In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme's presentation.
+
+```
+$ vi themes/zafta/layouts/partials/header.html
+<!DOCTYPE html>
+<html>
+<head>
+	<title>{{ .Title }}</title>
+</head>
+<body>
+:wq
+
+$ vi themes/zafta/layouts/partials/footer.html
+</body>
+</html>
+:wq
+```
+
+### Update the Home Page Template to Use the Partials
+
+The most noticeable difference between a template call and a partials call is the lack of path:
+
+```
+{{ template "theme/partials/header.html" . }}
+```
+versus
+```
+{{ partial "header.html" . }}
+```
+Both pass in the context.
+
+Let's change the home page template to use these new partials.
+
+```
+$ vi themes/zafta/layouts/index.html
+{{ partial "header.html" . }}
+
+  <h1>posts</h1>
+  {{ range first 10 .Data.Pages }}
+    {{ if eq .Type "post"}}
+      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
+    {{ end }}
+  {{ end }}
+
+  <h1>pages</h1>
+  {{ range .Data.Pages }}
+    {{ if or (eq .Type "page") (eq .Type "about") }}
+      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
+    {{ end }}
+  {{ end }}
+
+{{ partial "footer.html" . }}
+:wq
+```
+
+Generate the web site and verify the results. The title on the home page is now "your title here", which comes from the "title" variable in the config.toml file.
+
+### Update the Default Single Template to Use the Partials
+
+```
+$ vi themes/zafta/layouts/_default/single.html
+{{ partial "header.html" . }}
+
+  <h1>{{ .Title }}</h1>
+  {{ .Content }}
+
+{{ partial "footer.html" . }}
+:wq
+```
+
+Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.
+
+## Add “Date Published” to Posts
+
+It's common to have posts display the date that they were written or published, so let's add that. The front matter of our posts has a variable named "date." It's usually the date the content was created, but let's pretend that's the value we want to display.
+
+### Add “Date Published” to the Template
+
+We'll start by updating the template used to render the posts. The template code will look like:
+
+```
+{{ .Date.Format "Mon, Jan 2, 2006" }}
+```
+
+Posts use the default single template, so we'll change that file.
+
+```
+$ vi themes/zafta/layouts/_default/single.html
+{{ partial "header.html" . }}
+
+  <h1>{{ .Title }}</h1>
+  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
+  {{ .Content }}
+
+{{ partial "footer.html" . }}
+:wq
+```
+
+Generate the web site and verify the results. The posts now have the date displayed in them. There's a problem, though. The "about" page also has the date displayed.
+
+As usual, there are a couple of ways to make the date display only on posts. We could do an "if" statement like we did on the home page. Another way would be to create a separate template for posts.
+
+The "if" solution works for sites that have just a couple of content types. It aligns with the principle of "code for today," too.
+
+Let's assume, though, that we've made our site so complex that we feel we have to create a new template type. In Hugo-speak, we're going to create a section template.
+
+Let's restore the default single template before we forget.
+
+```
+$ mkdir themes/zafta/layouts/post
+$ vi themes/zafta/layouts/_default/single.html
+{{ partial "header.html" . }}
+
+  <h1>{{ .Title }}</h1>
+  {{ .Content }}
+
+{{ partial "footer.html" . }}
+:wq
+```
+
+Now we'll update the post's version of the single template. If you remember Hugo's rules, the template engine will use this version over the default.
+
+```
+$ vi themes/zafta/layouts/post/single.html
+{{ partial "header.html" . }}
+
+  <h1>{{ .Title }}</h1>
+  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
+  {{ .Content }}
+
+{{ partial "footer.html" . }}
+:wq
+
+```
+
+Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn't.
+
+### Don't Repeat Yourself
+
+DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you're figuring that out, accept that you'll be doing some refactoring. Hugo makes that easy and fast, so it's okay to delay splitting up a template.

+ 344 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.de.md

@@ -0,0 +1,344 @@
++++
+title = "(Hu)go Template Primer"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "templates",
+    "themes",
+    "development",
+    "demo",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
++++
+
+Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for
+its template engine. It is an extremely lightweight engine that provides a very
+small amount of logic. In our experience that it is just the right amount of
+logic to be able to create a good static website. If you have used other
+template systems from different languages or frameworks you will find a lot of
+similarities in go templates.
+
+This document is a brief primer on using go templates. The [go docs][gohtmltemplate]
+provide more details.
+
+# Introduction to Go Templates
+
+Go templates provide an extremely simple template language. It adheres to the
+belief that only the most basic of logic belongs in the template or view layer.
+One consequence of this simplicity is that go templates parse very quickly.
+
+A unique characteristic of go templates is they are content aware. Variables and
+content will be sanitized depending on the context of where they are used. More
+details can be found in the [go docs][gohtmltemplate].
+
+## Basic Syntax
+
+Go lang templates are html files with the addition of variables and
+functions. 
+
+**Go variables and functions are accessible within {{ }}**
+
+Accessing a predefined variable "foo":
+
+    {{ foo }}
+
+**Parameters are separated using spaces**
+
+Calling the add function with input of 1, 2:
+
+    {{ add 1 2 }}
+
+**Methods and fields are accessed via dot notation**
+
+Accessing the Page Parameter "bar"
+
+    {{ .Params.bar }}
+
+**Parentheses can be used to group items together**
+
+    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
+
+
+## Variables
+
+Each go template has a struct (object) made available to it. In hugo each
+template is passed either a page or a node struct depending on which type of
+page you are rendering. More details are available on the
+[variables](/layout/variables) page.
+
+A variable is accessed by referencing the variable name.
+
+    <title>{{ .Title }}</title>
+
+Variables can also be defined and referenced.
+
+    {{ $address := "123 Main St."}}
+    {{ $address }}
+
+
+## Functions
+
+Go template ship with a few functions which provide basic functionality. The go
+template system also provides a mechanism for applications to extend the
+available functions with their own. [Hugo template
+functions](/layout/functions) provide some additional functionality we believe
+are useful for building websites. Functions are called by using their name
+followed by the required parameters separated by spaces. Template
+functions cannot be added without recompiling hugo.
+
+**Example:**
+
+    {{ add 1 2 }}
+
+## Includes
+
+When including another template you will pass to it the data it will be
+able to access. To pass along the current context please remember to
+include a trailing dot. The templates location will always be starting at
+the /layout/ directory within Hugo.
+
+**Example:**
+
+    {{ template "chrome/header.html" . }}
+
+
+## Logic
+
+Go templates provide the most basic iteration and conditional logic.
+
+### Iteration 
+
+Just like in go, the go templates make heavy use of range to iterate over
+a map, array or slice. The following are different examples of how to use
+range.
+
+**Example 1: Using Context**
+
+    {{ range array }} 
+        {{ . }}
+    {{ end }}
+
+**Example 2: Declaring value variable name**
+
+    {{range $element := array}} 
+        {{ $element }} 
+    {{ end }}
+
+**Example 2: Declaring key and value variable name**
+
+    {{range $index, $element := array}}
+        {{ $index }} 
+        {{ $element }} 
+    {{ end }}
+
+### Conditionals 
+
+If, else, with, or, & and provide the framework for handling conditional
+logic in Go Templates. Like range, each statement is closed with `end`.
+
+
+Go Templates treat the following values as false: 
+
+* false
+* 0 
+* any array, slice, map, or string of length zero
+
+**Example 1: If**
+
+    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
+
+**Example 2: If -> Else** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{else}}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+**Example 3: And & Or**
+
+    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+
+**Example 4: With**
+
+An alternative way of writing "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent.
+
+The first example above could be simplified as:
+
+    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
+
+**Example 5: If -> Else If** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{ else if isset .Params "caption" }}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+## Pipes
+
+One of the most powerful components of go templates is the ability to
+stack actions one after another. This is done by using pipes. Borrowed
+from unix pipes, the concept is simple, each pipeline's output becomes the
+input of the following pipe. 
+
+Because of the very simple syntax of go templates, the pipe is essential
+to being able to chain together function calls. One limitation of the
+pipes is that they only can work with a single value and that value
+becomes the last parameter of the next pipeline. 
+
+A few simple examples should help convey how to use the pipe.
+
+**Example 1 :**
+
+    {{ if eq 1 1 }} Same {{ end }}
+
+is the same as 
+
+    {{ eq 1 1 | if }} Same {{ end }}
+
+It does look odd to place the if at the end, but it does provide a good
+illustration of how to use the pipes.
+
+**Example 2 :**
+
+    {{ index .Params "disqus_url" | html }}
+
+Access the page parameter called "disqus_url" and escape the HTML.
+
+**Example 3 :**
+
+    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+    Stuff Here
+    {{ end }}
+
+Could be rewritten as 
+
+    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
+    Stuff Here 
+    {{ end }}
+
+
+## Context (aka. the dot)
+
+The most easily overlooked concept to understand about go templates is that {{ . }}
+always refers to the current context. In the top level of your template this
+will be the data set made available to it. Inside of a iteration it will have
+the value of the current item. When inside of a loop the context has changed. .
+will no longer refer to the data available to the entire page. If you need to
+access this from within the loop you will likely want to set it to a variable
+instead of depending on the context.
+
+**Example:**
+
+      {{ $title := .Site.Title }}
+      {{ range .Params.tags }}
+        <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
+      {{ end }}
+
+Notice how once we have entered the loop the value of {{ . }} has changed. We
+have defined a variable outside of the loop so we have access to it from within
+the loop.
+
+# Hugo Parameters 
+
+Hugo provides the option of passing values to the template language
+through the site configuration (for sitewide values), or through the meta
+data of each specific piece of content. You can define any values of any
+type (supported by your front matter/config format) and use them however
+you want to inside of your templates. 
+
+
+## Using Content (page) Parameters 
+
+In each piece of content you can provide variables to be used by the
+templates. This happens in the [front matter](/content/front-matter). 
+
+An example of this is used in this documentation site. Most of the pages
+benefit from having the table of contents provided. Sometimes the TOC just
+doesn't make a lot of sense. We've defined a variable in our front matter
+of some pages to turn off the TOC from being displayed. 
+
+Here is the example front matter:
+
+```
+---
+title: "Permalinks"
+date: "2013-11-18"
+aliases:
+  - "/doc/permalinks/"
+groups: ["extras"]
+groups_weight: 30
+notoc: true
+---
+```
+
+Here is the corresponding code inside of the template:
+
+      {{ if not .Params.notoc }}
+        <div id="toc" class="well col-md-4 col-sm-6">
+        {{ .TableOfContents }}
+        </div>
+      {{ end }}
+
+
+
+## Using Site (config) Parameters
+In your top-level configuration file (eg, `config.yaml`) you can define site
+parameters, which are values which will be available to you in chrome.
+
+For instance, you might declare:
+
+```yaml
+params:
+  CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
+  TwitterUser: "spf13"
+  SidebarRecentLimit: 5
+```
+
+Within a footer layout, you might then declare a `<footer>` which is only
+provided if the `CopyrightHTML` parameter is provided, and if it is given,
+you would declare it to be HTML-safe, so that the HTML entity is not escaped
+again.  This would let you easily update just your top-level config file each
+January 1st, instead of hunting through your templates.
+
+```
+{{if .Site.Params.CopyrightHTML}}<footer>
+<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
+</footer>{{end}}
+```
+
+An alternative way of writing the "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent:
+
+```
+{{with .Site.Params.TwitterUser}}<span class="twitter">
+<a href="https://twitter.com/{{.}}" rel="author">
+<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
+ alt="Twitter"></a>
+</span>{{end}}
+```
+
+Finally, if you want to pull "magic constants" out of your layouts, you can do
+so, such as in this example:
+
+```
+<nav class="recent">
+  <h1>Recent Posts</h1>
+  <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
+    <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
+  {{end}}</ul>
+</nav>
+```
+
+
+[go]: <http://golang.org/>
+[gohtmltemplate]: <http://golang.org/pkg/html/template/>

+ 344 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.es.md

@@ -0,0 +1,344 @@
++++
+title = "(Hu)go Template Primer"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "templates",
+    "themes",
+    "development",
+    "demo",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
++++
+
+Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for
+its template engine. It is an extremely lightweight engine that provides a very
+small amount of logic. In our experience that it is just the right amount of
+logic to be able to create a good static website. If you have used other
+template systems from different languages or frameworks you will find a lot of
+similarities in go templates.
+
+This document is a brief primer on using go templates. The [go docs][gohtmltemplate]
+provide more details.
+
+# Introduction to Go Templates
+
+Go templates provide an extremely simple template language. It adheres to the
+belief that only the most basic of logic belongs in the template or view layer.
+One consequence of this simplicity is that go templates parse very quickly.
+
+A unique characteristic of go templates is they are content aware. Variables and
+content will be sanitized depending on the context of where they are used. More
+details can be found in the [go docs][gohtmltemplate].
+
+## Basic Syntax
+
+Go lang templates are html files with the addition of variables and
+functions. 
+
+**Go variables and functions are accessible within {{ }}**
+
+Accessing a predefined variable "foo":
+
+    {{ foo }}
+
+**Parameters are separated using spaces**
+
+Calling the add function with input of 1, 2:
+
+    {{ add 1 2 }}
+
+**Methods and fields are accessed via dot notation**
+
+Accessing the Page Parameter "bar"
+
+    {{ .Params.bar }}
+
+**Parentheses can be used to group items together**
+
+    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
+
+
+## Variables
+
+Each go template has a struct (object) made available to it. In hugo each
+template is passed either a page or a node struct depending on which type of
+page you are rendering. More details are available on the
+[variables](/layout/variables) page.
+
+A variable is accessed by referencing the variable name.
+
+    <title>{{ .Title }}</title>
+
+Variables can also be defined and referenced.
+
+    {{ $address := "123 Main St."}}
+    {{ $address }}
+
+
+## Functions
+
+Go template ship with a few functions which provide basic functionality. The go
+template system also provides a mechanism for applications to extend the
+available functions with their own. [Hugo template
+functions](/layout/functions) provide some additional functionality we believe
+are useful for building websites. Functions are called by using their name
+followed by the required parameters separated by spaces. Template
+functions cannot be added without recompiling hugo.
+
+**Example:**
+
+    {{ add 1 2 }}
+
+## Includes
+
+When including another template you will pass to it the data it will be
+able to access. To pass along the current context please remember to
+include a trailing dot. The templates location will always be starting at
+the /layout/ directory within Hugo.
+
+**Example:**
+
+    {{ template "chrome/header.html" . }}
+
+
+## Logic
+
+Go templates provide the most basic iteration and conditional logic.
+
+### Iteration 
+
+Just like in go, the go templates make heavy use of range to iterate over
+a map, array or slice. The following are different examples of how to use
+range.
+
+**Example 1: Using Context**
+
+    {{ range array }} 
+        {{ . }}
+    {{ end }}
+
+**Example 2: Declaring value variable name**
+
+    {{range $element := array}} 
+        {{ $element }} 
+    {{ end }}
+
+**Example 2: Declaring key and value variable name**
+
+    {{range $index, $element := array}}
+        {{ $index }} 
+        {{ $element }} 
+    {{ end }}
+
+### Conditionals 
+
+If, else, with, or, & and provide the framework for handling conditional
+logic in Go Templates. Like range, each statement is closed with `end`.
+
+
+Go Templates treat the following values as false: 
+
+* false
+* 0 
+* any array, slice, map, or string of length zero
+
+**Example 1: If**
+
+    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
+
+**Example 2: If -> Else** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{else}}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+**Example 3: And & Or**
+
+    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+
+**Example 4: With**
+
+An alternative way of writing "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent.
+
+The first example above could be simplified as:
+
+    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
+
+**Example 5: If -> Else If** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{ else if isset .Params "caption" }}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+## Pipes
+
+One of the most powerful components of go templates is the ability to
+stack actions one after another. This is done by using pipes. Borrowed
+from unix pipes, the concept is simple, each pipeline's output becomes the
+input of the following pipe. 
+
+Because of the very simple syntax of go templates, the pipe is essential
+to being able to chain together function calls. One limitation of the
+pipes is that they only can work with a single value and that value
+becomes the last parameter of the next pipeline. 
+
+A few simple examples should help convey how to use the pipe.
+
+**Example 1 :**
+
+    {{ if eq 1 1 }} Same {{ end }}
+
+is the same as 
+
+    {{ eq 1 1 | if }} Same {{ end }}
+
+It does look odd to place the if at the end, but it does provide a good
+illustration of how to use the pipes.
+
+**Example 2 :**
+
+    {{ index .Params "disqus_url" | html }}
+
+Access the page parameter called "disqus_url" and escape the HTML.
+
+**Example 3 :**
+
+    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+    Stuff Here
+    {{ end }}
+
+Could be rewritten as 
+
+    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
+    Stuff Here 
+    {{ end }}
+
+
+## Context (aka. the dot)
+
+The most easily overlooked concept to understand about go templates is that {{ . }}
+always refers to the current context. In the top level of your template this
+will be the data set made available to it. Inside of a iteration it will have
+the value of the current item. When inside of a loop the context has changed. .
+will no longer refer to the data available to the entire page. If you need to
+access this from within the loop you will likely want to set it to a variable
+instead of depending on the context.
+
+**Example:**
+
+      {{ $title := .Site.Title }}
+      {{ range .Params.tags }}
+        <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
+      {{ end }}
+
+Notice how once we have entered the loop the value of {{ . }} has changed. We
+have defined a variable outside of the loop so we have access to it from within
+the loop.
+
+# Hugo Parameters 
+
+Hugo provides the option of passing values to the template language
+through the site configuration (for sitewide values), or through the meta
+data of each specific piece of content. You can define any values of any
+type (supported by your front matter/config format) and use them however
+you want to inside of your templates. 
+
+
+## Using Content (page) Parameters 
+
+In each piece of content you can provide variables to be used by the
+templates. This happens in the [front matter](/content/front-matter). 
+
+An example of this is used in this documentation site. Most of the pages
+benefit from having the table of contents provided. Sometimes the TOC just
+doesn't make a lot of sense. We've defined a variable in our front matter
+of some pages to turn off the TOC from being displayed. 
+
+Here is the example front matter:
+
+```
+---
+title: "Permalinks"
+date: "2013-11-18"
+aliases:
+  - "/doc/permalinks/"
+groups: ["extras"]
+groups_weight: 30
+notoc: true
+---
+```
+
+Here is the corresponding code inside of the template:
+
+      {{ if not .Params.notoc }}
+        <div id="toc" class="well col-md-4 col-sm-6">
+        {{ .TableOfContents }}
+        </div>
+      {{ end }}
+
+
+
+## Using Site (config) Parameters
+In your top-level configuration file (eg, `config.yaml`) you can define site
+parameters, which are values which will be available to you in chrome.
+
+For instance, you might declare:
+
+```yaml
+params:
+  CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
+  TwitterUser: "spf13"
+  SidebarRecentLimit: 5
+```
+
+Within a footer layout, you might then declare a `<footer>` which is only
+provided if the `CopyrightHTML` parameter is provided, and if it is given,
+you would declare it to be HTML-safe, so that the HTML entity is not escaped
+again.  This would let you easily update just your top-level config file each
+January 1st, instead of hunting through your templates.
+
+```
+{{if .Site.Params.CopyrightHTML}}<footer>
+<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
+</footer>{{end}}
+```
+
+An alternative way of writing the "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent:
+
+```
+{{with .Site.Params.TwitterUser}}<span class="twitter">
+<a href="https://twitter.com/{{.}}" rel="author">
+<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
+ alt="Twitter"></a>
+</span>{{end}}
+```
+
+Finally, if you want to pull "magic constants" out of your layouts, you can do
+so, such as in this example:
+
+```
+<nav class="recent">
+  <h1>Recent Posts</h1>
+  <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
+    <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
+  {{end}}</ul>
+</nav>
+```
+
+
+[go]: <http://golang.org/>
+[gohtmltemplate]: <http://golang.org/pkg/html/template/>

+ 344 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/goisforlovers.md

@@ -0,0 +1,344 @@
++++
+title = "(Hu)go Template Primer"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "templates",
+    "themes",
+    "development",
+    "demo",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
++++
+
+Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for
+its template engine. It is an extremely lightweight engine that provides a very
+small amount of logic. In our experience that it is just the right amount of
+logic to be able to create a good static website. If you have used other
+template systems from different languages or frameworks you will find a lot of
+similarities in go templates.
+
+This document is a brief primer on using go templates. The [go docs][gohtmltemplate]
+provide more details.
+
+# Introduction to Go Templates
+
+Go templates provide an extremely simple template language. It adheres to the
+belief that only the most basic of logic belongs in the template or view layer.
+One consequence of this simplicity is that go templates parse very quickly.
+
+A unique characteristic of go templates is they are content aware. Variables and
+content will be sanitized depending on the context of where they are used. More
+details can be found in the [go docs][gohtmltemplate].
+
+## Basic Syntax
+
+Go lang templates are html files with the addition of variables and
+functions. 
+
+**Go variables and functions are accessible within {{ }}**
+
+Accessing a predefined variable "foo":
+
+    {{ foo }}
+
+**Parameters are separated using spaces**
+
+Calling the add function with input of 1, 2:
+
+    {{ add 1 2 }}
+
+**Methods and fields are accessed via dot notation**
+
+Accessing the Page Parameter "bar"
+
+    {{ .Params.bar }}
+
+**Parentheses can be used to group items together**
+
+    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
+
+
+## Variables
+
+Each go template has a struct (object) made available to it. In hugo each
+template is passed either a page or a node struct depending on which type of
+page you are rendering. More details are available on the
+[variables](/layout/variables) page.
+
+A variable is accessed by referencing the variable name.
+
+    <title>{{ .Title }}</title>
+
+Variables can also be defined and referenced.
+
+    {{ $address := "123 Main St."}}
+    {{ $address }}
+
+
+## Functions
+
+Go template ship with a few functions which provide basic functionality. The go
+template system also provides a mechanism for applications to extend the
+available functions with their own. [Hugo template
+functions](/layout/functions) provide some additional functionality we believe
+are useful for building websites. Functions are called by using their name
+followed by the required parameters separated by spaces. Template
+functions cannot be added without recompiling hugo.
+
+**Example:**
+
+    {{ add 1 2 }}
+
+## Includes
+
+When including another template you will pass to it the data it will be
+able to access. To pass along the current context please remember to
+include a trailing dot. The templates location will always be starting at
+the /layout/ directory within Hugo.
+
+**Example:**
+
+    {{ template "chrome/header.html" . }}
+
+
+## Logic
+
+Go templates provide the most basic iteration and conditional logic.
+
+### Iteration 
+
+Just like in go, the go templates make heavy use of range to iterate over
+a map, array or slice. The following are different examples of how to use
+range.
+
+**Example 1: Using Context**
+
+    {{ range array }} 
+        {{ . }}
+    {{ end }}
+
+**Example 2: Declaring value variable name**
+
+    {{range $element := array}} 
+        {{ $element }} 
+    {{ end }}
+
+**Example 2: Declaring key and value variable name**
+
+    {{range $index, $element := array}}
+        {{ $index }} 
+        {{ $element }} 
+    {{ end }}
+
+### Conditionals 
+
+If, else, with, or, & and provide the framework for handling conditional
+logic in Go Templates. Like range, each statement is closed with `end`.
+
+
+Go Templates treat the following values as false: 
+
+* false
+* 0 
+* any array, slice, map, or string of length zero
+
+**Example 1: If**
+
+    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
+
+**Example 2: If -> Else** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{else}}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+**Example 3: And & Or**
+
+    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+
+**Example 4: With**
+
+An alternative way of writing "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent.
+
+The first example above could be simplified as:
+
+    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
+
+**Example 5: If -> Else If** 
+
+    {{ if isset .Params "alt" }} 
+        {{ index .Params "alt" }}
+    {{ else if isset .Params "caption" }}
+        {{ index .Params "caption" }}
+    {{ end }}
+
+## Pipes
+
+One of the most powerful components of go templates is the ability to
+stack actions one after another. This is done by using pipes. Borrowed
+from unix pipes, the concept is simple, each pipeline's output becomes the
+input of the following pipe. 
+
+Because of the very simple syntax of go templates, the pipe is essential
+to being able to chain together function calls. One limitation of the
+pipes is that they only can work with a single value and that value
+becomes the last parameter of the next pipeline. 
+
+A few simple examples should help convey how to use the pipe.
+
+**Example 1 :**
+
+    {{ if eq 1 1 }} Same {{ end }}
+
+is the same as 
+
+    {{ eq 1 1 | if }} Same {{ end }}
+
+It does look odd to place the if at the end, but it does provide a good
+illustration of how to use the pipes.
+
+**Example 2 :**
+
+    {{ index .Params "disqus_url" | html }}
+
+Access the page parameter called "disqus_url" and escape the HTML.
+
+**Example 3 :**
+
+    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
+    Stuff Here
+    {{ end }}
+
+Could be rewritten as 
+
+    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
+    Stuff Here 
+    {{ end }}
+
+
+## Context (aka. the dot)
+
+The most easily overlooked concept to understand about go templates is that {{ . }}
+always refers to the current context. In the top level of your template this
+will be the data set made available to it. Inside of a iteration it will have
+the value of the current item. When inside of a loop the context has changed. .
+will no longer refer to the data available to the entire page. If you need to
+access this from within the loop you will likely want to set it to a variable
+instead of depending on the context.
+
+**Example:**
+
+      {{ $title := .Site.Title }}
+      {{ range .Params.tags }}
+        <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
+      {{ end }}
+
+Notice how once we have entered the loop the value of {{ . }} has changed. We
+have defined a variable outside of the loop so we have access to it from within
+the loop.
+
+# Hugo Parameters 
+
+Hugo provides the option of passing values to the template language
+through the site configuration (for sitewide values), or through the meta
+data of each specific piece of content. You can define any values of any
+type (supported by your front matter/config format) and use them however
+you want to inside of your templates. 
+
+
+## Using Content (page) Parameters 
+
+In each piece of content you can provide variables to be used by the
+templates. This happens in the [front matter](/content/front-matter). 
+
+An example of this is used in this documentation site. Most of the pages
+benefit from having the table of contents provided. Sometimes the TOC just
+doesn't make a lot of sense. We've defined a variable in our front matter
+of some pages to turn off the TOC from being displayed. 
+
+Here is the example front matter:
+
+```
+---
+title: "Permalinks"
+date: "2013-11-18"
+aliases:
+  - "/doc/permalinks/"
+groups: ["extras"]
+groups_weight: 30
+notoc: true
+---
+```
+
+Here is the corresponding code inside of the template:
+
+      {{ if not .Params.notoc }}
+        <div id="toc" class="well col-md-4 col-sm-6">
+        {{ .TableOfContents }}
+        </div>
+      {{ end }}
+
+
+
+## Using Site (config) Parameters
+In your top-level configuration file (eg, `config.yaml`) you can define site
+parameters, which are values which will be available to you in chrome.
+
+For instance, you might declare:
+
+```yaml
+params:
+  CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
+  TwitterUser: "spf13"
+  SidebarRecentLimit: 5
+```
+
+Within a footer layout, you might then declare a `<footer>` which is only
+provided if the `CopyrightHTML` parameter is provided, and if it is given,
+you would declare it to be HTML-safe, so that the HTML entity is not escaped
+again.  This would let you easily update just your top-level config file each
+January 1st, instead of hunting through your templates.
+
+```
+{{if .Site.Params.CopyrightHTML}}<footer>
+<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
+</footer>{{end}}
+```
+
+An alternative way of writing the "if" and then referencing the same value
+is to use "with" instead. With rebinds the context `.` within its scope,
+and skips the block if the variable is absent:
+
+```
+{{with .Site.Params.TwitterUser}}<span class="twitter">
+<a href="https://twitter.com/{{.}}" rel="author">
+<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
+ alt="Twitter"></a>
+</span>{{end}}
+```
+
+Finally, if you want to pull "magic constants" out of your layouts, you can do
+so, such as in this example:
+
+```
+<nav class="recent">
+  <h1>Recent Posts</h1>
+  <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
+    <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
+  {{end}}</ul>
+</nav>
+```
+
+
+[go]: <http://golang.org/>
+[gohtmltemplate]: <http://golang.org/pkg/html/template/>

+ 90 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.de.md

@@ -0,0 +1,90 @@
++++
+title = "Getting Started with Hugo"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "hugo",
+    "development",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
+author = "John Doe"
+language = "es"
++++
+
+## Step 1. Install Hugo
+
+Goto [hugo releases](https://github.com/spf13/hugo/releases) and download the
+appropriate version for your os and architecture.
+
+Save it somewhere specific as we will be using it in the next step.
+
+More complete instructions are available at [installing hugo](/overview/installing/)
+
+## Step 2. Build the Docs
+
+Hugo has its own example site which happens to also be the documentation site
+you are reading right now.
+
+Follow the following steps:
+
+ 1. Clone the [hugo repository](http://github.com/spf13/hugo)
+ 2. Go into the repo
+ 3. Run hugo in server mode and build the docs
+ 4. Open your browser to http://localhost:1313
+
+Corresponding pseudo commands:
+
+    git clone https://github.com/spf13/hugo
+    cd hugo
+    /path/to/where/you/installed/hugo server --source=./docs
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Press ctrl+c to stop
+
+Once you've gotten here, follow along the rest of this page on your local build.
+
+## Step 3. Change the docs site
+
+Stop the Hugo process by hitting ctrl+c.
+
+Now we are going to run hugo again, but this time with hugo in watch mode.
+
+    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Watching for changes in /Users/spf13/Code/hugo/docs/content
+    > Press ctrl+c to stop
+
+
+Open your [favorite editor](http://vim.spf13.com) and change one of the source
+content pages. How about changing this very file to *fix the typo*. How about changing this very file to *fix the typo*.
+
+Content files are found in `docs/content/`. Unless otherwise specified, files
+are located at the same relative location as the url, in our case
+`docs/content/overview/quickstart.md`.
+
+Change and save this file.. Notice what happened in your terminal.
+
+    > Change detected, rebuilding site
+
+    > 29 pages created
+    > 0 tags index created
+    > in 26 ms
+
+Refresh the browser and observe that the typo is now fixed.
+
+Notice how quick that was. Try to refresh the site before it's finished building.. I double dare you.
+Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.
+
+## Step 4. Have fun
+
+The best way to learn something is to play with it.

+ 90 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.es.md

@@ -0,0 +1,90 @@
++++
+title = "Getting Started with Hugo"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "hugo",
+    "development",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
+author = "John Doe"
+language = "es"
++++
+
+## Step 1. Install Hugo
+
+Goto [hugo releases](https://github.com/spf13/hugo/releases) and download the
+appropriate version for your os and architecture.
+
+Save it somewhere specific as we will be using it in the next step.
+
+More complete instructions are available at [installing hugo](/overview/installing/)
+
+## Step 2. Build the Docs
+
+Hugo has its own example site which happens to also be the documentation site
+you are reading right now.
+
+Follow the following steps:
+
+ 1. Clone the [hugo repository](http://github.com/spf13/hugo)
+ 2. Go into the repo
+ 3. Run hugo in server mode and build the docs
+ 4. Open your browser to http://localhost:1313
+
+Corresponding pseudo commands:
+
+    git clone https://github.com/spf13/hugo
+    cd hugo
+    /path/to/where/you/installed/hugo server --source=./docs
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Press ctrl+c to stop
+
+Once you've gotten here, follow along the rest of this page on your local build.
+
+## Step 3. Change the docs site
+
+Stop the Hugo process by hitting ctrl+c.
+
+Now we are going to run hugo again, but this time with hugo in watch mode.
+
+    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Watching for changes in /Users/spf13/Code/hugo/docs/content
+    > Press ctrl+c to stop
+
+
+Open your [favorite editor](http://vim.spf13.com) and change one of the source
+content pages. How about changing this very file to *fix the typo*. How about changing this very file to *fix the typo*.
+
+Content files are found in `docs/content/`. Unless otherwise specified, files
+are located at the same relative location as the url, in our case
+`docs/content/overview/quickstart.md`.
+
+Change and save this file.. Notice what happened in your terminal.
+
+    > Change detected, rebuilding site
+
+    > 29 pages created
+    > 0 tags index created
+    > in 26 ms
+
+Refresh the browser and observe that the typo is now fixed.
+
+Notice how quick that was. Try to refresh the site before it's finished building.. I double dare you.
+Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.
+
+## Step 4. Have fun
+
+The best way to learn something is to play with it.

+ 90 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/hugoisforlovers.md

@@ -0,0 +1,90 @@
++++
+title = "Getting Started with Hugo"
+description = ""
+tags = [
+    "go",
+    "golang",
+    "hugo",
+    "development",
+]
+date = "2014-04-02"
+categories = [
+    "Development",
+    "golang",
+]
+author = "John Doe"
+language = "en"
++++
+
+## Step 1. Install Hugo
+
+Goto [hugo releases](https://github.com/spf13/hugo/releases) and download the
+appropriate version for your os and architecture.
+
+Save it somewhere specific as we will be using it in the next step.
+
+More complete instructions are available at [installing hugo](/overview/installing/)
+
+## Step 2. Build the Docs
+
+Hugo has its own example site which happens to also be the documentation site
+you are reading right now.
+
+Follow the following steps:
+
+ 1. Clone the [hugo repository](http://github.com/spf13/hugo)
+ 2. Go into the repo
+ 3. Run hugo in server mode and build the docs
+ 4. Open your browser to http://localhost:1313
+
+Corresponding pseudo commands:
+
+    git clone https://github.com/spf13/hugo
+    cd hugo
+    /path/to/where/you/installed/hugo server --source=./docs
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Press ctrl+c to stop
+
+Once you've gotten here, follow along the rest of this page on your local build.
+
+## Step 3. Change the docs site
+
+Stop the Hugo process by hitting ctrl+c.
+
+Now we are going to run hugo again, but this time with hugo in watch mode.
+
+    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
+    > 29 pages created
+    > 0 tags index created
+    > in 27 ms
+    > Web Server is available at http://localhost:1313
+    > Watching for changes in /Users/spf13/Code/hugo/docs/content
+    > Press ctrl+c to stop
+
+
+Open your [favorite editor](http://vim.spf13.com) and change one of the source
+content pages. How about changing this very file to *fix the typo*. How about changing this very file to *fix the typo*.
+
+Content files are found in `docs/content/`. Unless otherwise specified, files
+are located at the same relative location as the url, in our case
+`docs/content/overview/quickstart.md`.
+
+Change and save this file.. Notice what happened in your terminal.
+
+    > Change detected, rebuilding site
+
+    > 29 pages created
+    > 0 tags index created
+    > in 26 ms
+
+Refresh the browser and observe that the typo is now fixed.
+
+Notice how quick that was. Try to refresh the site before it's finished building.. I double dare you.
+Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.
+
+## Step 4. Have fun
+
+The best way to learn something is to play with it.

+ 153 - 0
themes/hugo-bootstrap-5/exampleSite/content/post/migrate-from-jekyll.md

@@ -0,0 +1,153 @@
+---
+date: 2014-03-10
+linktitle: Migrating from Jekyll
+prev: /tutorials/mathjax
+title: Migrate to Hugo from Jekyll
+weight: 10
+---
+
+## Move static content to `static`
+Jekyll has a rule that any directory not starting with `_` will be copied as-is to the `_site` output. Hugo keeps all static content under `static`. You should therefore move it all there.
+With Jekyll, something that looked like
+
+    ▾ <root>/
+        ▾ images/
+            logo.png
+
+should become
+
+    ▾ <root>/
+        ▾ static/
+            ▾ images/
+                logo.png
+
+Additionally, you'll want any files that should reside at the root (such as `CNAME`) to be moved to `static`.
+
+## Create your Hugo configuration file
+Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the [Hugo configuration documentation](/overview/configuration/) for details.
+
+## Set your configuration publish folder to `_site`
+The default is for Jekyll to publish to `_site` and for Hugo to publish to `public`. If, like me, you have [`_site` mapped to a git submodule on the `gh-pages` branch](http://blog.blindgaenger.net/generate_github_pages_in_a_submodule.html), you'll want to do one of two alternatives:
+
+1. Change your submodule to point to map `gh-pages` to public instead of `_site` (recommended).
+
+        git submodule deinit _site
+        git rm _site
+        git submodule add -b gh-pages git@github.com:your-username/your-repo.git public
+
+2. Or, change the Hugo configuration to use `_site` instead of `public`.
+
+        {
+            ..
+            "publishdir": "_site",
+            ..
+        }
+
+## Convert Jekyll templates to Hugo templates
+That's the bulk of the work right here. The documentation is your friend. You should refer to [Jekyll's template documentation](http://jekyllrb.com/docs/templates/) if you need to refresh your memory on how you built your blog and [Hugo's template](/layout/templates/) to learn Hugo's way.
+
+As a single reference data point, converting my templates for [heyitsalex.net](http://heyitsalex.net/) took me no more than a few hours.
+
+## Convert Jekyll plugins to Hugo shortcodes
+Jekyll has [plugins](http://jekyllrb.com/docs/plugins/); Hugo has [shortcodes](/doc/shortcodes/). It's fairly trivial to do a port.
+
+### Implementation
+As an example, I was using a custom [`image_tag`](https://github.com/alexandre-normand/alexandre-normand/blob/74bb12036a71334fdb7dba84e073382fc06908ec/_plugins/image_tag.rb) plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.
+
+Jekyll's plugin:
+
+    module Jekyll
+      class ImageTag < Liquid::Tag
+        @url = nil
+        @caption = nil
+        @class = nil
+        @link = nil
+        // Patterns
+        IMAGE_URL_WITH_CLASS_AND_CAPTION =
+        IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\w+)(\s+)((https?:\/\/|\/)(\S+))(\s+)"(.*?)"(\s+)->((https?:\/\/|\/)(\S+))(\s*)/i
+        IMAGE_URL_WITH_CAPTION = /((https?:\/\/|\/)(\S+))(\s+)"(.*?)"/i
+        IMAGE_URL_WITH_CLASS = /(\w+)(\s+)((https?:\/\/|\/)(\S+))/i
+        IMAGE_URL = /((https?:\/\/|\/)(\S+))/i
+        def initialize(tag_name, markup, tokens)
+          super
+          if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK
+            @class   = $1
+            @url     = $3
+            @caption = $7
+            @link = $9
+          elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION
+            @class   = $1
+            @url     = $3
+            @caption = $7
+          elsif markup =~ IMAGE_URL_WITH_CAPTION
+            @url     = $1
+            @caption = $5
+          elsif markup =~ IMAGE_URL_WITH_CLASS
+            @class = $1
+            @url   = $3
+          elsif markup =~ IMAGE_URL
+            @url = $1
+          end
+        end
+        def render(context)
+          if @class
+            source = "<figure class='#{@class}'>"
+          else
+            source = "<figure>"
+          end
+          if @link
+            source += "<a href=\"#{@link}\">"
+          end
+          source += "<img src=\"#{@url}\">"
+          if @link
+            source += "</a>"
+          end
+          source += "<figcaption>#{@caption}</figcaption>" if @caption
+          source += "</figure>"
+          source
+        end
+      end
+    end
+    Liquid::Template.register_tag('image', Jekyll::ImageTag)
+
+is written as this Hugo shortcode:
+
+    <!-- image -->
+    <figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
+        {{ with .Get "link"}}<a href="{{.}}">{{ end }}
+            <img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
+        {{ if .Get "link"}}</a>{{ end }}
+        {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
+        <figcaption>{{ if isset .Params "title" }}
+            {{ .Get "title" }}{{ end }}
+            {{ if or (.Get "caption") (.Get "attr")}}<p>
+            {{ .Get "caption" }}
+            {{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
+                {{ .Get "attr" }}
+            {{ if .Get "attrlink"}}</a> {{ end }}
+            </p> {{ end }}
+        </figcaption>
+        {{ end }}
+    </figure>
+    <!-- image -->
+
+### Usage
+I simply changed:
+
+    {% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
+
+to this (this example uses a slightly extended version named `fig`, different than the built-in `figure`):
+
+    {{%/* fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" */%}}
+
+As a bonus, the shortcode named parameters are, arguably, more readable.
+
+## Finishing touches
+### Fix content
+Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that `hugo server --watch` is your friend. Test your changes and fix errors as needed.
+
+### Clean up
+You'll want to remove the Jekyll configuration at this point. If you have anything else that isn't used, delete it.
+
+## A practical example in a diff
+[Hey, it's Alex](http://heyitsalex.net/) was migrated in less than a _father-with-kids day_ from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this [diff](https://github.com/alexandre-normand/alexandre-normand/compare/869d69435bd2665c3fbf5b5c78d4c22759d7613a...b7f6605b1265e83b4b81495423294208cc74d610).

+ 3 - 0
themes/hugo-bootstrap-5/exampleSite/layouts/partials/brand.html

@@ -0,0 +1,3 @@
+<img src="https://getbootstrap.com/docs/4.1/assets/brand/bootstrap-solid.svg" width="30" height="30" class="d-inline-block align-top"
+    alt="">
+{{ .Site.Title }}

+ 3 - 0
themes/hugo-bootstrap-5/go.mod

@@ -0,0 +1,3 @@
+module github.com/NotWoods/hugo-bootstrap-5
+
+go 1.14

+ 29 - 0
themes/hugo-bootstrap-5/i18n/de.yaml

@@ -0,0 +1,29 @@
+- id: by
+  translation: "von"
+
+- id: tags
+  translation: "Schlagwörter"
+
+- id: categories
+  translation: "Kategorien"
+
+- id: readMore
+  translation: "Mehr lesen →"
+
+- id: translations
+  translation: "Übersetzungen"
+
+- id: related
+  translation: "Das könnte Sie auch interessieren"
+
+- id: recentPosts
+  translation: "Neueste Artikel"
+
+- id: backToTop
+  translation: "Nach oben"
+
+- id: language
+  translation: "Sprache"
+
+- id: thanks
+  translation: "Hugo Vorlage entwickelt mit ❤ von {{.Xzya}}, inspiriert von {{.HugoThemeBootstrap4Blog}}"

+ 29 - 0
themes/hugo-bootstrap-5/i18n/en.yaml

@@ -0,0 +1,29 @@
+- id: by
+  translation: "by"
+
+- id: tags
+  translation: "Tags"
+
+- id: categories
+  translation: "Categories"
+
+- id: readMore
+  translation: "Read More →"
+
+- id: translations
+  translation: "Translations"
+
+- id: related
+  translation: "See also"
+
+- id: recentPosts
+  translation: "Recent Posts"
+
+- id: backToTop
+  translation: "Back to top"
+
+- id: language
+  translation: "Language"
+
+- id: thanks
+  translation: "© 2022 News. ALL RIGHTS RESERVED."

+ 29 - 0
themes/hugo-bootstrap-5/i18n/es.yaml

@@ -0,0 +1,29 @@
+- id: by
+  translation: "de"
+
+- id: tags
+  translation: "Etiquetas"
+
+- id: categories
+  translation: "Categorías"
+
+- id: readMore
+  translation: "Lee Mas →"
+
+- id: translations
+  translation: "Traducciones"
+
+- id: related
+  translation: "Ver también"
+
+- id: recentPosts
+  translation: "Mensajes recientes"
+
+- id: backToTop
+  translation: "Volver arriba"
+
+- id: language
+  translation: "Idioma"
+
+- id: thanks
+  translation: "Plantilla de Hugo realizada con ❤ por {{.Xzya}}, inspirada en {{.HugoThemeBootstrap4Blog}}"

+ 29 - 0
themes/hugo-bootstrap-5/i18n/fr.yaml

@@ -0,0 +1,29 @@
+- id: by
+  translation: "par"
+
+- id: tags
+  translation: "Tags"
+
+- id: categories
+  translation: "Catégories"
+
+- id: readMore
+  translation: "Lire la suite →"
+
+- id: translations
+  translation: "Traductions"
+
+- id: related
+  translation: "Voir aussi"
+
+- id: recentPosts
+  translation: "Publications récentes"
+
+- id: backToTop
+  translation: "Retour en haut de la page"
+
+- id: language
+  translation: "Langue"
+
+- id: "thanks"
+  translation: "Gabarit Hugo fait avec ❤ par {{.Xzya}}, inspiré par {{.HugoThemeBootstrap4Blog}}"

+ 29 - 0
themes/hugo-bootstrap-5/i18n/it.yaml

@@ -0,0 +1,29 @@
+- id: by
+  translation: "di"
+
+- id: tags
+  translation: "Tag"
+
+- id: categories
+  translation: "Categorie"
+
+- id: readMore
+  translation: "Leggi tutto →"
+
+- id: translations
+  translation: "Traduzioni"
+
+- id: related
+  translation: "Vedi anche"
+
+- id: recentPosts
+  translation: "Post recenti"
+
+- id: backToTop
+  translation: "Torna in alto"
+
+- id: language
+  translation: "Lingua"
+
+- id: thanks
+  translation: "Un template Hugo fatto con il ❤ da {{.Xzya}}, ispirato da {{.HugoThemeBootstrap4Blog}}"

BIN
themes/hugo-bootstrap-5/images/screenshot.png


BIN
themes/hugo-bootstrap-5/images/screenshot2.png


BIN
themes/hugo-bootstrap-5/images/tn.png


+ 10 - 0
themes/hugo-bootstrap-5/layouts/404.html

@@ -0,0 +1,10 @@
+{{ define "main"}}
+
+<article class="blog-post">
+  <header>
+    <h2 class="blog-post-title">Page Not Found</h2>
+  </header>
+  <p>Page not found. Go back <a href="{{ "/" | relLangURL }}">home</a>.</p>
+</article>
+
+{{ end }}

+ 53 - 0
themes/hugo-bootstrap-5/layouts/_default/baseof.html

@@ -0,0 +1,53 @@
+<!doctype html>
+<html lang="{{ .Lang }}">
+
+<head>
+  {{ partial "head" . }}
+
+  <link rel="canonical" href="{{ .Permalink }}">
+
+  <title>
+    {{ block "title" . }}
+    {{ .Title}}{{ if ne .Title .Site.Title }} | {{ .Site.Title }}{{ end }}
+    {{ end }}
+  </title>
+
+  <!-- Bootstrap CSS -->
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css"
+    integrity="sha512-GQGU0fMMi238uA+a/bdWJfpUGKUkBdgfFdgBm72SUQ6BeyWjoY/ton0tEjH+OSH9iP4Dfh+7HM0I9f5eR0L/4w=="
+    crossorigin="anonymous" referrerpolicy="no-referrer" />
+
+  <link href='{{ "css/style.css" | relURL }}' rel="stylesheet">
+
+  {{ range .AlternativeOutputFormats -}}
+  <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
+  {{ end -}}
+
+  {{ template "_internal/google_analytics_async.html" . }}
+</head>
+
+<body>
+  {{ block "header" . }}
+  {{ partial "header" . }}
+  {{ end }}
+
+  {{ block "body" . }}
+
+  {{ block "main" . }}
+  {{ end }}
+  
+  {{ end }}
+
+  {{ block "footer" . }}
+  {{ partial "footer" . }}
+  {{ end }}
+
+  <!-- Bootstrap and Popper -->
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.bundle.min.js"
+    integrity="sha512-pax4MlgXjHEPfCwcJLQhigY7+N8rt6bVvWLFyUMuxShv170X53TRzGPmPkZmGBhk+jikR8WBM4yl7A9WMHHqvg=="
+    crossorigin="anonymous" referrerpolicy="no-referrer"></script>
+    
+  <script src="/js/main.js"></script>
+</body>
+
+</html>

+ 27 - 0
themes/hugo-bootstrap-5/layouts/_default/content.html

@@ -0,0 +1,27 @@
+<!-- <article class="blog-post">
+  <header>
+    {{ partial "post-title" . }}
+    {{ partial "post-date" . }}
+    {{ partial "post-tags" . }}
+    {{ partial "post-categories" . }}
+  </header>
+  {{ .Content }}
+</article> -->
+
+<div class="news-main">
+  {{ range (.Paginate ( where .Pages "Params.type" "post" )).Pages }}
+  <section class="news-info">
+    {{ range (.GetTerms "categories") }}
+    <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+    {{ end }}
+    <small>{{ .Date | time.Format ":date_long" }}</small>
+  </section>
+  <h2 class="post-title my-3">
+    <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+  </h2>
+  <a href="{{ .Permalink }}">
+    <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+  </a>
+  {{ end }}
+  {{ template "_internal/pagination.html" . }}
+</div>

+ 115 - 0
themes/hugo-bootstrap-5/layouts/_default/list.html

@@ -0,0 +1,115 @@
+{{ define "main" }}
+
+{{ $truncate := default true .Site.Params.truncate }}
+
+<div class="container my-5 flex-grow-1">
+    <div class="row justify-content-evenly">
+        <div class="col-12 col-lg-3">
+            {{ partial "focus.html" . }}
+        </div>
+        <div class="col-12 col-lg-6">
+            {{ partial "news-main.html" . }}
+        </div>
+        <div class="col-12 col-lg-3 mt-5 pt-5 mt-lg-0 pt-lg-0">
+            {{ partial "news-featured.html" . }}
+        </div>
+    </div>
+
+    {{ partial "news-tab.html" . }}
+
+    <div class="row mt-5 pt-5" id="news-block">
+        <div class="col-12 col-lg-9">
+            <h3 class="post-block-title">
+                <span>更多新聞</span>
+            </h3>
+
+            <div class="row news-all">
+                {{ $paginator := .Paginate (where .Data.Pages "Type" "post") }}
+                {{ range $index, $element := $paginator.Pages }}
+                {{ if (eq $index 0) }}
+
+                <div class="col-12">
+                    <article>
+                        <a href="{{ .Permalink }}">
+                            <img class="img-fluid first-img" src="{{ .Params.image | relURL }}" alt="" />
+                        </a>
+                        <section class="news-info">
+                            {{ range (.GetTerms "categories") }}
+                            <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+                            {{ end }}
+                            <small>{{ .Date | time.Format ":date_long" }}</small>
+                        </section>
+                        <h2 class="post-title">
+                            <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+                        </h2>
+                        <p class="post-depiction">
+                            <a href="{{ .Permalink }}">{{ .Summary }}</a>
+                        </p>
+                        <hr>
+                    </article>
+                </div>
+
+                {{ else }}
+
+                <div class="col-12">
+                    <div class="row align-items-center">
+                        <div class="col-6">
+                            <a href="{{ .Permalink }}">
+                                <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+                            </a>
+                        </div>
+                        <div class="col-6">
+                            <article>
+                                <section class="news-info">
+                                    {{ range (.GetTerms "categories") }}
+                                    <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+                                    {{ end }}
+                                    <small>{{ .Date | time.Format ":date_long" }}</small>
+                                </section>
+                                <h2 class="post-title">
+                                    <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+                                </h2>
+                            </article>
+                        </div>
+                        <span class="line">
+                            <hr>
+                        </span>
+                    </div>
+                </div>
+                {{ end }}
+                {{ end }}
+            </div>
+
+            {{ partial "paginator" . }}
+        </div>
+        <div class="col-12 col-lg-3">
+            {{ partial "news-featured.html" . }}
+        </div>
+    </div>
+</div>
+{{ if .Content }}
+<header>
+    <h1 class="blog-post-title">
+        <a class="text-dark text-decoration-none" href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+    </h1>
+    <hr>
+</header>
+<section class="blog-post">
+    {{ .Content }}
+</section>
+{{ end }}
+
+<!-- {{ $paginator := .Paginate .Pages }}
+{{ range $paginator.Pages }}
+
+    {{ if $truncate }}
+        {{ .Render "summary" }}
+    {{ else }}
+        {{ .Render "content" }}
+    {{ end }}
+
+{{ end }}
+
+{{ partial "paginator" . }} -->
+
+{{ end }}

+ 45 - 0
themes/hugo-bootstrap-5/layouts/_default/single.html

@@ -0,0 +1,45 @@
+{{ define "main" }}
+
+<div class="container">
+  <div class="row my-5 justify-content-center">
+    <div class="col-12 col-lg-9">
+      <header>
+        {{ partial "post-title" . }}
+        <!-- {{ partial "post-tags" . }} -->
+        <!-- {{ partial "post-categories" . }} -->
+        <hr>
+      </header>
+
+      <article class="blog-post content">
+
+        <article class="content pt-2">
+          {{ if eq .Params.image "cover.jpg" }}
+          {{ else }}
+          <img src="{{.Params.Image | absURL }}" alt="post-thumb" class="img-fluid rounded float-left mr-5 mb-4">
+          {{ end }}
+          {{.Content}}
+        </article>
+      
+        <!-- {{ partial "translations.html" . }} -->
+        <!-- {{ partial "related" . }} -->
+        <hr>
+        <a href="javascript:;" onclick="historyBack()" class="back-link mt-4">
+          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-left mb-1"
+            viewBox="0 0 16 16">
+            <path fill-rule="evenodd"
+              d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z" />
+          </svg>
+          <span>回到上一頁</span>
+        </a>
+      </article>
+
+    </div>
+    <div class="col-12 col-lg-3 position-relative mt-2 mt-lg-0">
+      {{ partial "sidebar.html" . }}
+      <!-- {{ partial "news-featured.html" . }}
+      {{ partial "taxonomies.html" . }} -->
+    </div>
+  </div>
+</div>
+
+{{ end }}

+ 45 - 0
themes/hugo-bootstrap-5/layouts/_default/taxonomy.html

@@ -0,0 +1,45 @@
+{{ define "main" }}
+<div class="container my-5">
+  <div class="row">
+    <div class="col-9">
+      <div class="row align-items-center">
+        {{ range .Paginator.Pages }}
+        <div class="col-12">
+          <div class="row">
+            <div class="col-6">
+              <a href="{{ .Permalink }}">
+                <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+              </a>
+            </div>
+            <div class="col-6">
+              <article>
+                <section class="news-info">
+                  {{ range (.GetTerms "categories") }}
+                  <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+                  {{ end }}
+                  <small>{{ .Date | time.Format ":date_long" }}</small>
+                </section>
+                <h2 class="post-title">
+                  <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+                </h2>
+              </article>
+            </div>
+            <span class="line">
+              <hr>
+            </span>
+          </div>
+        </div>
+        {{ end }}
+      </div>
+    </div>
+
+    <div class="col-3">
+      {{ partial "sidebar.html" . }}
+    </div>
+  </div>
+<div class="py-3">
+  {{ template "_internal/pagination.html" . }}
+</div>
+</div>
+
+{{ end }}

+ 64 - 0
themes/hugo-bootstrap-5/layouts/index.html

@@ -0,0 +1,64 @@
+{{ define "main" }}
+
+{{ $truncate := default true .Site.Params.truncate }}
+
+{{ if .Content }}
+
+<header>
+  <h1 class="blog-post-title">
+    <a class="text-dark text-decoration-none" href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+  </h1>
+  <hr>
+</header>
+<section class="blog-post">
+  {{ .Content }}
+</section>
+{{ end }}
+
+{{ $paginator := .Paginate (where .Pages "Section" "in" .Site.Params.mainSections) }}
+{{ range $paginator.Pages }}
+
+<!-- {{ .Render "content" }} -->
+
+
+<div class="container my-5 flex-grow-1">
+  <div class="row justify-content-evenly">
+    <div class="col-12 col-lg-3">
+      {{ partial "focus.html" . }}
+    </div>
+
+    <div class="col-12 col-lg-6">
+      {{ partial "news-main.html" . }}
+    </div>
+
+    <div class="col-12 col-lg-3 mt-5 pt-5 mt-lg-0 pt-lg-0">
+      {{ partial "news-featured.html" . }}
+    </div>
+
+  </div>
+
+  {{ partial "news-tab.html" . }}
+
+ <div class="row mt-5 pt-5">
+  <div class="col-12 col-lg-9">
+    {{ partial "news-all.html" . }}
+    {{ partial "paginator" . }}
+  </div>
+  <div class="col-12 col-lg-3">
+    {{ partial "news-featured.html" . }}
+  </div>
+ </div>
+</div>
+
+<div class="top-btn">
+<button>
+  <svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" fill="currentColor" class="bi bi-arrow-up-short" viewBox="0 0 16 16">
+    <path fill-rule="evenodd" d="M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z"/>
+  </svg>
+</button>
+</div>
+
+<!-- {{ partial "paginator" . }} -->
+
+{{ end }}
+{{ end }}

+ 1 - 0
themes/hugo-bootstrap-5/layouts/partials/brand.html

@@ -0,0 +1 @@
+{{ .Site.Title }}

+ 38 - 0
themes/hugo-bootstrap-5/layouts/partials/focus.html

@@ -0,0 +1,38 @@
+<div class="focus-content">
+    <h3 class="post-block-title">
+        <span>焦點新聞</span>
+    </h3>
+
+    {{ range first 3 (where .Site.Pages "Params.type" "focus") }}
+
+    <a href="{{ .Permalink }}">
+        <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+    </a>
+    <section class="news-info">
+        {{ range (.GetTerms "categories") }}
+        <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+        {{ end }}
+        <small>{{ .Date | time.Format ":date_long" }}</small>
+    </section>
+    <h2 class="post-title mb-3">
+        <a href="{{ .Permalink }}">{{ .Params.title }}</a>
+    </h2>
+
+    {{ end }}
+
+    <!-- {{ $t := $.Site.GetPage "/focus" }}
+    {{ range $index, $element := first 3 ( where $t.Pages "Params.display" true) }}
+    <a href="{{ .Permalink }}">
+        <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+    </a>
+    <section class="news-info">
+        {{ range (.GetTerms "categories") }}
+        <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+        {{ end }}
+        <small>{{ .Date | time.Format ":date_long" }}</small>
+    </section>
+    <h2 class="post-title mb-3">
+        <a href="{{ .Permalink }}">{{ .Params.title }}</a>
+    </h2>
+    {{ end }} -->
+</div>

+ 12 - 0
themes/hugo-bootstrap-5/layouts/partials/footer.html

@@ -0,0 +1,12 @@
+{{ $Xzya := "<a href='https://github.com/NotWoods'>Tiger Oakes</a>" }}
+{{ $HugoThemeBootstrap4Blog := "<a href='https://github.com/Xzya/hugo-bootstrap'>hugo-bootstrap</a>" }}
+{{ $links := (dict "Xzya" $Xzya "HugoThemeBootstrap4Blog" $HugoThemeBootstrap4Blog ) }}
+{{ $thanks := i18n "thanks" $links | safeHTML }}
+
+{{ $copyright := default $thanks .Site.Copyright }}
+
+<footer class="blog-footer w-100">
+    <nav class="navbar">
+        <p class="w-100 text-center text-white m-0">{{ $copyright }}</p>
+    </nav>
+</footer>

+ 19 - 0
themes/hugo-bootstrap-5/layouts/partials/head.html

@@ -0,0 +1,19 @@
+<meta charset="utf-8">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+{{ template "_internal/opengraph.html" . }}
+{{ template "_internal/twitter_cards.html" . }}
+
+<!-- Google Font -->
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;500&family=Roboto+Slab:wght@600&display=swap" rel="stylesheet">
+
+{{ with .Site.Params.style }}
+<link href="{{ "/css/style" | relURL }}.{{ . }}.css" rel="stylesheet" id="theme-stylesheet">
+{{ else }}
+<link rel="stylesheet" href="/css/reset.css">
+<link href="{{ "/css/style.css" | relURL }}" rel="stylesheet" id="theme-stylesheet">
+<!-- <link href="{{ "css/style.default.css" | relURL }}" rel="stylesheet" id="theme-stylesheet"> -->
+{{ end }}

+ 44 - 0
themes/hugo-bootstrap-5/layouts/partials/header.html

@@ -0,0 +1,44 @@
+{{ $colorScheme := default "dark" .Site.Params.header.colorScheme }}
+
+<header class="blog-header">
+    <nav class="navbar navbar-expand-md navbar-{{ $colorScheme }} py-3">
+        <div class="container-fluid justify-content-center">
+            <a class="navbar-brand" href="{{ .Site.BaseURL | relLangURL }}">
+                {{ partial "brand" . }}
+            </a>
+            <!-- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false"
+                aria-label="Toggle navigation">
+                <span class="navbar-toggler-icon"></span>
+            </button> -->
+            <!-- <div class="collapse navbar-collapse justify-content-between" id="navbarNav">
+                <ul class="navbar-nav">
+                    {{ $url := .RelPermalink | relLangURL }}
+                    {{ range .Site.Menus.main }}
+                    <li class="nav-item">
+                        {{ if eq (hasPrefix .URL "mailto:") true }}
+                            <a class="nav-link" href="{{ .URL }}">{{ .Name }}</a>
+                        {{ else }}
+                            {{ $menuUrl := .URL | relLangURL }}
+                            <a class="nav-link {{ if eq $url $menuUrl }}active{{end}}" href="{{ $menuUrl }}">{{ .Name }}</a>
+                        {{ end }}
+                    </li>
+                    {{ end }}
+                </ul>
+                {{ if gt (len .Site.Home.AllTranslations) 1 }}
+                <ul class="navbar-nav">
+                    <li class="nav-item dropdown">
+                        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+                            {{ i18n "language" }}
+                        </a>
+                        <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
+                            {{ range .Site.Home.AllTranslations }}
+                                <li><a class="dropdown-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
+                            {{ end }}
+                        </ul>
+                    </li>
+                </ul>
+                {{ end }}
+            </div> -->
+        </div>
+    </nav>
+</header>

+ 59 - 0
themes/hugo-bootstrap-5/layouts/partials/news-all.html

@@ -0,0 +1,59 @@
+<h3 class="post-block-title">
+  <span>更多新聞</span>
+</h3>
+<div class="row news-all">
+  {{ range $index, $element := (where site.RegularPages "Type" "post") | first 10 }}
+
+  {{ if (eq $index 0) }}
+
+  <div class="col-12">
+    <article>
+      <a href="{{ .Permalink }}">
+        <img class="img-fluid first-img" src="{{ .Params.image | relURL }}" alt="" />
+      </a>
+      <section class="news-info">
+        {{ range (.GetTerms "categories") }}
+        <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+        {{ end }}
+        <small>{{ .Date | time.Format ":date_long" }}</small>
+      </section>
+      <h2 class="post-title">
+        <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+      </h2>
+      <p class="post-depiction">
+        <a href="{{ .Permalink }}">{{ .Summary }}</a>
+      </p>
+      <hr>
+    </article>
+  </div>
+
+  {{ else }}
+
+  <div class="col-12">
+    <div class="row align-items-center">
+      <div class="col-6">
+        <a href="{{ .Permalink }}">
+          <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+        </a>
+      </div>
+      <div class="col-6">
+        <article>
+          <section class="news-info">
+            {{ range (.GetTerms "categories") }}
+            <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+            {{ end }}
+            <small>{{ .Date | time.Format ":date_long" }}</small>
+          </section>
+          <h2 class="post-title">
+            <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+          </h2>
+        </article>
+      </div>
+      <span class="line">
+        <hr>
+      </span>
+    </div>
+  </div>
+  {{ end }}
+  {{ end }}
+</div>

+ 46 - 0
themes/hugo-bootstrap-5/layouts/partials/news-featured.html

@@ -0,0 +1,46 @@
+<div class="news-featured">
+  <h3 class="post-block-title">
+    <span>為您精選</span>
+  </h3>
+    {{ range first 5 (where .Site.Pages "Params.type" "featured") }}
+    <a href="{{ .Permalink }}">
+      <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+    </a>
+
+    <section class="news-info">
+      {{ range (.GetTerms "categories") }}
+      <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+      {{ end }}
+      <small>{{ .Date | time.Format ":date_long" }}</small>
+    </section>
+    <h2 class="post-title mb-3">
+      <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+    </h2>
+    <!-- <div class="col-12 col-sm-6 col-md-4 col-xl-3">
+      <div class="card h-100">
+        <div class="card-header">
+          <a href="{{ .RelPermalink }}">
+            <h2 class="card-title text-center mb-0">
+              {{ .Title }}
+            </h2>
+          </a>
+        </div>
+        <a href="{{ .RelPermalink }}" class="h-100">
+          <div class="card-body h-100 d-flex flex-column justify-content-center">
+            <section class="d-flex">
+              <h4>電話:</h4>
+              <h4>{{ .Params.phone }}</h4>
+            </section>
+            <section class="d-flex">
+              <h4 class="m-0">地址:</h4>
+              <h4 class="m-0">{{ .Params.address }}</h4>
+            </section>
+            {{ range .Params.tags }}
+              <span class="badge bg-secondary">{{.}}</span>
+              {{ end }}
+          </div>
+        </a>
+      </div>
+    </div> -->
+    {{ end }}
+  </div>

+ 42 - 0
themes/hugo-bootstrap-5/layouts/partials/news-main.html

@@ -0,0 +1,42 @@
+<div class="news-main mt-5 mt-lg-0">
+    {{ range first 1 (where .Site.Pages "Params.type" "main") }}
+    <section class="news-info">
+      {{ range (.GetTerms "categories") }}
+      <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+      {{ end }}
+      <small>{{ .Date | time.Format ":date_long" }}</small>
+    </section>
+    <h2 class="post-title my-3">
+      <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+    </h2>
+    <a href="{{ .Permalink }}">
+      <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+    </a>
+    <!-- <div class="col-12 col-sm-6 col-md-4 col-xl-3">
+      <div class="card h-100">
+        <div class="card-header">
+          <a href="{{ .RelPermalink }}">
+            <h2 class="card-title text-center mb-0">
+              {{ .Title }}
+            </h2>
+          </a>
+        </div>
+        <a href="{{ .RelPermalink }}" class="h-100">
+          <div class="card-body h-100 d-flex flex-column justify-content-center">
+            <section class="d-flex">
+              <h4>電話:</h4>
+              <h4>{{ .Params.phone }}</h4>
+            </section>
+            <section class="d-flex">
+              <h4 class="m-0">地址:</h4>
+              <h4 class="m-0">{{ .Params.address }}</h4>
+            </section>
+            {{ range .Params.tags }}
+              <span class="badge bg-secondary">{{.}}</span>
+              {{ end }}
+          </div>
+        </a>
+      </div>
+    </div> -->
+    {{ end }}
+  </div>

+ 87 - 0
themes/hugo-bootstrap-5/layouts/partials/news-tab.html

@@ -0,0 +1,87 @@
+{{ $p := slice }}
+{{ range site.Taxonomies.categories }}
+{{ $p = $p | append .Page }}
+{{ end }}
+
+<div class="d-flex align-items-center position-relative tab-category mt-5 pt-5 pb-3">
+  <section class="w-100">
+    <h3 class="post-block-title">
+      <span>推薦主題</span>
+    </h3>
+  </section>
+
+  {{ $p := slice }}
+  {{ range site.Taxonomies.categories }}
+  {{ $p = $p | append .Page }}
+  {{ end }}
+
+  <ul class="nav nav-pills mb-3 ps-3 position-absolute" id="pills-tab" role="tablist"
+    style="right: 0; background: #fff;">
+    {{ range $index, $element := first 5 $p }}
+    <li class="nav-item" role="presentation">
+      <button class="nav-link {{ if (eq $index 0) }}active{{ end }}" id="pills-home-tab-{{$index}}"
+        data-bs-toggle="pill" data-bs-target="#pills-home-{{$index}}" type="button" role="tab"
+        aria-controls="pills-home-{{$index}}" aria-selected="true">{{ .LinkTitle }}</button>
+    </li>
+    {{ end }}
+  </ul>
+</div>
+
+<div class="tab-content" id="pills-tabContent">
+
+  {{ range $index, $element := first 6 $p }}
+
+  <div class="tab-pane fade show {{ if (eq $index 0) }}active{{ end }}" id="pills-home-{{$index}}" role="tabpanel"
+    aria-labelledby="pills-home-tab">
+
+    <div class="row">
+
+      {{ $t := slice .LinkTitle }}
+      {{ range $index, $element := where .Site.Pages ".Params.categories" "intersect" $t }}
+
+      {{ if or (eq $index 0) (eq $index 1) }}
+      <div class="col-12 col-lg-6 mt-3">
+        <div class="bg-img"
+          style="background-image: linear-gradient(to bottom,rgba(0,0,0, 0) 50%, rgba(0,0,0, 100)),url('{{ .Params.image | relURL }}');"
+          onclick="location.href='{{ .Permalink }}'">
+          <section>
+            {{ range (.GetTerms "categories") }}
+            <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+            {{ end }}
+            <small>{{ .Date | time.Format ":date_long" }}</small>
+            <h2 class="post-title">
+              <a href="{{ .Permalink }}">{{ .Params.title }}</a>
+            </h2>
+          </section>
+        </div>
+      </div>
+      {{ else if or (eq $index 2) (eq $index 3) (eq $index 4) (eq $index 5) }}
+      <div class="col-12 col-lg-6 mt-3">
+        <div class="row">
+          <div class="col-5">
+            <a href="{{ .Permalink }}">
+              <img src="{{ .Params.image | relURL }}" alt="" class="news-thumbnail">
+            </a>
+          </div>
+          <div class="col-7 border-bottom">
+            <section class="news-info">
+              {{ range (.GetTerms "categories") }}
+              <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+              {{ end }}
+              <small>{{ .Date | time.Format ":date_long" }}</small>
+            </section>
+            <h2 class="post-title">
+              <a href="{{ .Permalink }}">{{ .Params.title }}</a>
+            </h2>
+            <p class="post-depiction">
+              <a href="{{ .Permalink }}">{{ .Summary }}</a>
+            </p>
+          </div>
+        </div>
+      </div>
+      {{ end }}
+      {{ end }}
+    </div>
+  </div>
+  {{ end }}
+</div>

+ 16 - 0
themes/hugo-bootstrap-5/layouts/partials/news.html

@@ -0,0 +1,16 @@
+
+    {{ $t := $.Site.GetPage "/news" }}
+    {{ range $index, $element := first 1 ( where $t.Pages "Params.draft" false) }}
+    <section class="news-info">
+        {{ range (.GetTerms "categories") }}
+        <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+        {{ end }}
+        <small>{{ .Date | time.Format ":date_long" }}</small>
+    </section>
+    <h2 class="post-title">
+        <a href="{{ .Params.url }}">{{ .Params.title }}</a>
+    </h2>
+    <a href="{{ .Permalink }}">
+        <img class="img-fluid" src="{{ .Params.image | relURL }}" alt="" />
+    </a>
+    {{ end }}

+ 45 - 0
themes/hugo-bootstrap-5/layouts/partials/paginator.html

@@ -0,0 +1,45 @@
+{{ $pag := $.Paginator }}
+{{ if gt $pag.TotalPages 1 }}
+<nav class="blog-pagination">
+    <ul class="pagination justify-content-center">
+        {{ with $pag.First }}
+        <li class="page-item">
+            <a class="page-link" href="{{ .URL }}" aria-label="First"><span aria-hidden="true">&laquo;&laquo;</span></a>
+        </li>
+        {{ end }}
+        <li class="page-item {{ if not $pag.HasPrev }}disabled{{ end }}">
+            <a class="page-link" href="{{ if $pag.HasPrev }}{{ $pag.Prev.URL }}{{ else }}#{{ end }}" aria-label="Previous" {{ if not $pag.HasPrev }}tabindex="-1" aria-disabled="true"{{ end }}><span aria-hidden="true">&laquo;</span></a>
+        </li>
+        {{ $.Scratch.Set "__paginator.ellipsed" false }}
+        {{ range $pag.Pagers }}
+            {{ $right := sub .TotalPages .PageNumber }}
+            {{ $showNumber := or (le .PageNumber 3) (eq $right 0) }}
+            {{ $showNumber := or $showNumber (and (gt .PageNumber (sub $pag.PageNumber 2)) (lt .PageNumber (add $pag.PageNumber 2)))  }}
+            {{ if $showNumber }}
+                {{ $.Scratch.Set "__paginator.ellipsed" false }}
+                {{ $.Scratch.Set "__paginator.shouldEllipse" false }}
+            {{ else }}
+                {{ $.Scratch.Set "__paginator.shouldEllipse" (not ($.Scratch.Get "__paginator.ellipsed") ) }}
+                {{ $.Scratch.Set "__paginator.ellipsed" true }}
+            {{ end }}
+            {{ if $showNumber }}
+                <li class="page-item {{ if eq . $pag }}active{{ end }}">
+                    <a class="page-link" href="{{ .URL }}">{{ .PageNumber }}</a>
+                </li>
+            {{ else if ($.Scratch.Get "__paginator.shouldEllipse") }}
+                <li class="page-item disabled">
+                    <span class="page-link" aria-hidden="true">&hellip;</span>
+                </li>
+            {{ end }}
+        {{ end }}
+        <li class="page-item {{ if not $pag.HasNext }}disabled{{ end }}">
+            <a class="page-link" href="{{ if $pag.HasNext }}{{ $pag.Next.URL }}{{ else }}#{{ end }}" aria-label="Next" {{ if not $pag.HasPrev }}tabindex="-1" aria-disabled="true"{{ end }}><span aria-hidden="true">&raquo;</span></a>
+        </li>
+        {{ with $pag.Last }}
+            <li class="page-item">
+                <a class="page-link" href="{{ .URL }}" aria-label="Last"><span aria-hidden="true">&raquo;&raquo;</span></a>
+            </li>
+        {{ end }}
+    </ul>
+</nav>
+{{ end }}

+ 8 - 0
themes/hugo-bootstrap-5/layouts/partials/post-categories.html

@@ -0,0 +1,8 @@
+{{ if .Params.categories }}
+<div class="blog-post-categories text-secondary">
+    <strong>{{ i18n "categories" }}:</strong>
+    {{ range .Params.categories }}
+        <a class="btn btn-primary btn-small badge" href="{{ "/categories/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
+    {{ end }}
+</div>
+{{ end }}

+ 11 - 0
themes/hugo-bootstrap-5/layouts/partials/post-date.html

@@ -0,0 +1,11 @@
+{{ $dateFormat := default "Jan 2, 2006" (index .Site.Params "date_format") }}
+
+{{ $author := .Params.author | default .Site.Params.author }}
+<div class="blog-post-date text-secondary">
+    {{ if not .Date.IsZero }}
+        <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format $dateFormat }}</time>
+    {{ end }}
+    {{ if $author }}
+        {{ i18n "by" }} <span rel="author">{{ $author }}</span>
+    {{ end }}
+</div>

+ 8 - 0
themes/hugo-bootstrap-5/layouts/partials/post-tags.html

@@ -0,0 +1,8 @@
+{{ if .Params.tags }}
+<div class="blog-post-tags text-secondary">
+    <strong>標籤:</strong>
+    {{ range .Params.tags }}
+        <a class="btn btn-small badge" href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
+    {{ end }}
+</div>
+{{ end }}

+ 9 - 0
themes/hugo-bootstrap-5/layouts/partials/post-title.html

@@ -0,0 +1,9 @@
+<section class="news-info">
+    {{ range (.GetTerms "categories") }}
+    <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+    {{ end }}
+    <small>{{ .Date | time.Format ":date_long" }}</small>
+</section>
+<h1 class="blog-post-title">
+    <a class="text-dark text-decoration-none" href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+</h1>

+ 29 - 0
themes/hugo-bootstrap-5/layouts/partials/recent.html

@@ -0,0 +1,29 @@
+{{ $num_recent_posts := default 7 .Site.Params.sidebar.num_recent_posts }}
+{{ $posts := first $num_recent_posts (where .Site.RegularPages "Section" "in" .Site.Params.mainSections) }}
+{{ if gt (len $posts) 0 }}
+<section class="recent-content">
+  <h3 class="post-block-title">
+    <span>最新消息</span>
+  </h3>
+  <ol class="list-unstyled news-list">
+    {{ range $posts }}
+    <li class="d-flex align-items-center">
+      <a href="{{.RelPermalink}}">
+        <img src="{{ .Params.image | relURL }}" alt="">
+      </a>
+      <div class="ms-2">
+        <section class="news-info">
+          {{ range (.GetTerms "categories") }}
+          <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+          {{ end }}
+          <small>{{ .Date | time.Format ":date_long" }}</small>
+        </section>
+        <h2 class="post-title">
+          <a href="{{ .Permalink }}" class="line-clamp"> {{.Title | markdownify }}</a>
+        </h2>
+      </div>
+    </li>
+    {{ end }}
+  </ol>
+</section>
+{{ end }}

+ 11 - 0
themes/hugo-bootstrap-5/layouts/partials/related.html

@@ -0,0 +1,11 @@
+<footer>
+{{ $related := .Site.RegularPages.Related . | first 5 }}
+{{ with $related }}
+    <h4>{{ i18n "related" }}</h4>
+    <ul>
+        {{ range . }}
+            <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
+        {{ end }}
+    </ul>
+{{ end }}
+</footer>

+ 1 - 0
themes/hugo-bootstrap-5/layouts/partials/sidebar-custom.html

@@ -0,0 +1 @@
+<!-- Create <project-root>/layouts/partials/sidebar-custom.html to overwrite this empty template and put custom code into the sidebar section. -->

+ 23 - 0
themes/hugo-bootstrap-5/layouts/partials/sidebar.html

@@ -0,0 +1,23 @@
+<aside class="news-sidebar px-0 px-lg-3">
+  {{ partial "news-featured.html" . }}
+  {{ partial "taxonomies.html" . }}
+  <!-- <div class="input-group mb-3 search-bar">
+    <input type="text" class="form-control" placeholder="搜尋診所" aria-label="Recipient's username"
+      aria-describedby="search-btn">
+    <button class="btn search-btn pt-0" type="button" id="search-btn">
+      <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-search"
+        viewBox="0 0 16 16">
+        <path
+          d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z" />
+      </svg>
+    </button>
+  </div> -->
+
+  <!-- {{ if default true .Site.Params.sidebar.showRecent }}
+    {{ partial "recent" . }}
+  {{ end }} -->
+
+  <!-- {{ if default true .Site.Params.sidebar.showTaxonomy }}
+    {{ partial "taxonomies" . }}
+  {{ end }} -->
+</aside>

+ 29 - 0
themes/hugo-bootstrap-5/layouts/partials/taxonomies.html

@@ -0,0 +1,29 @@
+<section>
+  {{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
+  {{ if gt (len $taxonomy) 0 }}
+
+  {{ if eq $taxonomyname "tags" }}
+  <h3 class="post-block-title my-4">
+    <span>標籤</span>
+  </h3>
+  {{ else }}
+  <h3 class="post-block-title my-4">
+    <span>分類</span>
+  </h3>
+  {{ end }}
+
+  <p>
+    {{ range $name, $value := $taxonomy }}
+    <a class="btn btn-small badge tags" href="{{ printf  $taxonomyname | relLangURL }}/{{ $name | urlize }}/">
+      <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-tag-fill"
+        viewBox="0 0 16 16">
+        <path
+          d="M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z" />
+      </svg>
+      {{ $name }}
+    </a>
+    {{ end }}
+  </p>
+  {{ end }}
+  {{ end }}
+</section>

+ 10 - 0
themes/hugo-bootstrap-5/layouts/partials/translations.html

@@ -0,0 +1,10 @@
+{{ if .IsTranslated }}
+    <h4>{{ i18n "translations" }}</h4>
+    <ul>
+        {{ range .Translations }}
+        <li>
+            <a href="{{ .RelPermalink }}">{{ .Lang }}: {{ .Title }}</a>
+        </li>
+        {{ end }}
+    </ul>
+{{ end }}

+ 8 - 0
themes/hugo-bootstrap-5/static/css/style.css

@@ -0,0 +1,8 @@
+.blog-header, .blog-post, .blog-pagination {
+  margin-bottom: 2rem;
+}
+
+/* Make sure the image size is reasonable. */
+.blog-post img {
+  max-width: 100%;
+}

+ 17 - 0
themes/hugo-bootstrap-5/theme.toml

@@ -0,0 +1,17 @@
+name = "Hugo Bootstrap 5"
+license = "MIT"
+licenselink = "https://github.com/NotWoods/hugo-bootstrap-5/blob/master/LICENSE.md"
+description = "A simple hugo theme using Bootstrap 5"
+homepage = "https://github.com/NotWoods/hugo-bootstrap-5"
+tags = ["blog", "multilingual", "bootstrap"]
+features = ["blog", "responsive", "Google Analytics", "bootstrap", "multilingual", "i18n"]
+min_version = 0.56
+
+[author]
+  name = "Tiger Oakes"
+  homepage = "https://tigeroakes.com"
+
+[original]
+  author =  "Mihail Cristian Dumitru"
+  homepage = "https://github.com/Xzya"
+  repo = "https://github.com/Xzya/hugo-bootstrap"

Some files were not shown because too many files changed in this diff