https://github.com/cavenfish/academicwebsite.jl
GitHub Pages template for academic websites using Franklin.jl
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Keywords
Repository
GitHub Pages template for academic websites using Franklin.jl
Basic Info
- Host: GitHub
- Owner: Cavenfish
- Language: SCSS
- Default Branch: main
- Homepage: https://cavenfish.github.io/AcademicWebsite.jl/
- Size: 1.42 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
This project is still in the development phase
Please see the roadmap for an indication of how far along development is for the current state.
AcademicWebsite.jl
This project aims to be a static site template for Franklin.jl, which hopefully can one day be added to FranklinTemplates.jl. The project will hopefully also become a package in the Julia general registry, so that existing websites using this template can easily update their sites as the template updates.
The focus for this template is websites for academics, and it was heavily inspired by the AcademicPages template.
How to Setup a Website
First add the package from GitHub using Julia Pkg manager.
pkg> add https://github.com/Cavenfish/AcademicWebsite.jl.git
The use to package to scaffold your website
```julia using AcademicWebsite
initsite("./sitedir") ```
If you use GitHub to deploy your website, you can use this GitHub action to compile the SASS and run some JS code before deploying your site. For the action below to work you need to make sure the directory you initialize you site in is in the root of the GitHub repo.
```yaml name: Deploy
on: push: branches: - main pull_request: branches: - main
jobs: build-and-deploy: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout uses: actions/checkout@v2 - name: Install Julia uses: julia-actions/setup-julia@latest - name: Build Package uses: julia-actions/julia-buildpkg@v1 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 18 - name: Run JS Code run: | mkdir css npm install node ./utils/js/compilesass.js node ./utils/js/generatejdenticons.js - name: Build Franklin Site shell: julia --project=./ {0} run: | using Pkg Pkg.instantiate() using Franklin optimize(minify=false, prerender=false) - name: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v3 with: GITHUBTOKEN: ${{ secrets.GITHUBTOKEN }} BRANCH: gh-pages FOLDER: ./_site ```
Updating a Website
Unlike other website templates you can update an existing
website with AcademicWebsite.jl.
```julia using AcademicWebsite
update_site("./site/dir") ```
This will only copy over template files, leaving your personal
changes to files like config.toml unchanged. This isn't a
perfect system, but it at least gives some amount of
ability to update an existing website. One main flaw is that
updating does not delete stale files yet, so if unused files
might build-up in your site directory.
Warning: This package is still not very stable so updating to furture version may cause your site to break.
Local Build
Requires npm and nodejs
After running the init_site function, if needed enter the
site directory, then run the following.
npm install
mkdir _css
node utils/js/compile_sass.js
node utils/js/generate_jdenticons.js
After that you can serve the site with Franklin.
```julia using Pkg Pkg.activate("./") Pkg.instantiate()
using Franklin
serve() ```
Roadmap
- [x] Setup a live-demo
- [ ] Make everything prettier (subjective but still important)
- [x] Style the mobile version
- [x] Make software/code showcase
- [ ] Add more cover styles
- [ ] Add color themes (like cover style but for site colors)
- [x] Add CV display/download
- [ ] Add icons to team cards
- [x] Make documentation (ie. how to setup a personal page)
- [ ] Refactor sass for better organization
- [ ] Make news feed
- [x] Add blog page to live-demo
- [x] Add hobbies page to live-demo
- [x] Make nav function work with dirs too
- [x] Add optional pronouns field for names
- [x] Make it possible to update the template for existing sites
- [ ] Add RSS for blog
Credits
The example CV was taken from this Overleaf template.
Owner
- Name: Brian C. Ferrari
- Login: Cavenfish
- Kind: user
- Company: Chemistry PhD Candidate at Leiden University
- Website: https://cavenfish.github.io/
- Repositories: 4
- Profile: https://github.com/Cavenfish
GitHub Events
Total
- Create event: 1
- Commit comment event: 2
- Issues event: 2
- Watch event: 1
- Push event: 13
Last Year
- Create event: 1
- Commit comment event: 2
- Issues event: 2
- Watch event: 1
- Push event: 13
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: AcademicWebsite
GitHub Pages template for academic websites using Franklin.jl
- Homepage: https://cavenfish.github.io/AcademicWebsite.jl/
- Documentation: https://docs.juliahub.com/General/AcademicWebsite/stable/
- License: MIT
-
Latest release: 0.1.0
published 6 months ago