{"id":14979172,"url":"https://github.com/jarrekk/jalpc","last_synced_at":"2025-05-15T08:10:51.117Z","repository":{"id":8845957,"uuid":"59932776","full_name":"jarrekk/Jalpc","owner":"jarrekk","description":"🍎Jalpc -- A flexible Jekyll theme, 3 steps to build your website. ","archived":false,"fork":false,"pushed_at":"2024-07-07T21:33:26.000Z","size":6726,"stargazers_count":1040,"open_issues_count":40,"forks_count":1097,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-11T19:55:15.787Z","etag":null,"topics":["blog","blog-theme","curriculum-vitae","cv","gh-pages","jalpc","jekyll","jekyll-site","jekyll-theme","jekyll-themes","personal-website","portfolio","portfolio-website","resume","resume-creator","resume-template","theme"],"latest_commit_sha":null,"homepage":"https://jarrekk.github.io/Jalpc/","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarrekk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-29T08:02:13.000Z","updated_at":"2025-04-09T01:35:52.000Z","dependencies_parsed_at":"2023-02-19T02:00:34.427Z","dependency_job_id":"dfbee413-304c-473f-9d48-5c11c61db060","html_url":"https://github.com/jarrekk/Jalpc","commit_stats":{"total_commits":455,"total_committers":20,"mean_commits":22.75,"dds":0.6175824175824176,"last_synced_commit":"1f13e127f4ef7674389f6e5aa7f65885e47cf49c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarrekk%2FJalpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarrekk%2FJalpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarrekk%2FJalpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarrekk%2FJalpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarrekk","download_url":"https://codeload.github.com/jarrekk/Jalpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301432,"owners_count":22047904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","blog-theme","curriculum-vitae","cv","gh-pages","jalpc","jekyll","jekyll-site","jekyll-theme","jekyll-themes","personal-website","portfolio","portfolio-website","resume","resume-creator","resume-template","theme"],"created_at":"2024-09-24T13:59:28.643Z","updated_at":"2025-05-15T08:10:51.072Z","avatar_url":"https://github.com/jarrekk.png","language":"SCSS","funding_links":["https://paypal.me/jarrekk"],"categories":[],"sub_categories":[],"readme":"# Jalpc. [![Analytics](https://ga-beacon.appspot.com/UA-73784599-1/welcome-page)](https://github.com/jarrekk/Jalpc)\n\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n[![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges)\n[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badge/)\n\n\u003chttps://jarrekk.github.io/Jalpc/\u003e\n\n\u003chttp://www.jarrekk.com\u003e  -- Personal website\n\n![Blog](https://github.com/jarrekk/Jalpc/raw/master/readme_files/Jalpc.png)\n\n- [3 steps to setup this theme at your website!](#3-steps-to-setup-this-theme-at-your-website)\n- [Features](#features)\n  - [Index page](#index-page)\n    - [`_data/*.yml`](#_datayml)\n  - [Chart Skills](#chart-skills)\n  - [Categories in blog page](#categories-in-blog-page)\n  - [Pagination](#pagination)\n  - [Page views counter](#page-views-counter)\n  - [Multilingual Page](#multilingual-page)\n  - [Web analytics](#web-analytics)\n  - [Comment](#comment)\n  - [Share](#share)\n  - [Search engines](#search-engines)\n  - [Compress CSS and JS files](#compress-css-and-js-files)\n- [Put in a Jalpc Plug](#put-in-a-jalpc-plug)\n- [Upgrading Jalpc](#upgrading-jalpc)\n  - [Ensure there's an upstream remote](#ensure-theres-an-upstream-remote)\n  - [Pull in the latest changes](#pull-in-the-latest-changes)\n- [Todo](#todo)\n- [Donate Jalpc](#donate-jalpc)\n- [Wiki](#wiki)\n- [Ad](#ad)\n\nThis is a simple, beautiful and swift theme for Jekyll. It's mobile first, fluidly responsive, and delightfully lightweight.\n\nIf you're completely new to Jekyll, I recommend checking out the documentation at \u003chttp://jekyllrb.com\u003e or there's a tutorial by Smashing Magazine.\n\n# 3 steps to setup this theme at your website!\n\nHere is a [document](https://jarrekk.github.io/Jalpc/html/2017/01/31/3-steps-to-setup-website-with-Jalpc.html) of how to setup this theme with 3 steps and a [wiki](https://github.com/jarrekk/Jalpc/wiki/How-to-add-posts) of how to add posts. If you have any **questions** please ask me at [GitHub Issues](https://github.com/jarrekk/Jalpc/issues).\n\n# Features\n\n## Index page\n\nThe index page is seprated into several sections and they are located in `_includes/sections`,the configuration is in `_data/landing.yml` and section's detail configuration is in `_data/*.yml`.\n\n### `_data/*.yml`\n\nThese files are used to dynamically render pages, so you almost don't have to edit *html files* to change your own theme, besides you can use `jekyll serve --watch` to reload changes.\n\nThe following is mapping between *yml files* to *sections*.\n\n* landing.yml ==\u003e index.html\n* index/language.yml ==\u003e index.html\n* index/careers.yml  ==\u003e  _includes/sections/career.html\n* index/skills.yml  ==\u003e  _includes/sections/skills.html\n* index/projects.yml  ==\u003e  _includes/sections/projects.html\n* index/links.yml  ==\u003e  _includes/sections/links.html\n\nThis *yml file* is about blog page navbar\n\n* blog.yml ==\u003e _includes/header.html\n\nThe following is mapping between *yml files* to *donation*\n\n* donation/donationlist.yml ==\u003e blog/donate.html\n* donation/alipay.yml  ==\u003e  blog/donate.html\n* donation/wechat_pay.yml ==\u003e blog/donate.yml\n\n## Chart Skills\n\nI use [Chart.js](http://www.chartjs.org/) to show skills, the type of skills' chart is radar, if you want to custom, please read document of Chart.js and edit **_includes/sections/skills.html** and **_data/index/skills.yml**.\n\n## Categories in blog page\n\nIn blog page, we categorize posts into several categories by url, all category pages use same template html file - `_includes/category.html`.\n\nFor example: URL is `http://127.0.0.1:4000/python/`. In `_data/blog.yml`, we define this category named `Python`, so in `_includes/category.html` we get this URL(/python/) and change it to my category(Python), then this page are posts about **Python**. The following code is about how to get url and display corresponding posts in  `_includes/category.html`.\n\n```html\n\u003cdiv class=\"row\"\u003e\n    \u003cdiv class=\"col-lg-12 text-center\"\u003e\n        \u003cdiv class=\"navy-line\"\u003e\u003c/div\u003e\n        {% assign category = page.url | remove:'/' | capitalize %}\n        {% if category == 'Html' %}\n        {% assign category = category | upcase %}\n        {% endif %}\n        \u003ch1\u003e{{ category }}\u003c/h1\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"wrapper wrapper-content  animated fadeInRight blog\"\u003e\n    \u003cdiv class=\"row\"\u003e\n        \u003cul id=\"pag-itemContainer\" style=\"list-style:none;\"\u003e\n            {% assign counter = 0 %}\n            {% for post in site.categories[category] %}\n            {% assign counter = counter | plus: 1 %}\n            \u003cli\u003e\n```\n\n## Pagination\n\nThe pagination in jekyll is not very perfect,so I use front-end web method,there is a [blog](http://www.jarrekk.com/html/2016/06/04/jekyll-pagination-with-jpages.html) about the method and you can refer to [jPages](http://luis-almeida.github.io/jPages).\n\n## Page views counter\n\nMany third party page counter platforms are too slow,so I count my website page view myself,the javascript file is [static/js/count.min.js](https://github.com/jarrekk/jalpc_jekyll_theme/blob/gh-pages/static/js/count.min.js) ([static/js/count.js](https://github.com/jarrekk/jalpc_jekyll_theme/blob/gh-pages/static/js/count.js)),the backend API is written with flask on [Vultr VPS](https://www.vultr.com/), detail code please see [ztool-backhend-mongo](https://github.com/Z-Tool/ztool-backhend-mongo).\n\n## Multilingual Page\n\nThe landing page has multilingual support with the [i18next](http://i18next.com) plugin.\n\nLanguages are configured in the `_data/index/language.yml` file.\n\n\u003e Not everyone needs this feature, so I make it very easy to remove it, just clear content in file `_data/language.yml` and folder `static/locales/`.\n\nAbout how to custom multilingual page, please see [wiki](https://github.com/jarrekk/Jalpc/wiki/Multilingual-Page).\n\n## Web analytics\n\nI use [Google analytics](https://www.google.com/analytics/) and [GrowingIO](https://www.growingio.com/) to do web analytics, you can choose either to realize it,just register a account and replace id in `_config.yml`.\n\n## Comment\n\nI use [Disqus](https://disqus.com/) to realize comment. You should set disqus_shortname and get public key and then, in `_config.yml`, edit the disqus value to enable Disqus.\n\n## Share\n\nI use [AddToAny](https://www.addtoany.com/) to share my blog on other social network platform. You can go to this website to custom your share buttons and paste code at `_includes/share.html`.\n\n![share](https://github.com/jarrekk/Jalpc/raw/master/readme_files/share.png)\n\n## Search engines\n\nI use javascript to realize blog search,you can double click `Ctrl` or click the icon at lower right corner of the page,the detail you can got to this [repository](https://github.com/androiddevelop/jekyll-search). Just use it.\n\n![search](https://github.com/jarrekk/Jalpc/raw/master/readme_files/search.gif)\n\n## Compress CSS and JS files\n\nAll CSS and JS files are compressed at `/static/assets`.\n\nI use [UglifyJS2](https://github.com/mishoo/UglifyJS2), [clean-css](https://github.com/jakubpawlowicz/clean-css) to compress CSS and JS files, customised CSS files are at `_sass` folder which is feature of [Jekyll](https://jekyllrb.com/docs/assets/). If you want to custom CSS and JS files, you need to do the following:\n\n1. Install [NPM](https://github.com/npm/npm) then install **UglifyJS2** and **clean-css**: `npm install -g uglifyjs; npm install -g clean-css`, then run `npm install` at root dir of project.\n2. Compress script is **build.js**\n3. If you want to add or remove CSS/JS files, just edit **build/build.js** and **build/files.conf.js**, then run `npm run build` at root dir of project, link/src files will use new files.\n\nOR\n\nEdit CSS files at `_sass` folder.\n\n# Local tests/development\n\nFirst, install Jekyll on terminal:\n\n```shell\nbundle install\n```\n\nThen, execute:\n\n```shell\nbundle exec jekyll serve\n```\n\n# Put in a Jalpc Plug\n\nIf you want to give credit to the Jalpc theme with a link to my personal website \u003chttp://www.jarrekk.com\u003e, that'd be awesome. No worries if you don't.\n\n# Upgrading Jalpc\n\nJalpc is always being improved by its users, so sometimes one may need to upgrade.\n\n## Ensure there's an upstream remote\n\nIf `git remote -v` doesn't have an upstream listed, you can do the following to add it:\n\n```\ngit remote add upstream https://github.com/jarrekk/Jalpc.git\n```\n\n## Pull in the latest changes\n\n```\ngit pull upstream gh-pages\n```\n\nThere may be merge conflicts, so be sure to fix the files that git lists if they occur. That's it!\n\n# Testing Locally\nTo test your site locally, you’ll need\n\n- [ruby](https://www.ruby-lang.org/en/)\n- the [github-pages](https://github.com/github/pages-gem) gem\n\n## Installing ruby\nThere are [lots of different ways to install ruby](https://www.ruby-lang.org/en/documentation/installation/).\n\nIn Mac OS X, older versions of ruby will already be installed. But I use the [Ruby Version Manager (RVM)](https://rvm.io/) to have a more recent version. You could also use [Homebrew](https://brew.sh/).\n\nIn Windows, use [RubyInstaller](https://rubyinstaller.org/). (In most of this tutorial, I’ve assumed you’re using a Mac or some flavor of Unix. It’s possible that none of this was usable for Windows folks. Sorry!)\n\n## Installing the github-pages gem\nRun the following command:\n\n```\ngem install github-pages\n```\n\nThis will install the github-pages gem and all dependencies (including [jekyll](https://jekyllrb.com/)).\n\n## Later, to update the gem, type:\n\n```\ngem update github-pages\n```\n\nTesting your site locally\nTo construct and test your site locally, go into the directory and type\n\n```\njekyll build\n```\n\nThis will create (or modify) a `_site/ directory`, containing everything from `assets/`, and then the `index.md` and all `pages/*.md` files, converted to html. (So there’ll be `_site/index.html` and the various `_site/pages/*.html.`)\n\nType the following in order to “serve” the site. This will first run build, and so it does not need to be preceded by `jekyll build`.\n\n```\njekyll serve\n```\n\nNow open your browser and go to `http://localhost:4000/site-name/`\n\n# Todo\n- [ ] `jekyll server --watch` mode need to use original CSS/JS files\n- [ ] User can customise index page's section title.\n- [x] Non-github projects also have links.\n- [ ] Add some custom color themes for selection(Nav bar, background, words, dominant hue).\n\n# Donate Jalpc\nIf this project let you enjoy your blog time, you can give me a cup of coffee :)\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://paypal.me/jarrekk)\n\n# Wiki\n\n* [Multilingual Page](https://github.com/jarrekk/Jalpc/wiki/Multilingual-Page)\n* [How to add posts](https://github.com/jarrekk/Jalpc/wiki/How-to-add-posts)\n* [Change Log](https://github.com/jarrekk/Jalpc/wiki/Change-Log)\n* [Contributors](https://github.com/jarrekk/Jalpc/wiki/Contributors)\n* [Thanks to the following](https://github.com/jarrekk/Jalpc/wiki/Thanks-to-the-following)\n\n# Ad\n[Jalpc-A](https://github.com/Jack614/Jalpc-A): another Jekyll theme written by [AngularJS](https://angularjs.org/).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarrekk%2Fjalpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarrekk%2Fjalpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarrekk%2Fjalpc/lists"}