Code Monkey home page Code Monkey logo

markapl's People

Contributors

aplteam avatar

Watchers

 avatar  avatar  avatar

Forkers

dyavc

markapl's Issues

Problem with HTML blocks

HTML are not recognized when placed at the top of a document because MarkAPL insists (wrongly) even then on two empty lines.

Links in headers are buggy

This:

## Page <http://britishaplassociation.org/about-british-apl-association/>

is wrongly formatted: the whole line seems to become a link

Add check boxes

It would be nice to have a syntax for check boxes.

Ideas:

[[ ]]

for un-ticked ones and

[[x]]

for ticked ones. This is however, another incompatible Markdown extension.

MarkAPL.dws is saved in version 17.0 (beta)

Which means it cannot currently be used in any supported version.

I recommend saving it in 15.0 as that will soon be Dyalog's oldest supported version.

Try ]version path/MarkAPL.dws

TOC - restrict to a single level.

The documentation should mention a trick that allows a TOC to show just one level.

Imagine you want to show just level 2. Specifying [parm]:toc = 2 won't do because it is interpreted as "up to two , including level 1.

The argument needs to be a vector, and with [parm]:toc = 2 2 we can achieve the goal.

* within words has unwanted consequences

According to the documentation this:

not it*alic

should not be considered markup. The asterisk should show verbatim. It does not, it injects an <em> tag.

The same might be true for ** and _ and __.

Syntax for special attributes is wrong

This is recognized by MarkAPL as a valid definition with special attributes:

[Link](#Headers {style="color:magenta;"})

Although this syntax is clear and consistent, the rest of the world insists on

[Link](#Headers){style="color:magenta;"})

Therefore this should be corrected.

Revisit Markdown syntax for checkboxes

MarkAPL requires

[ ] off
[x] on
[X] ALSO ON

GitHub on the other hand uses

- [ ] off
- [x] on
- [X] ALSO ON

The syntax was added to MarkAPL only recently, so I think it is okay to change it.

Insert page breaks

It would be nice to allow inserting page breaks into a Markdown document.

Maybe with a syntax like ::^ at the beginning of a line?

Superscripts and subscripts

PanDoc support them. Taken from the PanDoc documentation:

Extension: superscript, subscript

Superscripts may be written by surrounding the superscripted text by ^ characters; subscripts may be written by surrounding the subscripted text by ~ characters. Thus, for example,

H~2~O is a liquid.  2^10^ is 1024.

If the superscripted or subscripted text contains spaces, these spaces must be escaped with backslashes. (This is to prevent accidental superscripting and subscripting through the ordinary use of ~ and ^.) Thus, if you want the letter P with ‘a cat’ in subscripts, use P~a\ cat~, not P~a cat~.

URL Links are buggy

Naturally something like

[]CompareThese](https://github.com/aplteam/]CompareThese)

can't work: the first ] is not recognized as the start of a user command but as a closing square bracket, destroying the syntax.

However, things are different with:

[`]CompareThese`](https://github.com/aplteam/]CompareThese"Link to CompareThese on GitHub")

Here the first ] should be ignored because it is part of an APL expression, so it cannot close the link definition.

ReadMe needs attention

  1. Too long: Shorten it dramatically and put the complex stuff into the wiki.

  2. Find a solution for the HTML page the ReadMe is linking to.

  3. Look out for ! as ` !SourceForge

Introduce target="_blank" for links

Currently there is no way to make a link open another document in a new Tab.

The argument that this is outdated and should not used does not hold:

Although this might be true for HTML pages, for PDFs the user expects it to be opened in a separate Tab.

Kramdown seems to be the only marser that supports this. Their syntax makes sense: it's a special attribute, for example:

[APL wiki](https://aplwiki.com){:target="_blank"}
```

Formatting error with code in tables

This:

|Col 1 |Col 2 |Col 3
|-|-|-
|Text 1 |Text 2 | `APL code that gets missing
|text 1 |text 2      | text 3

leads to this:

Col 1 Col 2 Col 3
Text 1 Text 2
text 1 text 2 text 3

because of the missing (closing) `

Problems with special attributes

The way special attributes need to be defined for links is not in line with the CommonMark definition.

Also, since the implementation of MarkAPL CommonMark has specified the way special attributes should be implemented if they are implemented at all. This specification is partly incompatible with MarkAPL 4.x.x.

The CommonMark specification has the advantage of allowing to assign special attributes to both list definitions as such (read <ul> and <ol>) but also the list items (<li>).

MarkAPL ignores in-line HTML

HTML tags within paragraphs etc. survive untouched. This is the result of a misunderstanding caused by the original Markdown documentation which stated that Markdown allows you to write about HTML without a headache.

However, the intention was to put HTML tags between single ticks rather than ignoring them as ordinary text.

As a result you cannot for example style a particular piece of text within a paragraph with something like this:

This is <div id="special">somehow styles</div> 

This is because it would be ignored.

I am wondering whether I should change this so that MarkAPL is in line with (most) other tools.

Footers have problems

[^acre]: The project manager acre:<<br>>
<https://github.com/the-carlisle-group/Acre-Desktop/wiki>

Is formatted wrongly: the link seems to become a separate paragraph. Removing the colon in acre:<<br>> fixes the problem

Remove parameter "compileFunctions"

Has no effect anymore anyway.

Removing won't have an effect either because setting it will just be ignored.

Needs removing from the documentation as well.

Insert page breaks

It would be nice to be able to inject a page break into a Markdown document.

Maybe something like :::^?

Shorthand bookmark links are buggy

MarkAPL supports short hands for bookmark links. This:

[](#Headers)

makes MarkAPL use #Headers as link text. It should be Headers instead.

Add a method that returns information about the block a given line belongs to

Imagine a user is editing a large markdown document. She changes a line in the document and then wants the editor to update a preview. Currently the whole document must be converted. That can result in a significant delay depending on the size of the document.

With the proposed method, only the affected block could be rendered again, which should result in a significant performance improvement.

Such a method requires two arguments:

  1. A ref pointing to a variable with the markdown
  2. An index (single positive integer) pointing into the variable: the current row

It should return two positive integers:

  1. Starting row: where does the block start the given index is part of
  2. Number of rows: size of that block

This would be very useful for updating only one block in a large document rather than the whole document.

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.