Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Academic Pages

Academic Pages is a GitHub Pages template for personal and professional portfolio-oriented websites.

Academic Pages template example

Getting Started

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Click the "Use this template" button in the top right.
  3. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and add your content.
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Running locally

When you are initially working on your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

  1. Clone the repository and made updates as detailed above.

Using a different IDE

  1. Make sure you have ruby-dev, bundler, and nodejs installed

    On most Linux distribution and Windows Subsystem Linux the command is:

    sudo apt install ruby-dev ruby-bundler nodejs

    If you see error Unable to locate package ruby-bundler, Unable to locate package nodejs , run the following:

    sudo apt update && sudo apt upgrade -y

    then try run sudo apt install ruby-dev ruby-bundler nodejs again.

    On MacOS the commands are:

    brew install ruby
    brew install node
    gem install bundler
  2. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.

    If you see file permission error like Fetching bundler-2.6.3.gem ERROR: While executing gem (Gem::FilePermissionError) You don't have write permissions for the /var/lib/gems/3.2.0 directory. or Bundler::PermissionError: There was an error while trying to write to /usr/local/bin. Install Gems Locally (Recommended):

    bundle config set --local path 'vendor/bundle'

    then try run bundle install again. If succeeded, you should see a folder called vendor and .bundle.

  3. Run jekyll serve -l -H localhost to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change. You may also try bundle exec jekyll serve -l -H localhost to ensure jekyll to use specific dependencies on your own local machine.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: sudo apt install build-essential gcc make

Using Docker

Working from a different OS, or just want to avoid installing dependencies? You can use the provided Dockerfile to build a container that will run the site for you if you have Docker installed.

You can build and execute the container by running the following command in the repository:

chmod -R 777 .
docker compose up

You should now be able to access the website from localhost:4000.

Using the DevContainer in VS Code

If you are using Visual Studio Code you can use the Dev Container that comes with this Repository. Normally VS Code detects that a development coontainer configuration is available and asks you if you want to use the container. If this doesn't happen you can manually start the container by F1->DevContainer: Reopen in Container. This restarts your VS Code in the container and automatically hosts your academic page locally on http://localhost:4000. All changes will be updated live to that page after a few seconds.

Maintenance

Bug reports and feature requests to the template should be submitted via GitHub. For questions concerning how to style the template, please feel free to start a new discussion on GitHub.

This repository was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License (see LICENSE.md). It is currently being maintained by Robert Zupko and additional maintainers would be welcomed.

Bugfixes and enhancements

If you have bugfixes and enhancements that you would like to submit as a pull request, you will need to fork this repository as opposed to using it as a template. This will also allow you to synchronize your copy of template to your fork as well.

Unfortunately, one logistical issue with a template theme like Academic Pages that makes it a little tricky to get bug fixes and updates to the core theme. If you use this template and customize it, you will probably get merge conflicts if you attempt to synchronize. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.


pages-build-deploymentGitHub contributorsGitHub releaseGitHub license

GitHub starsGitHub forks

Releases

Packages

Used by

Contributors

Languages