https://github.com/cavenfish/academicwebsite.jl

GitHub Pages template for academic websites using Franklin.jl

https://github.com/cavenfish/academicwebsite.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

academic-website franklin-jl github-pages static-site template
Last synced: 5 months ago · JSON representation

Repository

GitHub Pages template for academic websites using Franklin.jl

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
academic-website franklin-jl github-pages static-site template
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme

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

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

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Last synced: 5 months ago