Source of the (Un)official Moodle Developer Resources

Overview

Moodle Developer Resources

Gitpod Ready-to-Code CI Score Lint status Build status Build status

Introduction

This repository includes the source for the Moodle Developer Resources - a collection of resources aimed at making your life as a Moodle Developer easier.

Contributing

These resources are written by developers, for developers. We value your input and your help in adding to them.

There are many ways that you can help, from reporting inaccuracies, and missing documentation, to making small corrections and, of course, creating new resources for others to make use of.

If you plan to contribute, then you may wish to setup a local development environment to make it easier to do so.

Local development environment

The Moodle Developer Resources are compiled using the Docusaurus tooling, which can be easily installed with Yarn.

Once installed, you should invoke yarn:

$ yarn

This will install all of the dependencies needed to run the development server.

Finally you can start the server with:

$ yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

There are some other commands that you may find useful:

Linting your content

One of the many powerful features of Markdown is its ability to be programmatically checked for a range of bugs and stylistic errors.

Every time a commit is pushed to source repository it is passed through several linting tools which it must pass before it can be merged.

You can lint your code before pushing it using yarn:

yarn lint

This will run the markdownlint CLI tool across all of the documentation directories and report any issues it comes across.

Some examples of these issues include:

  • header levels which do not increase incrementally
  • multiple level 1 headers (h1)
  • use of hard tabs instead of spaces
  • the presence of trailing spaces at the end of a line

These are usually easy to solve and, in many cases, can be fixed automatically.

Building your content

During development you will almost certainly want to use the yarn development server, however you will sometimes need to build the content to use certain features.

This is easily achieved with yarn:

yarn build

This command will compile all of the documentation into static HTML files complete with all appropriate resources.

As part of this build, the validity of all internal links will be checked. For this reason we strongly recommend building the content locally before submitting a pull request as broken internal links will lead to a build failure immediately.

You may also need to configure the build to view it locally. This can be achieved using a .env file in the project root. For more information on the format of the .env file, see the documentation in the .env.default file.

