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

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

簡介

我始終認為,設計與開發是一體兩面,設計本是為開發而存在,開發也是為了完成設計,兩者相輔相成、互相影響。因此在網站首頁中,使用建築圖與對設計和開發的解釋,表現自己在前端學習上,執著於兼顧清晰的設計與流暢的開發;網站設計上,我以報紙風格做為基礎,使用噪點填充背景以實現擬似紙張的質感,加入平滑滾動與滾動視差來提升瀏覽體驗,以及刻意封鎖毫不必要的使用者操作 (如文字選取和圖片拖移),取而代之加入點擊頁面時的漣漪動畫和首頁以外頁面的自製右鍵選單;在開發上,除了完成作品區塊三層的互動效果和連絡表單的微互動,也實現了 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
37會員
31內容數
短篇奇幻作品將不定期更新。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Ray C的沙龍 的其他內容
2020 下半年在全世界仍受到冠狀病毒肆虐期間,吉卜力工作室在官網四次公開合計 24 部動畫作品、共 1,178 張高畫質劇照,表示在未觸法的情形之下可自由下載使用,並且還會持續釋出過去動畫作品的劇照。由於官網的劇照呈現方式不太友好,也未在移動裝置上做排版優化,加上分批公開的作品劇照未整合在一...
這次的專案為六角學院在 2021 年疫情期間舉辦的「程式體驗營」最終作業,其中使用了最近接觸的 Vite 作為專案開發和打包的工具,以及因為對 Utility-First CSS 頗感興趣,將 Tailwind 納入專案並初次使用它做開發...
我並非這美術設計的原創,不過得益於 Instagram 上 @uixperience 的作品參考,才實現了這優雅計算機的外觀。在互動的部分,我讓按鍵在按下時減少陰影,並加深按鍵背景的顏色,這樣就像是真的被按了下去一樣;另外,在顯示計算結果的部分,透過 JS 增減 CSS class 的方式隨時...
一開始的版本是和 Todo MVC 類似的簡易待辦事項清單,由於本身的使用需求,不斷調整和優化 Todo 清單的外觀與功能,如使用 SortableJS 做出拖拉排序、結合 LocalStorage 做出儲存機制、Markdown link 語法的支持,以及對 XSS 跨網站指令程式碼的防禦處...
2020 下半年在全世界仍受到冠狀病毒肆虐期間,吉卜力工作室在官網四次公開合計 24 部動畫作品、共 1,178 張高畫質劇照,表示在未觸法的情形之下可自由下載使用,並且還會持續釋出過去動畫作品的劇照。由於官網的劇照呈現方式不太友好,也未在移動裝置上做排版優化,加上分批公開的作品劇照未整合在一...
這次的專案為六角學院在 2021 年疫情期間舉辦的「程式體驗營」最終作業,其中使用了最近接觸的 Vite 作為專案開發和打包的工具,以及因為對 Utility-First CSS 頗感興趣,將 Tailwind 納入專案並初次使用它做開發...
我並非這美術設計的原創,不過得益於 Instagram 上 @uixperience 的作品參考,才實現了這優雅計算機的外觀。在互動的部分,我讓按鍵在按下時減少陰影,並加深按鍵背景的顏色,這樣就像是真的被按了下去一樣;另外,在顯示計算結果的部分,透過 JS 增減 CSS class 的方式隨時...
一開始的版本是和 Todo MVC 類似的簡易待辦事項清單,由於本身的使用需求,不斷調整和優化 Todo 清單的外觀與功能,如使用 SortableJS 做出拖拉排序、結合 LocalStorage 做出儲存機制、Markdown link 語法的支持,以及對 XSS 跨網站指令程式碼的防禦處...
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一切都從思考作品集要怎麼準備開始,所謂的 one 是起頭難(?),在動手寫 code 之前,總覺得自己做不到,一直在自己煩惱,直到前輩們說:開始做看看吧,一頁式網站也好,不開始做永遠不知道自己哪些知識需要補強。 於是決定先幫我的繆思女神做一個網站,讓她可以介紹自己的工作,再放社群連結
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
前端開發者常會遇到需要網頁素材的情況,雖然在公司中都可能有可以配合的平面設計師或是UIUX設計師,但在這個多工高效的時代不免也需要前端開發者也可以處理簡單的設計,也可提升設計審美或與設計師溝通的能力。 然而前端開發者也算是擁有設計師的天賦,透過程式碼來完成平面設計,將網頁的每個介面都視為平面設計,
Thumbnail
在當今數位化時代,網頁設計已成為商業和個人表達的重要途徑。無論是企業建立品牌形象,還是個人展示創意作品,一個具有吸引力且功能全面的網站都是不可或缺的。網頁設計不僅涉及美學布局,更包含了使用者體驗(UX)、使用者介面(UI)和技術實現等多方面的考量。隨著技術的進步和網頁設計理念的不斷演進,網頁設計已經
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一切都從思考作品集要怎麼準備開始,所謂的 one 是起頭難(?),在動手寫 code 之前,總覺得自己做不到,一直在自己煩惱,直到前輩們說:開始做看看吧,一頁式網站也好,不開始做永遠不知道自己哪些知識需要補強。 於是決定先幫我的繆思女神做一個網站,讓她可以介紹自己的工作,再放社群連結
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
前端開發者常會遇到需要網頁素材的情況,雖然在公司中都可能有可以配合的平面設計師或是UIUX設計師,但在這個多工高效的時代不免也需要前端開發者也可以處理簡單的設計,也可提升設計審美或與設計師溝通的能力。 然而前端開發者也算是擁有設計師的天賦,透過程式碼來完成平面設計,將網頁的每個介面都視為平面設計,
Thumbnail
在當今數位化時代,網頁設計已成為商業和個人表達的重要途徑。無論是企業建立品牌形象,還是個人展示創意作品,一個具有吸引力且功能全面的網站都是不可或缺的。網頁設計不僅涉及美學布局,更包含了使用者體驗(UX)、使用者介面(UI)和技術實現等多方面的考量。隨著技術的進步和網頁設計理念的不斷演進,網頁設計已經