Ray Chang Space|支援 Markdown 內容管理系統的作品集網站

更新 發佈閱讀 5 分鐘
raw-image

Ray Chang Space / GitHub

簡介

我始終認為,設計與開發是一體兩面,設計本是為開發而存在,開發也是為了完成設計,兩者相輔相成、互相影響。因此在網站首頁中,使用建築圖與對設計和開發的解釋,表現自己在前端學習上,執著於兼顧清晰的設計與流暢的開發;網站設計上,我以報紙風格做為基礎,使用噪點填充背景以實現擬似紙張的質感,加入平滑滾動與滾動視差來提升瀏覽體驗,以及刻意封鎖毫不必要的使用者操作 (如文字選取和圖片拖移),取而代之加入點擊頁面時的漣漪動畫和首頁以外頁面的自製右鍵選單;在開發上,除了完成作品區塊三層的互動效果和連絡表單的微互動,也實現了 Markdown CMS 內容管理系統,大大減少日後內容更新的成本。

外觀與互動設計

  • 使用非純白 `#F9F9F9` 網頁底色,以及使用 `data:image` 噪點 填充頁面,增添紙張印刷的質感
  • 網站首頁以報紙風格為基礎,搭配聖保羅教堂和建築兩旁對設計與開發的個人見解,加上點擊連結時的翻頁音效,進一步增添如同閱讀報刊的體驗
  • 封鎖任何破壞瀏覽體驗的使用者操作,如文字選取、圖片拖移和右鍵點擊;作為替代,加入彷彿輕點水面的漣漪效果和自製的右鍵選單,達到更簡潔的視覺版面與更精緻的使用體驗
  • 導入滾動視差,實現在非觸控設備上享受滑順捲動體驗之餘,感受網頁元素之間互相交錯的動態立體感
  • 為首頁作品區塊加上三層互動效果:(1) 捲動頁面時,將畫面中間的作品封面加上灰階轉彩色的漸變效果;(2) 鼠標碰觸作品封面時 (非觸控設備),將作品封面暗化的效果;(3) 結合以上兩者,當鼠標碰觸畫面中間以外的作品時 (非觸控設備),碰觸的作品封面轉為彩色加上暗化,並將畫面中間的作品封面轉為灰階,呈現焦點切換的互動
  • 首頁底部連絡表單的設計上,加入填寫表單時的打字音效和送出表單、進行驗證卻格式不如預期時,加入頗有趣味的提示動畫,使無聊的表單填寫變得有聲有色;另外,在 Message 區塊中,達到讓 `Textarea` 能隨著文字量做擴展或內縮的自適應,以及實現在表單提交、捲動頁面離開感謝視窗後,自動換回連絡表單的復原設計
  • About 頁面 設計上,以全大寫英文配上中文的標題呈現方正、整齊的風格;履歷以帶有紋路的象牙紙為底,使用深灰而非純黑字提升閱讀上的體驗
  • 404 Not Found 頁面 設計上,使用 Kit8 付費插畫 後製陰影並搭配 Nunito 字體 和噪點填充背景,取代原先伺服器 預設的 404 頁面

開發紀錄

  • 購買並使用 Google Domains 網域名稱:rayc.dev
  • 使用 CSS 預處理器 Sass 模組化開發與封裝樣式;使用 Vanilla JavaScript 開發網站功能
  • 網頁元素以 `rem` 做單位,達成在任何尺寸的設備上,顯示一致絕佳比例的頁面佈局
  • 使用 `@font-face` + `font-display: swap` 方式加載自託管 (self-hosted) 字體,減少網頁請求數、加快字體載入速度
  • 大型圖片、影片資源採用 WebP/WebM 格式呈現,檔案大小減少 82%!並使用 Lazy loading 延遲載入技術,進一步提升網頁載入速度達 2.85 倍
  • 使用雙層 `setTimeout` 定時器配上秒數校準計算,達成精準的整點 (00:00:00) 日期更新
  • 情人節與聖誕節時,在首頁的 main section 中透過 canvas 打造出漫天飛舞的雪景
  • 使用 GSAPScrollTrigger 套件對複數元素做滾動視差,實現網站的立體感
  • 為展示的作品封面加上鼠標碰觸和捲動頁面時,讓到達畫面中間的作品呈現灰階轉彩色的互動效果 (ScrollTrigger Toggle Class) ,再透過監聽事件結合兩者,使其能夠和諧地發揮功能
  • 針對使用者設備做互動效果優化,使用非觸控設備開啟網頁才會加入滑鼠碰觸元素的互動效果,如首頁作品封面的灰階轉彩色效果,以及在 About 頁面中,鼠標碰觸超連結時顯示的底線
  • 善用 JavaScript `Async/Await` 語法排程管理同步與非同步程式碼,使抓取資料、頁面渲染完畢到 Loading 動畫結束的過程始終穩定流暢
  • 首頁以外的頁面使用 Vanilla 動態路由,透過在網址夾帶參數來連動 Markdown 格式檔案,再搭配 markdown-it 套件渲染頁面,以及使用 highlight.js 套件對程式碼做高亮效果 (Syntax highlighting),大大減少日後內容更新的成本
