建立個人網站 Set up Personal Website

建立個人網站 Set up Personal Website

更新於 發佈於 閱讀時間約 6 分鐘

因為最近需要建立自我品牌,所以決定來架個人網站。

架個人網站的方式非常多,最簡單的是直接找台伺服器拿現有模板套上去。

但是我喜歡自由,而且也已經有方格子部落格網站,所以打算做個簡單的名片網站。

以前寫過Html、Jsp、Asp、Php等各種網頁程式語言,不過現在聽說可以用Kotlin一個程式語言打天下,所以就來挑戰看看。

打開官網看看有什麼不錯的前端框架的時候,發現Compose框架,不由得特別留意。

前端框架 https://kotlinlang.org/docs/js-overview.html#compose-for-web

前端框架 https://kotlinlang.org/docs/js-overview.html#compose-for-web

啊,Jetpack Compose for Web今年2021五月才推出,現在還是Alpha探路版,不過想到在Android的世界裡也有Compose函式庫,也許哪天這些相似的產品就整合了呢!於是決定跳下坑了。

既希望一套程式碼可以應付全部業務,又怕被賤價的矛盾工程師。
Android的Compose框架 https://kotlinlang.org/docs/js-overview.html#compose-for-web https://developer.android.com/jetpack/compose

Android的Compose框架 https://kotlinlang.org/docs/js-overview.html#compose-for-web https://developer.android.com/jetpack/compose


Compose框架跨平台計畫 https://www.jetbrains.com/lp/compose-mpp/

Compose框架跨平台計畫 https://www.jetbrains.com/lp/compose-mpp/

今年內會出正式版本,那個時候也許會有比較完整的文件,距離年底剩下一個半月,但是我已經等不及啦,所以直接來看程式碼實戰教學。

https://github.com/JetBrains/compose-jb/tree/master/tutorials/Web/Getting_Started

https://github.com/JetBrains/compose-jb/tree/master/tutorials/Web/Getting_Started

環境要求有兩個,JDK版本和IDE版本。

  • JDK 11 or later
  • IntelliJ IDEA Community Edition or Ultimate Edition 2020.2 or later

我的IDE本來就是2021版本,但是JDK版本太低,所以只好下載最新的JDK17。

安裝IDE和JDK屬於初階操作,此處省略。若有需要可參考我之前寫的文章 https://ithelp.ithome.com.tw/articles/10261282
raw-image

因為還沒出穩定版,所以也沒有專案模組建立引導精靈,只能用Kotlin/Multiplatform專案修改,或是直接開啟範例專案。

因為我怕漏掉需要修改的地方,所以就選擇範例專案。

Github要下載單一資料夾需要額外工作,為求以後開發方便,我決定先fork專案再把template打包壓縮,這樣就不用為了1mb的內容,佔據一百多mb的空間。

原始來源:https://github.com/JetBrains/compose-jb/tree/master/templates

壓縮版:https://github.com/kateLee/compose-jb/tree/master/templates

把範例web-template名字改成personal_website後,就選擇中間的Open,並選擇信任專案。

raw-image


raw-image

在下面的Terminal執行./gradlew jsBrowserRun

先跑跑看範例,當然第一次跑就是要等待。

raw-image


raw-image

不知道為啥 http://localhost:8080/ 打開的是空白網頁。

後來才發現專案名字變動的話,index.html裡的js名稱也要隨之變動。

raw-image

修正後Control鍵+c中斷,重新執行./gradlew jsBrowserRun,就成功看到範例網頁:顯示按鈕被點擊的次數,重新整理後數字會歸零。

raw-image

目標:

  • 背景色:黑色
  • 文字色:金色

內容包含:

  • 名字
  • 自我介紹
  • 社交帳號
  • 作品集

參考https://github.com/kateLee/compose-jb/tree/master/tutorials/Web/Building_UI開始修改Main.Kt檔案。

raw-image




raw-image

好了,名字放上去了,接下來就是連結們了。

幸運的,找到一個提供各種第三方圖示的css:https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css

raw-image
raw-image

背景色屬性也從div挪移到上層的body區域。

raw-image
raw-image

再來就是放上伺服器供外網連線。

本來想放在Firebase,但是FIrebase設定上還要下載npm套件,覺得太麻煩,所以就只好放在GitHub了。

在此分享這次開發的個人網站網址:https://katelee.github.io/personal_website/

GitHub放靜態網頁的過程會另外寫一篇文章。

程式碼也會另外寫一篇文章說明,這邊先簡單帶過,附上程式碼網址:

網站內容會持續更新和擴充,比如說我最後還是把圖片按鈕的顏色都一起換成和文字一樣的金閃閃了。

請期待後續發表的文章。

avatar-img
Kate的沙龍
6會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
留言
avatar-img
留言分享你的想法!
Kate的沙龍 的其他內容
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。