Giter VIP home page Giter VIP logo

shamalweerasooriya / escal-new Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cepdnaclk/escal-new

0.0 0.0 0.0 5.87 MB

This is the code repository of the Embedded Systems and Computer Architecture Laboratory (ESCAL) website for the Department of Computer Engineering, University of Peradeniya. https://cepdnaclk.github.io/escal-new/

Home Page: https://cepdnaclk.github.io/escal-new/

License: MIT License

Shell 0.04% JavaScript 2.72% Ruby 0.04% Python 3.84% CSS 34.16% HTML 30.99% SCSS 28.21%

escal-new's Introduction

ESCAL Website

Table of Contents

Under the Hood

This is the code repository of the new static website made with Jekyll, for the Embedded Systems and Computer Architecture Laboratory maintained by Department of Computer Engineering, University of Peradeniya, Sri Lanka.

Old website: https://escal.ce.pdn.ac.lk/

What is ESCAL?

The Embedded Systems and Computer Architecture Laboratory (ESCAL) is a research group at the Department of Computer Engineering at the University of Peradeniya. The primary focus of the group is inclined towards micro-architectural design aspects of embedded microprocessors and their security and reliability concerns.

The group is led by Roshan Ragel and has continued collaborations with Professor Sri Parameswaran at the Embedded Systems Lab, School of Computer Science and Engineering, the University of New South Wales (UNSW), Sydney.

The group consists of the academic staff members of the Department of Computer Engineering, the Postgraduate (Ph.D., M.Phil., M.Eng., and M.Sc.) students from both the Department of Computer Engineering and the Postgraduate Institute of Science (PGIS), and the Undergraduate students from the Department of Computer Engineering and the Department of Statistics and Computer Science. The group also collaborates with the academic staff members, postdoctoral researchers and postgraduate students from the School of Computer Science and Engineering, UNSW. Roshan Ragel regularly visits UNSW, Sydney, as a visiting research fellow.

At present, the group works on the following themes:

  • Security and Reliability of Embedded Systems
  • Side-Channel Attacks and Countermeasures
  • Application Specific Processor and Memory Hierarchy Design
  • High-Performance Computing

✨New contributor guide

If you're a new contributor, please follow the following guidelines.

Getting Started

To get started, follow the following steps:

  1. Clone the repository to your local machine
$ git clone https://github.com/cepdnaclk/escal-new.git
  1. Install Jekyll. You have two options:

    $ conda install -c conda-forge ruby c-compiler compilers cxx-compiler

    Finally, install Jekyll and Bundler, which will let you install the dependencies for the site:

    $ gem install jekyll bundler
  2. Install the site's build dependencies. These are specified in Gemfile. From the root of the repository, run:

$ bundle install

This step might take a few moments as it must download and install a number of local extensions. It will create a local file called Gemfile.lock. These are the "frozen" dependencies and their version numbers needed to build the site.

  1. Build the site locally. From the root of the repository, run:
$ bundle exec jekyll serve liveserve

This will build the site's HTML and open a server at localhost:4000 for you to preview the site.

Using VSCode to build and run the site locally

We recommend using VSCode to build and run the site locally since it is very convenient. To do so, follow the following steps:

  1. Install Jekyll Run extension on VSCode.
  2. After installing the extension, open VSCode settings (Preferences > Settings) and search for Jekyll-run. Then, find the Command Line Arguments section and add the following arguments:
--livereload --force_polling --port 3000
  1. Now, you can build and run the site locally by clicking the play button with Jekyll Run label on the bottom left corner of VSCode. Note that this extension will also automatically install the required dependencies.

How to contribute

You must push your changes to the gh_pages_dev branch and create a pull request to the main branch. @NuwanJ, @Akilax0, @sathiiii, @shamalweerasooriya, or @dinuransika will review your pull request and merge it to the main branch. Please do test your changes locally before creating a pull request. Also, link the issue you're working on in the pull request.

Website structure

Please refer to this document for the website structure.

Folder structure

All the folders that has a name starting with _ are used by Jekyll to build the website. Please refer to this document for more information.

.github/workflows

This folder contains the GitHub Actions workflow files. Currently, there is only one workflow file called scheduled-deploy.yml. This workflow file is used to deploy the website to the main branch every Sunday at 12:00 AM (00:00) GMT+5:30. It basically runs the python scripts to generate the static pages and pushes them to the main branch. The commit will trigger the GitHub Pages build process and the website will be updated.

assets

This folder contains the assets used in the website including css, js, images, and fonts. If you want to add new styles, please edit the assets/css/style.css file. Try to use Bootstrap4.0 styles as much as possible. Refer to the Bootstrap 4.0 official documentation for more details. If you want to add new JavaScript scripts, please edit the assets/js/scripts.js file.

pages

This folder contains all the HTML pages of the website. The pages that are generated from the python scripts are located here. If you want to add a new page, please create a folder with the page name and add an index.html file to it. If there're subpages, add them to the same folder as well.

python_scripts

This folder contains the python scripts used to pull data and generate HTML pages. If you want to add a new script, please add it to this folder.

Resources for learning Jekyll

TO-DO

Jekyll Templates

  • Template for main site.
  • Dynamic navigation bar.
  • Template for Projects page.
  • Template for People page.
  • Template for ESCAL Bio-med page.
  • Template for ESCAL Robotics page.
  • Template for ESCAL GPU page.
  • Template for Resources page.

Other

  • Python script to extract and save information of ESCAL related people from the API.
  • Python script to extract and save ESCAL related project information from the API.
  • Add pagination to the projects page.
  • Pages for all project categories.
  • Implement projects search.
  • Project thumbnails (For now: placeholders).
  • Implement theme switcher.
  • Implement people page.
  • Implement Research home page.
  • Implement Resources page -> Create cards for ESCAL facilities (robotics, wearables, fpgas, etc.)
  • Improve footer.
  • Re-organize the home page layout -> Add latest project updates in the hero section, recent projects, recent works, etc.
  • Prepare a site plan (user navigation diagram kind of thing, with all the possible pages).
  • Improve pagination controls in the Projects page.
  • Implement the filtering functionality of the tag cloud in the Projects page.
  • Add project tags to the project extraction script.

escal-new's People

Contributors

sathiiii avatar dinuransika avatar shamalweerasooriya avatar harith-abeysinghe avatar eshanjayasundara avatar nuwanj avatar lakshithakaveen avatar dasuntheekshanagit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.