Code Monkey home page Code Monkey logo

docs's Introduction

modmore documentation

This repository contains the Markdown source for the modmore documentation. The live version of this site can be found at docs.modmore.com.

Contributions to this documentation are very welcome!

This documentation is provided and maintained under the CC BY-SA 4.0 license.

Folder Structure

This repository has a fairly deep folder structure. This is because we'd like to eventually add different languages and version specific documentation, even if those aren't available here now.

The basic structure is:

/Language/Topic/v{Major Version}.x/Documentation.md

The documentation can be further split up. This will be shown on the documentation website in a tree view.

For example /en/ContentBlocks/v1.x/Fields.md or /ru/Commerce/v0.x/Modules/EUVat.md.

File Format

If needed, a custom title can be set per page by using Front matter at the top of a file.

Contributing

You're invited to help us improve the documentation. For this we use git and pull requests on github to manage changes. If you're new to git and need a bit more help getting set up, don't hesitate to ask for help.

When suggesting content changes, please limit yourself to one extra per pull request so we can more easily review the changes. For typos a single pull request across different sections is fine.

Building the static site

Turning the markdown files into a static site is done with Daux. When you have the repository checked out or downloaded locally, install Daux by running composer install in the root of the repository. This uses composer which is assumed to be installed globally.

With Daux installed, you can run ./build.sh. This script will call Daux with the right parameters to build the documentation into the html/ directory. This build step usually takes no more than a few seconds.

From there you can preview the site by pointing your browser to the html directory.

Building assets

The site uses NPM scripts for compiling sass into css, and compiling a couple of small javascript files. All asset related source files can be found in the src folder of the repository, and write distribution files to themes/modmore/dist/.

The first time you want to build the assets, you'll need to run npm install in the root of the repository. This process may take some time.

When building the site with ./build.sh, it will create a symlink between html/themes/ and /themes/, allowing you view changes to the dist files without requiring to rebuild the site on every change.

To build the CSS and to preview the changes, run npm run build:css. Likewise npm run build:js will build the javascript and npm run build will build all different things managed with npm.

docs's People

Contributors

chrisdempsey avatar cmpt376edits avatar dependabot-preview[bot] avatar dev-willis avatar dougiefresh49 avatar gadgetto avatar gpsietzema avatar greyskymedia avatar isaacniebeling avatar jako avatar jcdm avatar joshualuckers avatar jpdevries avatar kctech avatar mark-h avatar mrroco avatar muzzwood avatar nicar avatar pbowyer avatar pmh1 avatar sebastian-marinescu avatar spheerys avatar steveweineck avatar tonyklapatch avatar tsndr avatar vibedesign avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Missing example if you want to show the cart in the header when using tpl properties

On page get cart there is a part about "Showing cart in the header?".
It mentions using the &toPlaceholders property with an example to prevent outdated cart info.
However the example doesn't work if one of the tpl properties is set for the snippet.

To make it work with one of the tpl properties you can use the MODX Output Modifier toPlaceholder.
Example:

[[!commerce.get_cart:toPlaceholder=`cart`?
  &tpl=`CartTpl`
  &itemTpl=`CartItemTpl`
  ]]

In the "header" you can the show the cart by adding [[!+cart]]

Bundels can;t hold digital products

Placing one or more digitalproducts in a productbundel doesn't work.
Download links are not showing in mail and pdf.
Setting the bundel to digitalproduct doesn't make it work either.

Besides that, is is not logic to make a bundel a digitalproduct,
since there'e is no file for the bundel itself, there are digitalproducts with there own files inside.

Auto-linked Headers with ContentBlocks

On page Auto-linked Headers with ContentBlocks there is an issue with ...
Very nice trick.
Althought IDs in HTML5 can be nearly everything, it might be not enought to replace spaces. Periods, colons and hash symbols have special meaning in CSS selectors and can ruin functionality of dynamic components. I would suggest someting like this, leaving only letters and numbers as unique ID:
id="jump_[[+value:md5:limit=15]]"
For repeater we add idx placeholder in case there are two equal items:
id="jump_[[+value:md5:limit=15]]_[[+idx]]"
In subcomponents like repeater and sublayout it would be great to have access to current level and parent idx, or some global unique idx. Some UI components are heavily dependent on globally unique element ID.

Redactor

On page Redactor there is an issue with ...

Feature request: When adding a link would it be possible to be able to select whether it is dofollow or nofollow?

epub support?

I've been working on a Markdown (Jekyll) > Static HTML site > epub workflow lately. At first I tried to use a jekyll plugin but couldn't get one to work. Wound up needing to do some prep on the files anyways.

