tutors-sdk / tutors Goto Github PK
View Code? Open in Web Editor NEWThe core Tutors Reader application.
Home Page: https://tutors.dev
License: MIT License
The core Tutors Reader application.
Home Page: https://tutors.dev
License: MIT License
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).
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
Either fix the type error, or disable the type check (single line only)
Readme writeup for tutors-html package
Refactor $lib folder to contain 2 sub-folders:
UI will contain all svelte UI elements, services will contain all typescript elements.
Hide names and ID
Why?
GDPR
A few items we can start to consider to test:
**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**
Update the readme for the tutors-home package (sites/tutors-home).
Allow for custom domain use on Auth0 login to unify the Tutors experience.
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.
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
Regression in tutors-publish-html, tested in version 3.0.2. If a markdown note includes a line with the contents [toc]
, a table of contents doesn't generate as it previously did in tutors-html.
[toc]
Cypress Tests currently exercise the 'dynamic' site as generate by tutors-publish.
The static publisher - generated by tutors-publish-html - is approaching feature parity (for course content only)
Documenton on using tutors-publish-html is here
create a base tailwind.config.js in the tutors-configs package and import this into the readers / tutors-home packages
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
Building a course with [email protected], if the description of a card contains a link formatted in markdown, such as [text](https://github.com/)
then the card description is shown as such, instead of rendering text.
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.
Break down the components used in the tutors reader and build ui components.
The ui is built using TailwindCSS & DaisyUI as a base.
Build out the components for the primary nav bar. This is to include:
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 a common eslint config in components/tutors-configs
See implementation of tailwind config for how this should be implemented
Implement the common tailwind config from tutors-configs in the tutors-home package.
You can see the implementation of this in action on the tutors-course-reader package.
Implement ESLint in the sites/tutors-course-reader package
implement ESLint in the tutors-course-reader & tutors-reader-lib packages
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 on tutors-ui - use sb@next (v7 beta) for vite/svelte support OOTB with a view to move to v7 once in production
I have been testing #388 [email protected], and I have noticed that the following cards won't display in the root directory of a course when building: github, web, archive and paneltalk (the one that doesn't reside on an unit, course/paneltalk).
These would show when building with [email protected], so I suspect this could be a regression.
Fix typos in readme
Allow for multiple login types with auth0 (username&password, github, slack) and set up account linking.
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 )
Implement the common tailwind config from tutors-configs in the tutors-time-reader package.
You can see the implementation of this in action on the tutors-course-reader package.
upgrade cli design for tutors-json package (ie. loading bars, prompts, menus as required).
Enable installations of Tutors on devices, with the homepage as the course it is being installed from.
May be a larger job - to scope out.
readme writeup for tutors-json package
Implement cypress in the tutors-course-reader
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 the sections of the tutors-home website.
For best results, use the fetch
that is passed to your load
function: https://kit.svelte.dev/docs/load#making-fetch-requests
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.