一種用於使用JSON構建簡歷並創建時尚HTML/PDF文件的工具包。
JSONCV包括以下組件:
有關深入的解釋和使用指南,請參閱下面的文檔。
JSONCV使用JSON模式為CVS創建基於JSON的標準。
JSONCV中使用的模式是JSON簡歷模式的叉子,具有以下差異:
JSON模式版本
JSON RESUME使用過時的草稿版本,而JSONCV使用當前的草稿-07。為了確保與Draft-07的兼容性,所有additionalItems的實例已被刪除。
附加的sideProjects部分
JSONCV包括一個名為sideProjects的其他部分,該部分允許區分側面項目和職業項目
meta部分中的其他name屬性
JSONCV在meta部分中包含一個name屬性,該屬性允許用戶指定導出的HTML/PDF文件所需的名稱。
這些差異不會影響JSONCV和JSON簡歷之間的兼容性。這意味著您可以輕鬆地將JSON恢復數據導入JSONCV,反之亦然,因為JSONCV數據將通過JSON簡歷架構的驗證。
可以在此處查看JSON簡歷模式與JSONCV模式之間的完整差異

JSONCV配備了一個在線編輯器,該編輯器提供了用於創建和編輯JSONCV數據的圖形用戶界面。請訪問https://jsoncv.reorx.com/editor/。
編輯器由從左到右的三個窗格組成:
側邊欄
允許導航到架構表格中的不同部分,並提供諸如“下載HTML”和“上傳數據”之類的操作
模式形式
讓您編輯簡歷數據的屬性。您還可以選擇要顯示或隱藏的屬性。
預覽
顯示渲染的CV HTML,因為以模式形式進行更改。
JSONCV的核心產品是CV HTML,它是您的JSONCV數據的HTML表示。這是一個緊湊的單文件HTML文檔,可以轉換為PDF或在線託管以創建靜態CV網站。
CV HTML的設計具有特定的佈局,可以在A4紙上顯示CV。 CSS經過量身定制以優化打印,確保最佳排版是在紙上打印還是保存為PDF。因此,CV HTML最適合創建專業或學術的簡歷/簡歷,而不是創造性或互動性投資組合網站。
CV HTML支持主題,可以在src/themes目錄中找到。
要獲取CV HTML,請參閱導出CV數據和HTML並在本地構建HTML
轉換器是腳本,可幫助用戶將JSONCV數據從/轉換為其他來源。
當前,只有一個可用的轉換器: rxresume-to-jsoncv.js ,它將導出的數據從rxresume轉換為JSONCV格式。
如果您有其他要求,請隨時提交問題。拉力請求也非常感謝。
建議使用在線編輯器編寫簡歷。但是,如果您對JSON感到滿意,則可以使用本地計算機上的文本編輯器維護數據文件。
首次打開編輯器時,加載了示例數據。您可以編輯它,也可以單擊“新數據”按鈕以從一個空表單開始。每次更改時,您的簡歷數據都會保存在瀏覽器中,因此您不必擔心失去工作。
如果您已經擁有簡歷數據的本地副本,則可以單擊“上傳數據”按鈕將其加載到編輯器中。
完成編輯後,您可以單擊下載JSON按鈕以JSON格式導出簡歷數據。
如果要在預覽窗格中導出渲染的HTML,只需單擊下載HTML按鈕。
請注意,您可以通過添加meta.name屬性來命名導出的文件。如果未指定,則將使用basics.name和meta.version的組合來構建文件名。
為了保持簡單,JSONCV不包括或使用任何外部工具來生成PDF。相反,您應該使用生成的HTML文件將其轉換為PDF文檔。唯一的要求是現代瀏覽器;下面的步驟以Google Chrome為例:
打開Chrome中生成的HTML文件。
按⌘P (或Windows中的P ),然後打開打印對話框。
在對話框中,選擇“目標”為“另存為pdf”,並確保“選項”中的所有項目都沒有選中。

