Giter Site home page Giter Site logo

christianvoigt / argdown Goto Github PK

View Code? Open in Web Editor NEW
852.0 27.0 26.0 101.57 MB

a simple syntax for complex argumentation

Home Page: https://argdown.org

JavaScript 93.99% HTML 0.29% Vue 0.13% CSS 0.11% Shell 0.01% TypeScript 1.82% Shell 0.01% TypeScript 3.64% PowerShell 0.01%
argdown javascript argument-maps argument-mapping grammar parse

argdown's People

Contributors

christianvoigt avatar davidlanius avatar ngirard avatar riley-martine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

argdown's Issues

Highlighting in both Atom and VS Code does not work properly

Example:

[Stigmatisation]: There is a danger of stigmatisation here. #Philips
 
[Accountability]: It’s very important that the individuals if, insofar as they did wrong or criminal behaviour, should be brought to be account.

Here, as in any other example I tried, statements and arguments like [Accountability] are not highlighted at all. If I introduce a space after the tag (like #Philips ), it works.

Installing argdown-cli 0.9.0 fails under Linux because of sharp.node module

Installation of the sharp module for linux (needed for png export) seems to fail. @xylomorph: Can you verify this?

Eugen, can you remove argdown and reinstall it completely? (npm remove argdown-cli -g and after that npm install argdown-cli -g).

I switched from using PhantomJs to sharp exactly because of similar problems. So this is a disappointment. :(

Mail snippet:

Die Installation von argdown schien zu funktionieren (es kamen zwar zwei Warnmeldungen, aber auch der Hinweis + [email protected] updated 2 packages in 8.364s.

Doch wenn ich argdown --version eingebe, kommt eine lange Fehlermeldung:

module.js:545
throw err;
^
Error: Cannot find module '../build/Release/sharp.node'
at Function.Module._resolveFilename (module.js:543:15)
at Function.Module._load (module.js:470:25)
at Module.require (module.js:593:17)
at require (internal/module.js:11:18)
at Object. (/usr/local/lib/node_modules/argdown-cli/node_modules/sharp/lib/constructor.js:10:15)
at Module._compile (module.js:649:30)
at Object.Module._extensions..js (module.js:660:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)

Incorrect relation

Ich hätte gedacht, dass

[Diskriminierungsverbot]: Jede Art von Diskriminierung ist verboten.
   +> <A2>: Gebot der FQ wegen Diskriminierung.
   +> <A1>: FQ ist auch Diskriminierung.
      -> [Gebot der FQ]: Es ist geboten die Frauenquote (der Art F) einzuführen.

das gleiche ergeben sollte wie:

[Diskriminierungsverbot]: Jede Art von Diskriminierung ist verboten.
   +> <A1>: FQ ist auch Diskriminierung.
      -> [Gebot der FQ]: Es ist geboten die Frauenquote (der Art F) einzuführen.
   +> <A2>: Gebot der FQ wegen Diskriminierung.

macht es aber nicht.

Das Merkwürdige: Im Browswer gibt es das Problem nicht. Hab es in Atom gemacht & als dot exportiert (und auch alle tabs in spaces umwandeln lassen).

Bild für letzteren Fall.

bug-01

Windows Line Endings (CRLF)

The parser currently does not work with windows line endings (CLRF). This issue can be avoided by using a code editor like Atom that allows you to switch between LF and CRLF.

Nested Lists in non-argdown blocks

Nicht argdown-Blöcke sollten wohl am besten alle markdown-Sachen zulassen. Das betrifft dann vor allem verschachtelte Listen außerhalb von Argumentrekos und dgl. Ich denke hier vor allem an html/markdown-export (Was das Durcheinander angeht: Wenn es nicht geht, dann lieber Einf. von Relationen und dgl. in verschachtelten Listen verbieten, als vollständig verschachtelte Listen verbieten.)

Klammern in inference pattern

<Arg>

  (1) P1
  (2) P2
  --aus (1)--
  (3) C

wirft einen Fehler; ohne Klammern

<Arg>

  (1) P1
  (2) P2
  --aus 1--
  (3) C

ist aber alles OK

Title-only versus Title-Plus-Description Export of Theses in DOT

In the dot-export, thesis [Superpower] is only shown with title, whereas [Bootstrapping] is shown with title and description. Is this correct?

[Superpower]: A seed superintelligence has the cognitive and physical means to bring any resources on earth, including humans, under its control (cf. Chapter 6).

[Orthogonality thesis]: Cognitive abilities are largely independent from -- and do not determine -- specific final goals an intelligent system pursues (cf. Chapter 7).

[Instrumental convergence thesis]: All superintelligent systems, no matter what their final goals, are likely to share certain intermediate goals, namely the acquisition of as many physical resources as possible in order to reach their final goals (cf. Chapter 7).

<Take-over-scenario argument>: A superintelligence system is likely to bring under control all resources on Earth, reducing humans to mere means to obtain non-anthropomorphic final goals, and thus leading to the extinction of human civilization as we know it (cf. Chapter 8).
  <+ [Superpower]
  <+ [Orthogonality thesis]
  <+ [Instrumental convergence thesis]
  +> [Superintelligence as existential risk]

<Superintelligence as serious possibility>: Given alternative technological realizations and the positive feedbacks involved in the devlopment of intelligent systems, the creation of a superintelligent system within this century is a serious possibility (cf. Chapters 2-5).
  +> <Take-over-scenario argument>

[Alternative paths to SI]: There exist alternative technological paths to superintelligent systems (cf. Chapter 2).
  +> <Superintelligence as serious possibility>

[Bootstrapping]: Intelligent systems can (be used to) further improve their cognitive abilities, creating positive feedbacks in SI development (cf. Chapters 4,5).
  +> <Superintelligence as serious possibility>

test-0008

Reference to a statement has sometimes no effect?

I don't understand the difference between the following two examples:

# Referring to statements / equivalence classes

## Example 1

A target argument with one premise is supportet by two arguments,
 for support argument 2, the support relation is explicitly mentioned,
 for support argument 1, the support relation is estalished by reference
 to the target argument's premise.

Result: map with 3 arguments, as expected.

### target argument A1

<A1>

(1) [P1]
----
(2) [K1]

### supporter 1 for A1

<S1>

(1) [H1]
----
(2) [P1]

### supporter 2 for A1

<T1>

(1) [I1]
----
(2) [P1]
  +><A1>

## Example 2

The same as above, but without the second support argument.

Result: empty map. That the conclusion of the support argument belongs to the same
 equvalence class as the premise of the target argument seems to have no effect.

### target argument A2

<A2>

(1) [P2]
----
(2) [K2]

### supporter 1 for A2

<S2>

(1) [H2]
----
(2) [P2]

brackets used in inference rules are throwing parser errors

Though the following is fine

<arg-title>: descr

(1) premise 
--
Some inference rule (Some additional info: 1,2)
--
(4) conclusion

the next two examples are throwing parser errors

<arg-title>: descr

(1) premise 
--
Some inference rule (Some additional info: 1,2) some more
--
(4) conclusion
<arg-title>: descr

(1) premise 
--
Some inference (more) rule (Some additional info: 1,2)
--
(4) conclusion

Whitespacing in edges (arrows)

Is it intentional that the output from (1)

[thesis1]

<arg1>
  <+ [thesis1]
  +> <arg2>

<arg2>

output: thesis +> arg1 +> arg2
and (2)

[thesis1]

<arg1>
  <+ [thesis1]
   +> <arg2>

<arg2>

output: thesis +> arg1, thesis +> arg2
differ?

It seems unintuitive that within an edge section for one element an edge can be made for another
element.

Layout der Thesen

Im Moment sind die Thesen in der Map nur durch eine andere Farbe von den Argumenten unterschieden.
Ich finde, dass es hilfreich sein könnte, wenn die Thesen visuell mehr hervorstehen würden.

Mention not allowed in section

If an argument is mentioned in a section, e.g.,

## @[Superintelligence as existential risk] Gives Rise to the Control Problem

the group title is not shown.

Argument Map Themes

It were be cool if the style of an argument map, e.g.

  • arrow color and width
  • font family and size
  • node color and shape
  • etc.

would be stored in a separate (css) file. Each such file would then define an argument mapping theme and users could share their themes.

Argumente ohne Titel nicht möglich

Wenn Argumente keinen Namen haben, wird ihnen in der Map die Überschrift "Untitled" gegeben.
Außerdem differenzieren sie sich dann farblich nicht mehr von den Statements.
Ich fände es schöner, wenn man Argumente ganz ohne Überschrift haben kann, die dann trotzdem die gleiche Farbe haben wie die restlichen Argumente.

Assumptions in Argument Reconstructions

Support for assumptions in argument reconstruction is missing.
Possible syntax:

(1) ? [Flat Eartherism]: The earth is flat.

Advantages of syntax:

  • only one character (no syntax-clutter)
  • intuitive meaning
  • no double colons
  • no english words (asm, assume, assumption)
  • no brackets
  • no special characters that already have a different meaning in Argdown

Missing arrow from arg to thesis

<!--Wird nicht angezeigt:-->
<Argument 1>: Schwimmen ist gesund.
  - [These 1]: A

<!--Wird angezeigt:-->
[These 2]: B
  - <Argument 2>: Schwimmen ist gesund.

Problems with square and angle brackets

In argument and statement texts, round brackets work, but square and angle brackets don't.
bildschirmfoto 2017-05-03 um 13 50 50
As shown in this example, if I put text in square brackets, only the first bracket will show up in the map.
Angle brackets, or even single greater- or smaller-than signs don't show up in the map at all.
Also, any line of text in square or angle brackets will automatically be displayed in the same colors used for the statements or arguments.

Improve security: sanitize html, validate links and add namespace to html ids

Markdown-It provides a good model how to improve security:

So far, the HTML export only sanitizes html. What about the svg export via viz.js and dagre-d3?

Comments generate parser error

<!--Der unten stehende Kommentar erzeugt einen Fehler.-->

[ZT]: Schwimmen ist gesund.

    <!--
      <- <Argument 2>: Schwimmen macht schlapp.
     -->

From argdown to reveal.js via pandoc?

Would it be feasible to render the HTML output in a way such that it can be easily transformed into a reveal.js presentation, possibly by means of Pandoc?

No attack arrow with "><"

The following code works fine:

<A1>: Argument 1

  (1) P1
  (2) P2
    - [T]: These
  ----
  (3) C
  
<A2>

  (1) P3
  ----
  (2) [T]

However, if I replace - with ><, <A2> does not attack <A1> in the argument map.

<A1>: Argument 1

  (1) P1
  (2) P2
    >< [T]: These
  ----
  (3) C
  
<A2>

  (1) P3
  ----
  (2) [T]

Windows linend sequence CRLF throw parser errors (see also #33)

The appended files test-eol.zip contain the same minimal argument, one wir LF lineendings, one with crlf. The first works fine, the second throws a parser error:

13:36:39-Z:>argdown --version
0.9.0

13:36:44-Z:>argdown html test-lf.ad

13:36:51-Z:>argdown html test-crlf.ad
Argdown syntax errors in input: 1

At 6:8
Missing inference. Use four hyphens (----) between two numbered statements to in
sert an inference in your reconstruction and mark the latter statement as a conc
lusion.

TypeError: Cannot read property 'name' of undefined
at ArgdownTreeWalker.onArgumentStatementExit (C:\Users\gb\AppData\Roaming\np
m\node_modules\argdown-cli\node_modules\argdown-parser\lib\src\plugins\ModelPlug
in.js:735:32)
at ArgdownTreeWalker.emit (C:\Users\gb\AppData\Roaming\npm\node_modules\argd
own-cli\node_modules\eventemitter3\index.js:192:18)
at ArgdownTreeWalker.visitNode (C:\Users\gb\AppData\Roaming\npm\node_modules
\argdown-cli\node_modules\argdown-parser\lib\src\ArgdownTreeWalker.js:50:16)
at ArgdownTreeWalker.visitNode (C:\Users\gb\AppData\Roaming\npm\node_modules
\argdown-cli\node_modules\argdown-parser\lib\src\ArgdownTreeWalker.js:45:18)
at ArgdownTreeWalker.visitNode (C:\Users\gb\AppData\Roaming\npm\node_modules
\argdown-cli\node_modules\argdown-parser\lib\src\ArgdownTreeWalker.js:45:18)
at ArgdownTreeWalker.visitNode (C:\Users\gb\AppData\Roaming\npm\node_modules
\argdown-cli\node_modules\argdown-parser\lib\src\ArgdownTreeWalker.js:45:18)
at ArgdownTreeWalker.walk (C:\Users\gb\AppData\Roaming\npm\node_modules\argd
own-cli\node_modules\argdown-parser\lib\src\ArgdownTreeWalker.js:25:12)
at AsyncArgdownApplication.runAsync (C:\Users\gb\AppData\Roaming\npm\node_mo
dules\argdown-cli\lib\src\AsyncArgdownApplication.js:40:34)
at

Double arrows in dot export

In the vegie-debate, we have double arrows between nodes where there should only be one arrow (see files attached).

For example, there are two green arrows from Moralismus-Vorwurf to Alles-Esser, and two red arrows from Fleischverzicht unzumutbar to Ernährungsumstellung zumutbar although there should only be one in each case.

We'll try to reproduce these bugs in smaller examples, and post comments to this issue if we succeed.

veggie_debate.argdown.txt

veggie_debate.pdf

dot layout configuration

I had to add some additional parameters to the dot file in order to generate a reasonable layout, i.e.

concentrate=true;
ratio="fill";
size="10,10";

It would be cool if such additional settings could be stored in a configuration that is used by the argdown programm.

References to so far non-defined statements

Also das geht natürlich:

[p]: p
   - [notp]: notp


<A1>: Argument 1

(1) pr
----
(2) [notp]

Aber dann werden in der map p und notp immer angezeigt, was schnell zum Pfeilchaos führt. Es scheint ja so zu sein, dass Statements nicht in der Karte als Thesenkasten landen, wenn sie nur innerhalb von Argument def. werden und nicht außerhalb referenziert werden. Daher bräuchte ich für obigen Fall sowas ähnliches, wie

[p]: p


<A1>: Argument 1

(1) pr
----
(2) [!p]: notp

italics in argument throwing an error

The following throws an error:

<A>: argument

(1) p
(2) bla (adding st. in brackets and *italizing it*)
----
(3) conclusion

but this works (with whitespace after italized stuff):

<A>: argument

(1) p
(2) bla (adding st. in brackets and *italizing it* )
----
(3) conclusion

Blank space in argument description causes failure of dot export

In the dot-export, argument <Capability control ineffective 1> is not renedered correctly. The only difference to the correctly rendered <Capability control ineffective 2> is that the blank space after the commata in (cf. Chapters 9, 12, 13) is missing.

<Control Problem Argument>: Motivation selection is the only control method
that has a chance to avoid the doomsday take-over scenario (cf. Chapter 9).

<Capability control ineffective 1>: Capability control is ineffective and unrelaible 
for superintelligent systems, because the SI is likely to see ways to manipulate 
the world which we don't (cf. Chapters 9,12,13).
  +> <Control Problem Argument>

<Capability control ineffective 2>: Capability control is ineffective and unrelaible 
for superintelligent systems, because the SI is likely to see ways to manipulate 
the world which we don't (cf. Chapters 9, 12, 13).
    +> <Control Problem Argument>

test-0009

Error message

Would it be possible to get a message when an error has been made?
As of now, it's sometimes difficult to see where I made a mistake, and the map won't work, seemingly for no reason.

Import Argunet debates

Argunet can export entire debates to a single graphml file.

It would be nice if there were a little tool which translates these graphml files into valid argdown.

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.