Giter VIP home page Giter VIP logo

ucfai's Introduction

ucfai.org

Hugo Rewrite edition

Netlify Status

Installation and setup

  1. Clone this repository, using something like... git clone [email protected]:ucfai/ucfai.org.
  2. Checkout the hugo-migration branch, this is what we'll be working from.
  3. Make sure you run git submodule update --init --recursive to properly "install" hugo-academic.
  4. From the repository root, run: docker-compose up.

You'll find the site is live at [http://localhost:8234](http://localhost:8234).

Interaction with the Docker Container

We're using docker-compose to simplify and standardize the development/build process. Because of this, you need to become semi-familiar with the docker-compose CLI interface.

To start the container:

docker-compose up

This will start the container and attach the log output to your current terminal window.

To start the container in a detached state:

docker-compose up -d

This will start the container in a detached state, which allows it to persist (continue running) beyond the terminal window. All it requires is that docker is running on your host machine.

To access the log from this container:

docker-compose logs hugo-ucfai-org

As this container is named, you'll only be able to spawn a single instance of it (which makes it trivial to access the logs, too). As a build system, hugo dumps all errors to this log, so you'll be able to catch a glimpse of what's going on by running the above command.

Personal recommendation: Run docker-compose up whenever you're developing, the latter methods of running are useful, but can make it a bit difficult to track down errors until you've gotten into the headspace work with docker, which takes a bit.

ucfai's People

Contributors

cfroehli avatar ch1pless avatar chloegeller avatar gcushen avatar hevia avatar ionlights avatar jmuchovej avatar jpawlowski avatar napulen avatar paullunis avatar pedrocontipelli avatar sirroboto avatar stephentesta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ucfai's Issues

[Hugo Migration] Migrate Notebook posts to Academic's "Documentation" setup

Mostly posting here for posterity, @causallycausal and @ionlights have already finished most of this.

Tasks:

  • (🔑Required) Test present markdown renderings on ucfai.org in hugo-academic's Documentation structure
  • (🔑Required) Added on 01/07 Markdown is needed for ToC to work, however pygments doesn't work unless code is rendered in HTML. _This mandated changes to autobot to combine the rendering of Markdown and HTML (in specific sections).
  • (🔑Required) Extract front-matter that needs to be filled out for autobot, place this in autobot/templates/notebooks/hugo-front-matter.html.j2. The corresponding places to make edits for this in autobot are here: https://github.com/ucfai/bot/blob/836879d680805c5a86de505666011c175fba39a5/autobot/utils/ucfai_exporter.py#L70
    There's some string concatenation that needs to be done, but otherwise, we should be able to use the FilesWriter that's already present.

[Hugo Migration] Sort Documentation Menus

The Documentation Menus from hugo-academic are pretty powerful and configurable, however we need to strike a balance of "ease of navigation" and "ease of understanding/consumption."

Tasks:

  • (🔑Required) Develop a better model of how the navigation structure works and how hugo-academic figures out which set of menus to use. Take notes here.
  • (🔑Required) Decide on a navigation structure, this should make it's way into the templates we end up using.

Note on Tasks: While these are ultimately going to be the autobot, we need to first design these templates and see how they look on the website itself before extracting the template content into autobot.

[Hugo Migration] Determine setup for `groups`

Every group should have a programmatic setup, which is run during semester-setup

Tasks:

  • (🔑Required) Display group meeting date, time, and room.
  • (🔑Required) Display group's Coordinators (this should be based on info in their author page).
  • (🔑Required) Display an abbreviated syllabus (should be title, banner image, and a summary).

Use the above information to design the necessary front-matter that we can extract and to determine the needed changes to HTML layout files.

  • (🔑Required) Extract Jinja2 template for the group setup. This should be in autobot/templates/seed/website/group.md.j2 but render to groups/<group>/<semester>/_index.md.
    • This should be done both during semester-setup and semester-upkeep, as we may bring on Coordinators during the semester.
  • (🔑Required) Fill out as much info as possible from the syllabus.yml and overhead.yml files. (This should also be Jinja2 ready.)

Note on Tasks: While these are ultimately going to be the autobot, we need to first design these templates and see how they look on the website itself before extracting the template content into autobot.

[Hugo Migration] Determine navigation elements and styling

Tasks:

  • (🔑Required) Decide on the navigation elements we should have and need.
  • (🔑Required) On page scroll, the navigation should transition to the dark grey that's used elsewhere on the site (especially on mobile).
  • (🔑Required) Update navigation element highlights, based on page we're on (including if in sub-menus, e.g. "Groups > Core" – groups should be highlighted).

[Hugo Migration] Add authors (Coordinators) based on `overhead.yml` from the semester

Each Coordinator should have a profile on the website to document their contributions to the club.

Tasks:

  • (🔑Required) Take the known Coordinators and add them to content/authors/ by their GitHub username (that is, create folders for them)
    • This should be done both during semester-setup and semester-upkeep, as we may bring on Coordinators during the semester.
  • (🔑Required) Copy a Jinja2 template _index.md for each author and fill it out with as much info as possible (this should be done when they're added, only – to avoid overwriting).

[Hugo Migration] Add YouTube, Slides, Kaggle, Colab, and GitHub buttons

Order in the title is arbitrary.

We need to have links out of the notebook onto the rest of the web where we have content. This should also be done, but needs to have its generalization tested.

Tasks

  • (🔑Required) Add buttons for each platform with helpful icons and text.
  • (🔑Required) Blocked on 01/07: Guarantee that autobot will make the appropriate translations from the syllabus.yml to each page.
  • (🍜 Nice to have) Potentially re-color the buttons to match the brand identity of each platform? This might help with visual grepping, just like the icons.

Use the colors specified here: https://brandcolors.net/

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.