單擊“保存”以將PDF文件保存在您的文件系統中。
請注意,從Chrome導出的PDF可能會在文本複制方面存在一些問題。有關更多信息,請參見FAQ部分。
JSONCV使用VITE作為其靜態站點構建工具。項目根目錄中的index.html文件是用於購買單文件CV HTML的入口點。
以下是使用您自己的數據構建CV HTML的步驟:
確保您使用的是Nodejs版本18或更高版本。
通過運行安裝依賴項: npm run install
通過指定DATA_FILENAME和OUT_DIR環境變量來構建CV HTML:
DATA_FILENAME="$HOME/Downloads/mycv/cv.json" OUT_DIR="$HOME/Downloads/mycv" npm run build
這將使用位於$HOME/Downloads/mycv/cv.json數據文件構建您的CV HTML,生成的HTML將位於$HOME/Downloads/mycv目錄中。
在構建過程中支持以下環境變量:
DATA_FILENAME :要使用的CV數據可以是相對路徑或絕對路徑。OUT_DIR :生成的HTML文件的輸出目錄。THEME :要使用的主題必須是src/themes/中的目錄名稱之一。要自定義主題的主要顏色,請在index.scss中修改 - 原色CSS變量。請注意,進行此更改將導致GIT的分類變化。如果您想自己構建HTML,建議您創建一個新項目,而不是在JSONCV中編輯源代碼。有關如何執行此操作的說明,請參考構建靜態簡歷站點部分。
生成的index.html文件可以在任何地方和任何託管平台上使用。只需將其上傳到Web服務器,您將擁有自己的在線簡歷網站。內置主題“ Reorx”還包括對移動設備的響應支持。
但是,如果您需要額外的自定義,例如https://cv.reorx.com/具有帶有鏈接到PDF文件和作者主頁的頁腳的CV網站,您可以按照以下步驟操作:
創建一個空存儲庫
將JSONCV添加為子模塊
git submodule add https://github.com/reorx/jsoncv.git
將您的簡歷數據文件(例如cv.json )放在項目中。
通過運行npm init初始化package.json 。
通過運行npm i ./jsoncv將JSONCV作為依賴性安裝。
將./jsoncv/package.json的scripts和devDependencies複製到package.json ,然後運行npm i以安裝它們。
複製./jsoncv/vite.json.js to vite.json.js並進行以下更改:
./src的所有實例更改為./jsoncv/src 。dataFilename的值更改為CV數據文件,例如cv.json 。renderData.theme更改為您要使用的主題。複製./jsoncv/index.html到index.html ,然後將./src的所有實例更改為./jsoncv/src 。然後將./jsoncv/index.scss複製到index.scss 。
運行npm run build以測試一切是否有效。
完成這些步驟後,您現在可以將自己的元素和样式添加到index.html和index.scss ,以進一步自定義您的簡歷網站。您可以使用HTML,CSS和JavaScript將自己的品牌,佈局和功能添加到網站上。
JSONCV包含幾個內置主題,您可以直接在編輯器中或構建靜態簡歷站點時使用它們。如果您想創建自己的自定義主題,這是:
主題的文件系統層次結構如下:
src/themes
└── reorx
├── index.ejs
└── index.scss
您可以通過使用index.ejs和index.scss src/themes創建一個新文件夾來添加自己的主題。
index.ejs是用於構造簡歷內容的EJS模板。傳遞給模板的數據的結構如下:
cv :符合JSONCV模式的整個JSONCV數據fn :一組實用程序功能getCVTitle :從cv數據獲取簡歷標題reformatDate :將日期字符串轉換為指定格式getIconSVG :從圖標名稱中獲取Iconify SVG字符串或DOM元素noSchemaURL :刪除URL的架構( https:// )前綴有關更多信息,請參見SRC/主題/DATA.JS中的完整定義。
創建一個新主題後(讓我們以yourtheme為例),您可以通過運行以下代碼開始開發和預覽它:
THEME=yourtheme npm run dev-site
始終歡迎添加新主題的拉動請求。
您可以將主題命名為您自己的名字,這就是我為主題“ Reorx”所做的。因為我認為這個主題與開發人員的美學和個人品味緊密綁定,並且常用詞可能不能準確地代表主題。
是的,這是Chrome的“保存為PDF”功能的已知問題。生成的PDF可以具有在MacOS上複製的文本。

該問題已由幾個用戶報告,並非針對JSONCV。如下所示:“另存為pdf”產生帶有向後文本的文檔。 -Google Chrome社區
解決方案:使用Firefox或Safari獲取PDF
請參閱JavaScript是否保證對象屬性訂單? - 堆疊溢出
summary和description屬性中的標記如果沒有這些出色的項目,則無法使JSONCV成為可能:
如果您認為這個項目可以使用或節省一些時間,請考慮給我喝杯咖啡:)