Giter Site home page Giter Site logo

tutors-sdk / tutors Goto Github PK

View Code? Open in Web Editor NEW
105.0 3.0 35.0 30.2 MB

The core Tutors Reader application.

Home Page: https://tutors.dev

License: MIT License

JavaScript 0.55% TypeScript 49.26% HTML 0.41% CSS 2.48% Svelte 47.31%
education educational-technology elearning hacktoberfest sveltekit holopin edtech

tutors's Issues

UI: Build out a base for a component library in $lib/components

As title, build out a base for a component library in $lib/components for the app. These components are to live separately to the learning object model, with specific data to be passed to them, thus ensuring they are reusable in any form.

This means building out a structure for the UI components to live in, an index to export and a visual tool to view the components (ie storybook).

Card Videos Play the video immediately

Why?
Currently requires 2 clicks.
one to to refresh the page to a panel video
another to start the video playing

Simplify
to combine both
reducing number of user clicks

App: Refactor $lib folder

Refactor $lib folder to contain 2 sub-folders:

  • UI
  • Services

UI will contain all svelte UI elements, services will contain all typescript elements.

Cypress Tests: Info bar & TOC & Companions & Walls

A few items we can start to consider to test:

  • Info bar (top left)
  • TOC (top right)
  • Companions (noodle etc..)
  • Walls (the filters - for all labs, lectures etc..

**These are the links in the nav bar to Moodle, YouTube, slack etc….

You will find them at the end of tutors.json - a “companions” property**

Add the feature of cliping code in markdown

HI, I am an international student in SETU, and my major is software engineering.
Really appreciate this project. Here is a suggestion of adding the feature of cliping code in markdown in tutor-reader.

I found that in packages/tutors-reader-lib/src/utils/markdown-utils.ts, showdown is used to convert markdown to html. Here is a simple plugin to implement the function of copying code in markdown: showdown-copy-code.

Hope this suggestion helpful.

Kind Regards.

Simplify tutors-ui components & create storybook stories

Now that we have storybook set up and configured, we need to simplify the component in the tutors-ui package (ie make them more generic) and create stories for the components.

This package follows the atomic design methodology, so best to work on atoms first, before moving on to Molecules & Organisms.

storybook production deploy: https://ui.tutors.dev/

Instructions to run SB locally:

npm i

cd packages/tutors-ui

npm run storybook

update tutors-time-reader design

Update the design of the tutors-time-reader package to align with tutors-course-reader - current components can be found at /sites/tutors-course-reader/src/tailwind.css

Notes won't open in a tutors-html generated site if placed as topic>unit>note

I have run into certain problems displaying notes inside units using [email protected].

If notes are placed inside a topic they work as intended, the title and subtitle show correctly, and the content displays when opened. For units I have witnessed an anomalous behaviour depending on the location of the unit directory is inside a topic.

If a note is placed under home>topic>unit, the title and subtitle show correctly, but attempting to open the note won't open the note.

If a note is placed under home>unit, no problems arise.

Build tutors-ui components

Break down the components used in the tutors reader and build ui components.

The ui is built using TailwindCSS & DaisyUI as a base.

tutors-publish-html website build error on note

Building courses with #388 [email protected] and Node 20.5.0 may fail upon reaching a note card. I haven't been able to identify what makes these notes special in order to trigger this issue since there are notes which don't trigger it. This issue is not present in [email protected].

I have submitted an example of a course with a note that triggers the aforementioned issue at:
https://github.com/tc-565/tutors-publish-html-regression-testing

I attach the error message too:

% tutors-html
Static course generator tutors-publish-html: 3.0.1 (tutors-gen-lib: 1.0.0)
: Regression testing :  Reference Course
--: unit-01-local : Avanzado: Desarrollo local de cursos
----: note-01-gh-desktop :  Uso de GitHub Desktop
----: note-02-compilar :  Compilación del sitio
cd: no such file or directory: unit-01-local
mkdir: no such file or directory: /Users/USERNAME/Documents/Regression testing/html/unit-01-local
node:internal/fs/utils:351
    throw err;
    ^

Error: ENOENT: no such file or directory, open '/Users/USERNAME/Documents/Regression testing/html/unit-01-local/note-01-gh-desktop/index.html'
    at Object.openSync (node:fs:602:3)
    at Object.writeFileSync (node:fs:2334:35)
    at writeFile (/opt/homebrew/lib/node_modules/tutors-publish-html/node_modules/tutors-gen-lib/src/utils/utils.js:34:15)
    at publishTemplate (/opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:32:27)
    at Object.emitNote (/opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:38:9)
    at Object.emitLoPage (/opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:49:18)
    at Object.emitLo (/opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:63:18)
    at /opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:71:18
    at Array.forEach (<anonymous>)
    at Object.emitTopic (/opt/homebrew/lib/node_modules/tutors-publish-html/src/lo/html-emitter.js:70:103) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/Users/USERNAME/Documents/Regression testing/html/unit-01-local/note-01-gh-desktop/index.html'
}

