diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100755
index 0000000000000..d77aa8dbcf288
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,15 @@
+{
+ "name": "ACADEMIC PAGES",
+ "dockerComposeFile": "../docker-compose.yaml",
+ "service": "jekyll-site",
+ "remoteEnv": {
+ "VSCODE_SERVER_DIR": "/home/vscode/.vscode-server"
+ },
+ "runArgs": [
+ "--user",
+ "1000:1000"
+ ],
+ "workspaceFolder": "/usr/src/app",
+ "remoteUser": "vscode",
+ "forwardPorts": [4000] // Add port forwarding
+}
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index dd84ea7824f11..b25eacff412b9 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -3,12 +3,11 @@ name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
-assignees: ''
---
**Describe the bug**
-A clear and concise description of what the bug is.
+A clear and concise description of what the bug is, be sure to note if the issue is presenet in the *template* or appeared on *your site*. If the bug appears on your site, please be sure to provide a link to your repository.
**To Reproduce**
Steps to reproduce the behavior:
@@ -23,16 +22,11 @@ A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
-**Desktop (please complete the following information):**
+**Browser (please complete the following information):**
+ - Device: [e.g. iPhone6] (if applicable)
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
-**Smartphone (please complete the following information):**
- - Device: [e.g. iPhone6]
- - OS: [e.g. iOS8.1]
- - Browser [e.g. stock browser, safari]
- - Version [e.g. 22]
-
**Additional context**
Add any other context about the problem here.
diff --git a/.gitignore b/.gitignore
index 5c531a00105f8..f275ba9a25737 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,13 @@ local/
# Ignore the Gemfile that is generated
Gemfile.lock
-# Ingore files created by npm
+# Ignore files created by npm
node_modules
-package-lock.json
\ No newline at end of file
+package-lock.json
+
+# Ignore the vendor file and bundle for alternative installation
+vendor/
+.bundle/
+
+# Ignore folders related to IDEs
+.vscode/
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
old mode 100644
new mode 100755
index 563ebc2673851..e8973a8ee82f9
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,15 +7,30 @@ RUN apt-get update && apt-get install -y \
nodejs \
&& rm -rf /var/lib/apt/lists/*
-# Set the working directory inside the container
+
+# Create a non-root user with UID 1000
+RUN groupadd -g 1000 vscode && \
+ useradd -m -u 1000 -g vscode vscode
+
+# Set the working directory
WORKDIR /usr/src/app
+# Set permissions for the working directory
+RUN chown -R vscode:vscode /usr/src/app
+
+# Switch to the non-root user
+USER vscode
+
# Copy Gemfile into the container (necessary for `bundle install`)
COPY Gemfile ./
+
+
# Install bundler and dependencies
-RUN gem install bundler:2.3.26 && bundle install
+RUN gem install connection_pool:2.5.0
+RUN gem install bundler:2.3.26
+RUN bundle install
# Command to serve the Jekyll site
-CMD ["jekyll", "serve", "-H", "0.0.0.0", "-w", "--config", "_config.yml,_config_docker.yml"]
+CMD ["jekyll", "serve", "-H", "0.0.0.0", "-w"]
diff --git a/Gemfile b/Gemfile
index a430da0021401..ba132f0d204ec 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,3 +10,4 @@ group :jekyll_plugins do
end
gem 'github-pages'
+gem 'connection_pool', '2.5.0'
diff --git a/README.md b/README.md
index 66669d9b4ac05..e71dc10edc236 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
1. Click the "Use this template" button in the top right.
-1. On the "New repository" page, enter your repository name as "[your GitHub username].github.io", which will also be your website's URL.
+1. On the "New repository" page, enter your public repository name as "[your GitHub username].github.io", which will also be your website's URL.
1. Set site-wide configuration and add your content.
1. 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.
1. Check status by going to the repository settings, in the "GitHub pages" section
@@ -17,15 +17,23 @@ See more info at https://academicpages.github.io/
## Running locally
-When you are initially working 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:
+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](https://learn.microsoft.com/en-us/windows/wsl/about) the command is:
```bash
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:
+ ```bash
+ sudo apt update && sudo apt upgrade -y
+ ```
+ then try run `sudo apt install ruby-dev ruby-bundler nodejs` again.
+
On MacOS the commands are:
```bash
brew install ruby
@@ -33,7 +41,16 @@ When you are initially working your website, it is very useful to be able to pre
gem install bundler
```
1. 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):
+ ```bash
+ bundle config set --local path 'vendor/bundle'
+ ```
+ then try run `bundle install` again. If succeeded, you should see a folder called `vendor` and `.bundle`.
+
1. 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`
@@ -44,11 +61,16 @@ Working from a different OS, or just want to avoid installing dependencies? You
You can build and execute the container by running the following command in the repository:
```bash
+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](https://code.visualstudio.com/) you can use the [Dev Container](https://code.visualstudio.com/docs/devcontainers/containers) 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](https://github.com/academicpages/academicpages.github.io/issues/new/choose). For questions concerning how to style the template, please feel free to start a [new discussion on GitHub](https://github.com/academicpages/academicpages.github.io/discussions).
diff --git a/_config.yml b/_config.yml
index e63251be0a071..423672cfda015 100644
--- a/_config.yml
+++ b/_config.yml
@@ -13,7 +13,7 @@ title : "Your Name / Site Title"
title_separator : "-"
name : &name "Your Name"
description : &description "personal description"
-url : https://academicpages.github.io # the base hostname & protocol for your site e.g. "https://[your GitHub username].github.io"
+url : https://academicpages.github.io # the base hostname & protocol for your site e.g. "https://[your GitHub username].github.io" or if you already have some other page hosted on Github then use "https://[your GitHub username].github.io/[Your Repo Name]"
baseurl : "" # the subpath of your site, e.g. "/blog"
repository : "academicpages/academicpages.github.io"
@@ -32,6 +32,7 @@ author:
email : "none@example.org"
# Academic websites
+ academia : # URL
arxiv : # URL - Update with the correct link to your profile
googlescholar : "https://scholar.google.com/citations?user=PS_CX0AAAAAJ"
impactstory : # URL
@@ -136,7 +137,8 @@ facebook:
username :
app_id :
publisher :
-og_image : # Open Graph/Twitter default site image
+og_image : # Social media default site image
+og_description : # Social media default site image description
# For specifying social profiles
# - https://developers.google.com/structured-data/customize/social-profiles
social:
diff --git a/_config_docker.yml b/_config_docker.yml
deleted file mode 100644
index a50cbe7c866fa..0000000000000
--- a/_config_docker.yml
+++ /dev/null
@@ -1 +0,0 @@
-url: ""
\ No newline at end of file
diff --git a/_data/cv.json b/_data/cv.json
new file mode 100644
index 0000000000000..7f97d2beb7dfd
--- /dev/null
+++ b/_data/cv.json
@@ -0,0 +1,152 @@
+{
+ "basics": {
+ "name": "Your Sidebar Name",
+ "email": "none@example.org",
+ "phone": "",
+ "website": "https://academicpages.github.io",
+ "summary": "Currently employed at Red Brick University. Short biography for the left-hand sidebar",
+ "location": {
+ "address": "",
+ "postalCode": "",
+ "city": "Earth",
+ "countryCode": "US",
+ "region": ""
+ },
+ "profiles": [
+ {
+ "network": "Google Scholar",
+ "username": "",
+ "url": "https://scholar.google.com/citations?user=PS_CX0AAAAAJ"
+ },
+ {
+ "network": "ORCID",
+ "username": "",
+ "url": "http://orcid.org/yourorcidurl"
+ },
+ {
+ "network": "GitHub",
+ "username": "academicpages",
+ "url": "https://github.com/academicpages"
+ }
+ ]
+ },
+ "work": [],
+ "education": [
+ {
+ "institution": "GitHub University",
+ "area": "Ph.D in Version Control Theory",
+ "studyType": "",
+ "startDate": "",
+ "endDate": "2018",
+ "gpa": null,
+ "courses": []
+ },
+ {
+ "institution": "GitHub University",
+ "area": "M.S. in Jekyll",
+ "studyType": "",
+ "startDate": "",
+ "endDate": "2014",
+ "gpa": null,
+ "courses": []
+ },
+ {
+ "institution": "GitHub University",
+ "area": "B.S. in GitHub",
+ "studyType": "",
+ "startDate": "",
+ "endDate": "2012",
+ "gpa": null,
+ "courses": []
+ }
+ ],
+ "skills": [],
+ "languages": [],
+ "interests": [],
+ "references": [],
+ "publications": [
+ {
+ "name": "Paper Title Number 1",
+ "publisher": "Journal 1",
+ "releaseDate": "2009-10-01",
+ "website": "http://academicpages.github.io/files/paper1.pdf",
+ "summary": "This paper is about the number 1. The number 2 is left for future work."
+ },
+ {
+ "name": "Paper Title Number 2",
+ "publisher": "Journal 1",
+ "releaseDate": "2010-10-01",
+ "website": "http://academicpages.github.io/files/paper2.pdf",
+ "summary": "This paper is about the number 2. The number 3 is left for future work."
+ },
+ {
+ "name": "Paper Title Number 3",
+ "publisher": "Journal 1",
+ "releaseDate": "2015-10-01",
+ "website": "http://academicpages.github.io/files/paper3.pdf",
+ "summary": "This paper is about the number 3. The number 4 is left for future work."
+ },
+ {
+ "name": "Paper Title Number 4",
+ "publisher": "GitHub Journal of Bugs",
+ "releaseDate": "2024-02-17",
+ "website": "http://academicpages.github.io/files/paper3.pdf",
+ "summary": "This paper is about fixing template issue #693."
+ }
+ ],
+ "presentations": [
+ {
+ "name": "Talk 1 on Relevant Topic in Your Field",
+ "event": "UC San Francisco, Department of Testing",
+ "date": "2012-03-01",
+ "location": "San Francisco, CA, USA",
+ "description": ""
+ },
+ {
+ "name": "Tutorial 1 on Relevant Topic in Your Field",
+ "event": "UC-Berkeley Institute for Testing Science",
+ "date": "2013-03-01",
+ "location": "Berkeley, CA, USA",
+ "description": ""
+ },
+ {
+ "name": "Talk 2 on Relevant Topic in Your Field",
+ "event": "London School of Testing",
+ "date": "2014-02-01",
+ "location": "London, UK",
+ "description": ""
+ },
+ {
+ "name": "Conference Proceeding talk 3 on Relevant Topic in Your Field",
+ "event": "Testing Institute of America 2014 Annual Conference",
+ "date": "2014-03-01",
+ "location": "Los Angeles, CA, USA",
+ "description": ""
+ }
+ ],
+ "teaching": [
+ {
+ "course": "Teaching experience 1",
+ "institution": "University 1, Department",
+ "date": "2014-01-01",
+ "role": "Undergraduate course",
+ "description": ""
+ },
+ {
+ "course": "Teaching experience 2",
+ "institution": "University 1, Department",
+ "date": "2015-01-01",
+ "role": "Workshop",
+ "description": ""
+ }
+ ],
+ "portfolio": [
+ {
+ "name": "Portfolio item number 1",
+ "category": "portfolio",
+ "date": "",
+ "url": "",
+ "description": "Short description of portfolio item number 1"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/_data/navigation.yml b/_data/navigation.yml
index 5959f5879b028..ec7bf932432cc 100644
--- a/_data/navigation.yml
+++ b/_data/navigation.yml
@@ -3,6 +3,9 @@
# Changing the order here will adjust the order and you can also add additional
# links. Removing a link prevents it from showing in the header, but does not
# prevent it from being included in the site.
+#
+# NOTE that only one of the CV options should be selected, the first is for the
+# Markdown formatted page while the second is generated using JSON.
main:
- title: "Publications"
@@ -23,5 +26,8 @@ main:
- title: "CV"
url: /cv/
+ # - title: "CV"
+ # url: /cv-json/
+
- title: "Guide"
url: /markdown/
diff --git a/_includes/archive-single.html b/_includes/archive-single.html
index 2de05842c1f27..8e76c61c9acee 100644
--- a/_includes/archive-single.html
+++ b/_includes/archive-single.html
@@ -52,18 +52,32 @@
{{ post.excerpt | markdownify | remove: '
' | remove: '
' }} Read more {% endif %} - {% if post.citation and post.paperurl and post.slidesurl %} + {% if post.citation and post.paperurl and post.slidesurl and post.bibtexurl %} +Recommended citation: {{ post.citation }}
Download Paper | Download Slides | Download Bibtex
Recommended citation: {{ post.citation }}
Download Paper | Download Slides
Recommended citation: {{ post.citation }}
Download Paper | Download Bibtex
Recommended citation: {{ post.citation }}
Download Paper
Recommended citation: {{ post.citation }}
Download Slides | Download Bibtex
Recommended citation: {{ post.citation }}
Download Slides
Recommended citation: {{ post.citation }}
Download Bibtex
Recommended citation: {{ post.citation }}
+ {% elsif post.paperurl and post.bibtexurl %} +Download Paper | Download Bibtex
{% elsif post.paperurl %} + {% elsif post.slidesurl and post.bibtexurl %} +Download Slides | Download Bibtex
{% elsif post.slidesurl %} + {% elsif post.bibtexurl %} + {% endif %} diff --git a/_includes/author-profile.html b/_includes/author-profile.html index 5211a072ba224..b433281e01301 100644 --- a/_includes/author-profile.html +++ b/_includes/author-profile.html @@ -25,7 +25,7 @@