Comments
  • [repo] Add markdown lint rule to convert directional quotes to their non-directional variants

    [repo] Add markdown lint rule to convert directional quotes to their non-directional variants

    Related to #102

    This should prevent additional use of the following characters:

    These will be converted to either " or ' as appropriate.

    opened by andrewnicols 11
  • [docs] Migrate the

    [docs] Migrate the "Moodle and PHP" page and related changes

    This migrates the https://docs.moodle.org/dev/Moodle_and_PHP page to devdocs/general/development/php and, given php80 support has been officially announced for 3.11 and 4.0, amend the release notes of those versions to tell so.

    Then, register it as migrated page.

    And finally, fix all the links to the old page (yarn mdfix-all).

    Let's see if everything is in place (yarn build said ok), yay!

    Ciao :-)

    opened by stronk7 9
  • [chore] Domain name selection

    [chore] Domain name selection

    What do we need to do?

    We're currently trying to acquire https://moodle.dev, which is currently squatted. This may take some time.

    In the mean time, it would be good to have some more identity that github.io. I have a few suggestions, all of which are currently available for a reasonable cost:

    • learnmoodle.dev
    • learnmoodle.io
    • moodledev.io
    • moodledev.info
    • moodle.sh
    • moodle.how
    • moodle.fyi
    • moodledev.how
    • moodledev.fyi
    • moodle.wiki

    Any thoughts?

    migration repo 
    opened by andrewnicols 8
  • Some typography considerations.

    Some typography considerations.

    I've been skimming through the new dev docs and I like them a lot. I noticed that the typography is used differently and it would be maybe a good thing to use the ’ or ' consistently. But I'm maybe too picky.

    opened by lucaboesch 8
  • New issue template makes it impossble to sensibly report issues with the documentation system

    New issue template makes it impossble to sensibly report issues with the documentation system

    What is the URL of the page where you experience the error?

    All

    What is the issue with this page?

    I am trying to report an issue with the system, but it is insisting I input a specific page URL, and then say what is wrong on that page. This just gets in the way.

    Are you able to provide a patch for this?

    No (Default)

    bug help wanted good first issue repo tooling 
    opened by timhunt 7
  • Update release dates on the release notes

    Update release dates on the release notes

    In the future, perhaps it would be better to just note the planned release date when drafting the new release notes for the next minors. People should be able to determine the actual release status of the version from the indicated release date, right?

    opened by junpataleta 6
  • Fetch release note dates from metadata

    Fetch release note dates from metadata

    As requested in #298.

    This issue introduces a new React component:

    <ReleaseNoteIntro releaseName="4.0.2" />
    

    This will display the:

    • release date
    • link to the tracker

    I've also updated the page description for the meta tag because the import statement and React tags mess with it.

    opened by andrewnicols 5
  • Github link in the template is completely pointless, and impossible to work out how to edit a page

    Github link in the template is completely pointless, and impossible to work out how to edit a page

    What is the URL of the page where you experience the error?

    All

    What is the issue with this page?

    What is the poitn of the link to https://github.com/moodle/moodle at the top of every page?

    Combine that with the fact that is is non-obvious how to edit the current docs page (unlike on the old wiki), I suggest movign the 'Edit this page' link from the bottom to this slot.

    (Discusssion just now in dev chat confirms that several people haev found that link in its current place.)

    Are you able to provide a patch for this?

    No response

    bug help wanted repo needs-triage 
    opened by timhunt 5
  • [docs] moodleapp/*: Migrate Moodle App pages

    [docs] moodleapp/*: Migrate Moodle App pages

    Migrated from: https://docs.moodle.org/dev/Custom_Moodle_Apps https://docs.moodle.org/dev/Moodle_App_Accessibility https://docs.moodle.org/dev/Moodle_App_Translation https://docs.moodle.org/dev/Moodle_App_Development_Process https://docs.moodle.org/dev/Moodle_App_Docker_Images https://docs.moodle.org/dev/Moodle_App_Release_Process https://docs.moodle.org/dev/Moodle_App_Remote_Themes_Upgrade_Guide https://docs.moodle.org/dev/Debugging_network_requests_in_the_Moodle_App https://docs.moodle.org/dev/Setting_up_your_development_environment_for_the_Moodle_App https://docs.moodle.org/dev/Moodle_App_Overview https://docs.moodle.org/dev/Using_the_Moodle_App_in_a_browser https://docs.moodle.org/dev/Acceptance_testing_for_the_Moodle_App https://docs.moodle.org/dev/Unit_testing_for_the_Moodle_App https://docs.moodle.org/dev/Moodle_App_Deep_Linking https://docs.moodle.org/dev/Moodle_App_Scripts:_gulp_push https://docs.moodle.org/dev/Sending_custom_Push_Notifications_to_the_Moodle_App

    opened by crazyserver 5
  • Add Testing pages

    Add Testing pages

    I've started migrating Testing pages, like https://docs.moodle.org/dev/Testing and https://docs.moodle.org/dev/Testing_of_integrated_issues.

    While working on this patch, I've also updated the content of these pages:

    • I've removed references to Wednesday (as testing day) in the Testing integrated issues, because we're not following this approach anymore.
    • I've added a reference and link to Behat on the Testing page.

    QUESTION 1: Can a page have no sidebar assigned? I can put the "Testing integrated issues" into the "Testing" section, but that's something we might face on other pages. How should we deal with them? testingintegratedissues

    QUESTION 2: Apart from that, how many category levels we'll support/have?

    opened by sarjona 5
  • [docs] Include links to Moodle Academy

    [docs] Include links to Moodle Academy

    We should work with Jess Gramp (@jgramp) and Rajneel to work out how best to link from the Developer resources to the development courses in the Moodle Academy.

    From a User Experience perspective it would be good to have:

    • [ ] A navbar element
    • [ ] A landing page explaining that courses are available and linking to a landing page on the Academy
    help wanted question migration 
    opened by andrewnicols 5
  • [repo] Generate Third-party libraries from repository

    [repo] Generate Third-party libraries from repository

    This change includes:

    • a new libraries tool
    • a command on the tool (fetch) which will parse the thirdpartylibs.xml files located in the .moodle directory and then generate a libraries.json file from this
    • a command on the tool (generate) which will take the libraries.json file and a legacy-libraries.json file, and then generate a static markdown file
    • a GitHub action to run these commands once per week

    Fixes #93

    opened by andrewnicols 2
  • [docs] Upgrade H5P core and editor libraries to moodle-1.23

    [docs] Upgrade H5P core and editor libraries to moodle-1.23

    This PR should be merged once https://tracker.moodle.org/browse/MDL-76691 will be integrated (this is the issue to upgrade both H5P libraries, core and editor) :-)

    blocked-by-tracker 
    opened by sarjona 2
  • [chore] Automate copy between branches

    [chore] Automate copy between branches

    What do we need to do?

    Now that the docs folder is versioned, @timhunt has suggested in the "Moodle Developer Resources" room if it's possible to automate the copy of migrated pages between branches.

    help wanted repo 
    opened by sarjona 0
  • [chore] Change label of version selector

    [chore] Change label of version selector

    What do we need to do?

    A suggestion from Eloy re version dropdown selector:

    Does the drop down need some label? Maybe not, but right now it looks like (to me, this is a 100% subjective feeling) it's floating in the middle of nowhere.

    help wanted repo needs-triage 
    opened by andrewnicols 3
Owner
Moodle Development
Moodle Development
Download all Moodle files with one click. This is a Chrome extension built to save time and effort from downloading files manually one by one!

Moodle Downloader Extension Moodle downloader extension for Chrome. The extension is tested with both the TUM moodle and the official moodle demo. Not

Zhongpin Wang 8 Nov 15, 2022
Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormation.

CDK Github Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormatio

Pepperize 8 Nov 25, 2022
Official moon configurations for popular JavaScript developer tooling.

moon development configs This repository is a collection of moon owned and maintained configurations and presets for common developer tools -- primari

moonrepo 8 Nov 10, 2022
New base script bot wa by Ramdani Official, don't forget to subscribe youtube Ramdani Official.

Requirements • Installation • Thanks to • Official Group Bot • Donate Information bahasa Indonesia Ramdani Botz V17 adalah bot yang di ciptakan oleh R

Ramdani Official 22 Nov 1, 2022
Shikhar 4 Oct 9, 2022
Cache Solidjs resources by key (derived from the resource source)

Solid Cached Resource (Experimental) Create a solid resource attached to a cached state by a unique key. Heavily inspired by react-query, but for soli

Yonatan 27 Dec 31, 2022
Statichunt is a free open-source Jamstack directory that lists hundreds of themes, starters, and resources for Jamstack sites.

Statichunt Statichunt is an open-source directory that enlists hundreds of themes, starters, and resources for static site generators submitted by the

Statichunt 12 Dec 29, 2022
Palaemon is an open-source developer tool for monitoring health and resource metrics of Kubernetes clusters and analyzing Out of Memory (OOMKill) errors

Palaemon ?? ?? An Electron based developer tool for Kubernetes cluster monitoring and error analysis Palaemon is a Greek, child sea-god who came to ai

OSLabs Beta 99 Dec 28, 2022
Klecks is the official open-source release of the community-funded online painting app Kleki.

Klecks (German for "splash of color", pronounced "clex") is the official open-source release of the community-funded online painting app Kleki. Klecks

I paint, code and mess around. 74 Dec 27, 2022
The official challenges and deployment source code files used in San Diego CTF 2022.

SDCTF 2022 Here is the challenge and infrastructure files of San Diego CTF 2022. Challenge files include source code that implement the challenge idea

Association for Computing Machinery (UCSD) 23 Dec 8, 2022
Generally free coding Resources for all! Check it out and don't forget to give it a star ⭐️

A-Z Coding Resources This website is built using Docusaurus 2, a modern static website generator. Installation yarn install Local Development yarn sta

Hulya Karakaya 72 Jan 2, 2023
Github Repository for the resources shown in my 8 JavaScript Pro Tips Tutorial in Youtube

Part 1 - JavaScript Pro Tips - Learn with Sumit Table of Contents How to run Contact How to run Different lessons taught in the Youtube Tutorial are o

Learn with Sumit 28 Dec 28, 2022
An ongoing curated list of frameworks, books, articles, talks, screencasts, recordings, libraries, learning tutorials and shiny resources about Javascript Development.

Javascript Frameworks Development Welcome to the world of Javascript Frameworks. An ongoing curated list of frameworks, books, articles, talks, screen

Paul Veillard 3 Jul 31, 2022
This project uses JavaScript to request resources from PokeApi and Involvement API to display a stunning website about Pokemons.

POKEDEX CAPSTONE Web page used to retrieve information about Pokemons using Pokeapi v2 This project implements the involvement API and the Pokeapi to

Leonardo Pareja Pareja 7 Jun 13, 2022
Manually curated collection of resources for frontend web developers.

Frontend Development Manually curated collection of resources for frontend web developers. You are viewing a browseable version, split by category in

Tim Navrotskyy 36.4k Jan 1, 2023
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.

Awesome JavaScript A collection of awesome browser-side JavaScript libraries, resources and shiny things. Awesome JavaScript Package Managers Componen

chencheng (云谦) 29.6k Dec 29, 2022
Automaticly parses known pocket ips patch resources, scans folders or zip files for matching roms and applies the patches.

Pocket Automaton Automaticly parses known pocket ips patch resources, scans folders or zip files for matching roms and applies the patches. Usage pock

null 3 Nov 27, 2022
Save resources by suspending unused tabs after 20 min.

Tab Suspender [WIP] Save resources by suspending unused tabs after 20 min. Instalation Enable Epiphany extension. Optional if not done. Download the l

null 5 May 7, 2022
A curated list of resources to help Ukraine

A curated list of resources to help Ukraine (get this badge here) Edit the list QR codes for quick donation Help the Ukrainian army Come back alive fu

Igor Varyvoda 7 Nov 17, 2022