Create common eslint config

Create a common eslint config in components/tutors-configs

See implementation of tailwind config for how this should be implemented

Update skeleton to v1.0.0

  • Update all packages using skeleton to 1.0.0 stable
  • Migrate (depracated) menus to popups
  • Update lightswitch utility used
  • fix theme builder
  • fix search bar design
  • check all other functions work as normal

GitHub action for tutors-html static website deployment

Hi. I am attempting to make a GitHub action in order to automatically build and deploy a tutors website with tutors-html each time a change is pushed. For testing, I forked tutors-template.

I am able to build the website with Node v19.6.1 from my computer with [email protected], but I am facing trouble when doing so with one of GitHub's runners, for which I have tried both Node v18.4.1 and v19.6.1. An error is thrown after a Template render error message, and the site doesn't get to build. I am not able to figure out why this different behaviour presents itself.

The deploy action can be consulted at my fork, as well as the logs of the run.

Kudos for this amazing project!

/opt/hostedtoolcache/node/19.6.1/×64/lib/node_modules/tutors-html/node_modules/nunjucks/src/environment.js:575
        throw err;
  Template render error: (/opt/hostedtoolcache/node/19.6.1/×64/lib/node_modules/tutors-html/src/views/Topic.njk)
  Template render error: (/opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/src/views/Topic.njk)
  Template render error: (/opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/src/views/Topic.njk)
  Error: template not found: components/cards/card.njk
    at Object._prettifyError (/opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/node_modules/nunjucks/src/lib.js:36:11)
    at /opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/node_modules/nunjucks/src/environment.js:563:19 at Template.root [as rootRenderFunc] (eval at _compile (/opt/hostedtoolcache/node/19.6.1/×64/1ib/node_modules/tutors-
html/node_modules/nunjucks/src/environment.js:633:18),<anonymous>:71:3)
    at Template. render (/opt/hostedtoolcache/node/19.6.1/×64/1ib/node_modules/tutors-html/node_modulles/nunjucks/src/environment.js:552:10)
    at /opt/hostedtoolcache/node/19.6.1/x64/lib/node _modules/tutors-htm1/node_modules/nunjucks/src/environment.js:366:27 at createTemplate(/opt/hostedtoolcache/node/19.6.1/×64/1ib/node_modules/tutors-html/node_modules/nunjucks/src/environment.js:315:9)
    at handle (/opt/hostedtoolcache/node/19.6.1/x64/1ib/node_modules/tutors-html/node_modules/nunjucks/src/environment.js:327:11)
    at /opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/node_modules/nunjucks/src/environment.js:339:9 at next (/opt/hostedtoolcache/node/19.6.1/×64/lib/node_modules/tutors-html/node_modules/nunjucks/src/lib.js:328:7)
    at Object.asyncIter/opt/hostedtoolcache/node/19.6.1/x64/lib/node_modules/tutors-html/node_modules/nunjucks/src/lib.js:334:3)
Node.js v19.6.1

Implement Storybook for tutors-ui

Implement Storybook on tutors-ui - use sb@next (v7 beta) for vite/svelte support OOTB with a view to move to v7 once in production

Rebuild tutors-ui to not use lo's

Rebuild tutors-ui so the components do not use learning objects, and explicit data is passed to the component.

These components will be opinionated to suit the style of Tutors and can be reused then across all Tutors applications.

Each component must be broken up into smaller components and storybook stories created as such to display them. Assembled components must have all variations and code snippets on how to use in the story.

All work for this is being completed in the attached development branch ( feat/tutors-ui )

Few upper bar icons in tutors-html

As of [email protected], the only icons that can be used on the upper left bar are Slack, YouTube and Moodle, as seen in
https://github.com/tutors-sdk/tutors/blob/f73645f41d5758db8bb10830a92e6c7a5bb774bb/cli/tutors-html/src/views/components/navigators/support/Companions.njk

I unsuccessfully tried to use other icons such as the ones listed in tutors-sdk/tutors-template/properties.yaml. Neither the ones for Teams or Piazza display on the official deployment of the tutors-template website at https://tutors-sdk.github.io/tutors-template/, despite being listed on the aforementioned file.

As workaround, is there a way to use custom svg icons in tutors-html for this particular situation? Are there plans for the icon selection of tutors-html to be expanded?

Update tutors-home website (tutors.dev)

Update the sections of the tutors-home website.

  • Contributors section (auto generate? not sure)
  • Design page - link components card to vitebook
  • Changelog - Automatically get changelog from repo?

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.