留言
avatar-img
留言分享你的想法!
avatar-img
Ray C的沙龍
37會員
31內容數
短篇奇幻作品將不定期更新。
Ray C的沙龍的其他內容
2023/01/14
在 Instagram 看到有人分享在日本操作機器、製作寶可夢客製化衣服的貼文,聯想起先前在網上閱讀到關於 Pokémon API 的文章,一時興起也使用 PokeAPI 仿刻貼文中機器的操作介面。然而在開發過程中,發現連續抓取 905 份寶可夢資料...
Thumbnail
2023/01/14
在 Instagram 看到有人分享在日本操作機器、製作寶可夢客製化衣服的貼文,聯想起先前在網上閱讀到關於 Pokémon API 的文章,一時興起也使用 PokeAPI 仿刻貼文中機器的操作介面。然而在開發過程中,發現連續抓取 905 份寶可夢資料...
Thumbnail
2022/04/03
去年看到 Astro 剛發布時所宣稱的「用較少的 JavaScript 打造極速網站」就對這樣的框架產生興趣,那時雖然也試玩了一下,不過因為遇到一些開發初期的 bug 放棄研究。直到近期拿過去使用 petite-vue 開發的專案 — HTML Reserved Colors 來透過 Astr...
Thumbnail
2022/04/03
去年看到 Astro 剛發布時所宣稱的「用較少的 JavaScript 打造極速網站」就對這樣的框架產生興趣,那時雖然也試玩了一下,不過因為遇到一些開發初期的 bug 放棄研究。直到近期拿過去使用 petite-vue 開發的專案 — HTML Reserved Colors 來透過 Astr...
Thumbnail
2022/03/25
2021 年可以說是 NFT 大爆發的一年了,除了名人相繼創立自己的 NFT,也有各式各樣的商業模式和額外賦能不停的被開發出來;像是主打邊玩邊賺的 (Play-to-Earn,P2E) GameFi 項目「Axie Infinity」、擁有即可兌換一天一碗且連續七天雞肉飯的「元宇宙第一雞肉飯」...
Thumbnail
2022/03/25
2021 年可以說是 NFT 大爆發的一年了,除了名人相繼創立自己的 NFT,也有各式各樣的商業模式和額外賦能不停的被開發出來;像是主打邊玩邊賺的 (Play-to-Earn,P2E) GameFi 項目「Axie Infinity」、擁有即可兌換一天一碗且連續七天雞肉飯的「元宇宙第一雞肉飯」...
Thumbnail
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
從上次作完喵喵健身教練網頁後,覺得自己以前作的個人簡歷網站實在是太醜了,而且當初為了搶快,直接套用 Bootstrap 版型,根本不用寫 JavaScript(燦笑) 所以這次決定把網站重寫,就算是從 1 開始吧,1-10 分作到 8 分就好,不然完美主義真的會搞死自己,那道光很快就來了(?)
Thumbnail
從上次作完喵喵健身教練網頁後,覺得自己以前作的個人簡歷網站實在是太醜了,而且當初為了搶快,直接套用 Bootstrap 版型,根本不用寫 JavaScript(燦笑) 所以這次決定把網站重寫,就算是從 1 開始吧,1-10 分作到 8 分就好,不然完美主義真的會搞死自己,那道光很快就來了(?)
Thumbnail
一切都從思考作品集要怎麼準備開始,所謂的 one 是起頭難(?),在動手寫 code 之前,總覺得自己做不到,一直在自己煩惱,直到前輩們說:開始做看看吧,一頁式網站也好,不開始做永遠不知道自己哪些知識需要補強。 於是決定先幫我的繆思女神做一個網站,讓她可以介紹自己的工作,再放社群連結
Thumbnail
一切都從思考作品集要怎麼準備開始,所謂的 one 是起頭難(?),在動手寫 code 之前,總覺得自己做不到,一直在自己煩惱,直到前輩們說:開始做看看吧,一頁式網站也好,不開始做永遠不知道自己哪些知識需要補強。 於是決定先幫我的繆思女神做一個網站,讓她可以介紹自己的工作,再放社群連結
Thumbnail
最近為了備課,希望能在自我介紹時,能有個人網站之外的作品展示平台,在朋友推薦下,我打開了一直以來都是空白的Behance,然後開始整理自己往年的作品。
Thumbnail
最近為了備課,希望能在自我介紹時,能有個人網站之外的作品展示平台,在朋友推薦下,我打開了一直以來都是空白的Behance,然後開始整理自己往年的作品。
Thumbnail
這篇整理了我這個月讀到關於「設計創作」和「AI」相關的內容,並且幫大家附上了來源,如果你想了解我這個月發現了什麼不錯的內容都可以在這裡找到,而且我還會加上我的一點個人回饋。 另外每月資訊量不同,造成每一類的內容不一,有的內容會比較多,如果你只想看精選,我會在每一類中都挑出 3 篇我最推的。
Thumbnail
這篇整理了我這個月讀到關於「設計創作」和「AI」相關的內容,並且幫大家附上了來源,如果你想了解我這個月發現了什麼不錯的內容都可以在這裡找到,而且我還會加上我的一點個人回饋。 另外每月資訊量不同,造成每一類的內容不一,有的內容會比較多,如果你只想看精選,我會在每一類中都挑出 3 篇我最推的。
Thumbnail
嗨,我是創作邦的創辦人凱文,這篇文章針對沙龍訂閱制的詳細介紹!我從 2020 開始於社群上分享設計教學,專注分享對於「設計工作者」、「創作者」有幫助的內容,現在我在 vocus 開了訂閱服務,這個訂閱服務會提供創作者需要的設計技巧分享、創作經驗分享、高效工具推薦等內容,歡迎一起加入。
Thumbnail
嗨,我是創作邦的創辦人凱文,這篇文章針對沙龍訂閱制的詳細介紹!我從 2020 開始於社群上分享設計教學,專注分享對於「設計工作者」、「創作者」有幫助的內容,現在我在 vocus 開了訂閱服務,這個訂閱服務會提供創作者需要的設計技巧分享、創作經驗分享、高效工具推薦等內容,歡迎一起加入。
Thumbnail
建置平台 前一陣子,有人問我是否要找尋合適的平台或自主建置平台,讓自己的文章能夠有更大的能見度。我覺得這是個很好的想法,所以也考慮要自己建立平台。但細想了一下,我覺得建置網站沒有必要,因為我現在的幾個平台就已經足夠我使用,也達到我想要分享內心世界的想法的目的。反而是,我應該思考如何用好平台,讓平台
Thumbnail
建置平台 前一陣子,有人問我是否要找尋合適的平台或自主建置平台,讓自己的文章能夠有更大的能見度。我覺得這是個很好的想法,所以也考慮要自己建立平台。但細想了一下,我覺得建置網站沒有必要,因為我現在的幾個平台就已經足夠我使用,也達到我想要分享內心世界的想法的目的。反而是,我應該思考如何用好平台,讓平台
Thumbnail
我本來想無償地建立自己的第一篇文章,就在我在本文打入第一個字,而已! 對!第一個字,而已!而已!而已! 方格子網站就當場炸裂,出現404 這是為什麼?真是不敢相信阿~~~
Thumbnail
我本來想無償地建立自己的第一篇文章,就在我在本文打入第一個字,而已! 對!第一個字,而已!而已!而已! 方格子網站就當場炸裂,出現404 這是為什麼?真是不敢相信阿~~~
Thumbnail
格編今天要來跟大家聊聊「閱讀頁」、「主題頁」的那些大事兒!相信每一位來到方格子的新格友與老格友們,都已感受到平台使用體驗的簡潔魅力,但我們從不止步於這樣的魅力而已,於是我們又進行了各種好還要更好的改版(優化是一條永無止盡的道路啊~遠目),期待讓來訪的每位格友們,都能徜徉在輕鬆、自在的瀏覽情境中。
Thumbnail
格編今天要來跟大家聊聊「閱讀頁」、「主題頁」的那些大事兒!相信每一位來到方格子的新格友與老格友們,都已感受到平台使用體驗的簡潔魅力,但我們從不止步於這樣的魅力而已,於是我們又進行了各種好還要更好的改版(優化是一條永無止盡的道路啊~遠目),期待讓來訪的每位格友們,都能徜徉在輕鬆、自在的瀏覽情境中。
Thumbnail
從開工以來,我們將目標初步定調為:讓系統更加穩定,並且在整體品牌體驗上減少複雜度。為此,我們在開發上有兩項主要目標,一是將整體的主題顏色做全站性的統整與優化;二則同時在方格子閱讀頁與首頁載入進行速度上的優化…
Thumbnail
從開工以來,我們將目標初步定調為:讓系統更加穩定,並且在整體品牌體驗上減少複雜度。為此,我們在開發上有兩項主要目標,一是將整體的主題顏色做全站性的統整與優化;二則同時在方格子閱讀頁與首頁載入進行速度上的優化…
Thumbnail
最近在臉書上發現了這個新的寫作平台”方格子” 深入的研究一下感覺真的很不錯 所以寫篇文章與大家分享٩(✿∂‿∂✿)۶
Thumbnail
最近在臉書上發現了這個新的寫作平台”方格子” 深入的研究一下感覺真的很不錯 所以寫篇文章與大家分享٩(✿∂‿∂✿)۶
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News