I wound up using Pandoc to create the epub. It is really simple. If it would be desirable, we could add epub generation to the "build process" which would give readers another way to access the content offline (i know we may use this workflow for RTFM too).

Redactor / Predefined Links

Currently has a widget to create the JSON, which doesn't work when converted to Markdown. Perhaps we should get a section with generators for that.

Build on CircleCI failing

The actual build on the server runs fine, it's just the CI build that keeps failing.

This was introduced some time ago with some mailto: links. Perhaps the CI build and server don't use the same version of Daux?

[Commerce] Add note to get_cart snippet page about parsing order

Snippet in the header will process before cart/checkout in the content, so will potentially show old data.

Possible workaround suggested by Steffan is to add the snippet with placeholders to the bottom of the page, and to add the placeholders to the head instead.

[[!commerce.get_cart? &toPlaceholders=`cart`]]

New module example: adding a section/widget to the order page

        $dispatcher->addListener(\Commerce::EVENT_DASHBOARD_PAGE_BEFORE_GENERATE, [$this, 'insertOnOrder']);

...

        $page = $event->getPage();
        if ($page->key === 'order') {
            $requests = new SimpleSection($this->commerce, [
                'title' => 'Payment Requests'
            ]);
            $requests->priority = 20; // position related to core sections 
            $requests->addWidget((new Grid($this->commerce))->setUp());

            $page->addSection($requests);
        }

Semantic Placeholder for Search Input

Took a swing at this but didn't get it to work design wise. <input placeholder> is meant to display an example of a valid value for the input like "Content Blocks". It is not meant to describe the input or prompt the user.

Minimal

On page Minimal there is an issue with the "Setup" section. It appears to end too soon:

image

SimpleCart / Plugin events

OnSimpleCartOrderCreate and OnSimpleCartOrderStatusUpdate plugin events exist but aren't documented, so they basically don't exist. (modmore/SimpleCart#99)

Commerce user guide

Needs to be added when around the time of the beta. Topics to cover:

  • Managing products and catalog in commerce
  • Viewing orders and all its different properties
  • Communication with customers (order messages)
  • Status workflow configuration / dashboard implications
  • Coupons and other discounts that can be managed from the dashboard
  • Rundown of the different reports
  • High-level configuration. Not all of it is meant for end-users, but can't hurt to give a high level overview.
  • Description of each different tab and what can be done there / what different things mean

PayPal

On page PayPal there is an issue with:

Disable PayPal Shipping: when set to 1, PayPal will not ask for shipping details. When set to 0, customers will be asked to choose or provide their address when paying with PayPal. As shipping details will already be collected by PayPal, setting this to 1 is typically the recommended action.

should be:

Disable PayPal Shipping: when set to 1, PayPal will not ask for shipping details. When set to 0, customers will be asked to choose or provide their address when paying with PayPal. As shipping details will already be collected by SimpleCart, setting this to 1 is typically the recommended action.

Developing Tasks

On page Developing Tasks there is an issue with processor - tasks.
I think it should be added that you have to return a message like that:

return array('message'=>json_encode($results));

for processor - tasks instead of a string

Grabbing the First Image

On page Grabbing the First Image there is an issue with the placeholder: It should contain url instead of value. I also made a pthumb addition.

Create a chunk called firstImageTpl. As we just want the image url, the chunk is super simple:

[[+url]]

If you have pThumb installed, you could crop that image with:

[[+url:pthumb=`w=1200&h=1200&zc=1`]]

Trigger Extract

On page Trigger Extract there is an issue with the domain name.
You are saying :

If it's not triggering, it might not be recognising the domain name, or your .gitify file. In most cases you will see more information about such errors in the MODX error log, though in rare circumstances errors will also be logged to your PHP error log.

When the extract task is triggered, it can sometimes fail to recognise the environment because it doesn't know the domain name. In that case, double check if your core/config/config.inc.php file contains the right hostname.

But in my config.inc.php file, I don't have any lines about my domain name : just variables about my database connection, and other stuff, but nothing about my domain.

Digital products can't be placed in a bundel.

Placing one or more digitalproducts in a productbundel doesn't work.
Download links are not showing in mail and pdf.
Setting the bundel to digitalproduct doesn't make it work either.

Besides that, is is not logic to make a bundel a digitalproduct,
since there'e no file for the bundel there are products with files inside.

Delivery Methods

On page Delivery Methods there is an issue with:

  • Price: The price that should be calculated for this methodLanguageSelect the language of the Title and Descriptions. Note: only SimpleCart languages available here

Should be:

  • Price: The price that should be calculated for this method
  • Language: Select the language of the Title and Descriptions. Note: only SimpleCart languages available here

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.