diff --git a/README.md b/README.md index 7fb3786..265d9f4 100644 --- a/README.md +++ b/README.md @@ -65,16 +65,17 @@ Feel free to add your own page(s) by sending a PR. Courses -CMU PGM (S-19), -CMU DeepRL (F-19, S-20, F-20), -CMU MMML (F-20), CMU Distributed Systems (S-21) +CMU PGM (S-19)
+CMU DeepRL (F-19, S-20, F-20)
+CMU MMML (F-20)
+CMU Distributed Systems (S-21) Conferences & workshops -ML Retrospectives (NeurIPS: 2019, 2020; ICML: 2020), -HAMLETS (NeurIPS: 2020), +ML Retrospectives (NeurIPS: 2019, 2020; ICML: 2020)
+HAMLETS (NeurIPS: 2020)
ICBINB (NeurIPS: 2020) @@ -84,11 +85,13 @@ ICBINB (NeurIPS: /` and do the following: ```bash @@ -100,24 +103,83 @@ $ bundle exec jekyll serve Now, feel free to customize the theme however you like (don't forget to change the name!). After you are done, **commit** your final changes. -Now, you can deploy your website to [GitHub Pages](https://pages.github.com/) by running the deploy script: +#### Deployment + +Deploying your website to [GitHub Pages](https://pages.github.com/) is the most popular option. +Starting version [v0.3.5](https://github.com/alshedivat/al-folio/releases/tag/v0.3.5), **al-folio** will automatically re-deploy your webpage each time you push new changes to your repository! :sparkles: + +**For project pages (default):** + +- Make changes, commit, and push! +- After deployment, the webpage will become available at `.github.io//`. +- The `master` branch should be used for the source code of your webpage and `gh-pages` branch (will be created on the first deployment) will be used for deployment. + +**For personal and organization webpages:** +- Make sure you correctly named your repository as `.github.io` or `.github.io`. +- After cloning this repository, [rename the branch](https://docs.github.com/en/github/administering-a-repository/renaming-a-branch) with the source code from `master` to `source`. +- Make sure the `url` and `baseurl` fields in `_config.yml` are empty. +- Make changes, commit, and push! + +
Manual deployment to GitHub Pages: + +If you need to manually re-deploy your website to GitHub pages, run the deploy script from the root directory of your repository: ```bash $ ./bin/deploy [--user] ``` -By default, the script uses the `master` branch for the source code and deploys the webpage to `gh-pages`. +uses the `master` branch for the source code and deploys the webpage to `gh-pages`. The optional flag `--user` tells it to deploy to `master` and use `source` for the source code instead. Using `master` for deployment is a convention for [user and organization pages](https://help.github.com/articles/user-organization-and-project-pages/). -**Note:** when deploying your user or organization page, make sure the `_config.yml` has `url` and `baseurl` fields as follows. +
+ +
Deployment to another hosting server (non GitHub Pages): +If you decide to not use GitHub Pages and host your page elsewhere, simply run: +```bash +$ bundle exec jekyll build ``` -url: # should be empty -baseurl: # should be empty +which will (re-)generate the static webpage in the `_site/` folder. +Then simply copy the contents of the `_site/` foder to your hosting server. + +**Note:** Make sure to correctly set the `url` and `baseurl` fields in `_config.yml` before building the webpage. If you are deploying your webpage to `your-domain.com/your-project/`, you must set `url: your-domain.com` and `baseurl: /your-project/`. If you are deploing directly to `your-domain.com`, leave `baseurl` blank. + +
+ +
Deployment to a separate repository (advanced users only): + +**Note:** Do not try using this method unless you know what you are doing (make sure you are familiar with [publishing sources](https://help.github.com/en/github/working-with-github-pages/about-github-pages#publishing-sources-for-github-pages-sites)). This approach allows to have the website's source code in one repository and the deployment version in a different repository. + +Let's assume that your website's publishing source is a `publishing-source` sub-directory of a git-versioned repository cloned under `$HOME/repo/`. +For a user site this could well be something like `$HOME/.github.io`. + +Firstly, from the deployment repo dir, checkout the git branch hosting your publishing source. + +Then from the website sources dir (commonly your al-folio fork's clone): +```bash +$ bundle exec jekyll build --destination $HOME/repo/publishing-source ``` +This will instruct jekyll to deploy the website under `$HOME/repo/publishing-source`. + +**Note:** Jekyll will clean `$HOME/repo/publishing-source` before building! + +The quote below is taken directly from the [jekyll configuration docs](https://jekyllrb.com/docs/configuration/options/): -### Upgrading from a previous version +> Destination folders are cleaned on site builds +> +> The contents of `` are automatically cleaned, by default, when the site is built. Files or folders that are not created by your site will be removed. Some files could be retained by specifying them within the `` configuration directive. +> +> Do not use an important location for ``; instead, use it as a staging area and copy files from there to your web server. + +If `$HOME/repo/publishing-source` contains files that you want jekyll to leave untouched, specify them under `keep_files` in `_config.yml`. +In its default configuration, al-folio will copy the top-level `README.md` to the publishing source. If you want to change this behaviour, add `README.md` under `exclude` in `_config.yml`. + +**Note:** Do _not_ run `jekyll clean` on your publishing source repo as this will result in the entire directory getting deleted, irrespective of the content of `keep_files` in `_config.yml`. + +
+ +#### Upgrading from a previous version If you installed **al-folio** as described above, you can upgrade to the latest version as follows: @@ -125,7 +187,7 @@ If you installed **al-folio** as described above, you can upgrade to the latest # Assuming the current directory is $ git remote add upstream https://github.com/alshedivat/al-folio.git $ git fetch upstream -$ git rebase upstream/v0.3.1 +$ git rebase upstream/v0.3.5 ``` If you have extensively customized a previous version, it might be trickier to upgrade. @@ -133,6 +195,25 @@ You can still follow the steps above, but `git rebase` may result in merge confl See [git rebase manual](https://help.github.com/en/github/using-git/about-git-rebase) and how to [resolve conflicts](https://help.github.com/en/github/using-git/resolving-merge-conflicts-after-a-git-rebase) for more information. If rebasing is too complicated, we recommend to re-install the new version of the theme from scratch and port over your content and changes from the previous version manually. +### FAQ + +Here are some frequently asked questions. +If you have a different question, please ask on [gitter](https://gitter.im/alshedivat/al-folio). + +1. **Q:** I am using a custom domain (e.g., `foo.com`). + My custom domain becomes blank in the repository settings after each deployment. + How do I fix that?
+ **A:** You need to add `CNAME` file to the `master` or `source` branch of your repository. + The file should contain your custom domain name. + (Relevant issue: [130](https://github.com/alshedivat/al-folio/issues/130).) + +2. **Q:** My webpage works locally. + But after deploying, it is not displayed correctly (CSS and JS is not loaded properly). + How do I fix that?
+ **A:** Make sure to correctly specify the `url` and `baseurl` paths in `_config.yml`. + If you are deploying a personal or organization website to GitHub Pages, leave both fields blank. + If you are deploying a project page to GitHub Pages, leave `url` blank and set `baseurl: //`. + Generally, if you are deploying your webpage to `your-domain.com/your-project/`, you must set `url: your-domain.com` and `baseurl: /your-project/`. ## Features @@ -142,13 +223,17 @@ Your publications page is generated automatically from your BibTex bibliography. Simply edit `_bibliography/papers.bib`. You can also add new `*.bib` files and customize the look of your publications however you like by editing `_pages/publications.md`. -#### Author Annotation -In publications, the author entry for your self is identified by string `scholar:last_name` and string array `scholar:first_name` in `_config.yml`. If the entry matches the last name and one form of the first names, it will be underlined. +

+ +
Author annotation: + +In publications, the author entry for yourself is identified by string `scholar:last_name` and string array `scholar:first_name` in `_config.yml`: ``` scholar: last_name: Einstein first_name: [Albert, A.] ``` +If the entry matches the last name and one form of the first names, it will be underlined. Keep meta-information about your co-authors in `_data/coauthors.yml` and Jekyll will insert links to their webpages automatically. The coauthor data format in `_data/coauthors.yml` is as follows, ``` @@ -173,7 +258,7 @@ The coauthor data format in `_data/coauthors.yml` is as follows, ``` If the entry matches one of the combinations of the last names and the first names, it will be highlighted and linked to the url provided. -

+
### Collections @@ -249,22 +334,6 @@ If you would like to improve documentation, add your webpage to the list below, For more complex issues/bugs or feature requests, please open an issue using the appropriate template. -## FAQ - -Here are some frequently asked questions. -If you have a different question, please ask on [gitter](https://gitter.im/alshedivat/al-folio). - -1. **Q:** When I preview my website locally everything looks great, but when I deploy it on GitHub bibliography Liquid tags are not recognized. - How do I fix this?
- **A:** GitHub Pages rendering does not support certain Jekyll plugins, and `jekyll-scholar` that we use to render bibliography is one of them. Please make sure you deploy your website to GitHub using `bin/deploy` script that circumvents the issue. - -2. **Q:** When I deploy my fork of al-folio, it says `Deployed successfully!` - But when I open `.github.io`, I get `Page not found (404)` error. - How do I fix this?
- **A:** For personal webpages, please run `bin/deploy --user`. - (See also relevant past issues: [#5](https://github.com/alshedivat/al-folio/issues/5), [#49](https://github.com/alshedivat/al-folio/issues/49), [#86](https://github.com/alshedivat/al-folio/issues/86).) - - ## License The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). diff --git a/_config.yml b/_config.yml index 06dfa24..7e5e8a1 100644 --- a/_config.yml +++ b/_config.yml @@ -113,7 +113,15 @@ kramdown: # Includes & excludes include: ['_pages'] -exclude: [vendor] +exclude: + - bin + - Gemfile + - Gemfile.lock + - vendor +keep_files: + - CNAME + - .nojekyll + - .git # Plug-ins plugins: @@ -123,8 +131,6 @@ plugins: - jekyll/scholar - jekyll-twitter-plugin - jemoji - # - bootstrap - # - material-sass # ----------------------------------------------------------------------------- # Jekyll Scholar