christianvoigt / argdown Goto Github PK
View Code? Open in Web Editor NEWa simple syntax for complex argumentation
Home Page: https://argdown.org
a simple syntax for complex argumentation
Home Page: https://argdown.org
The following code leads to two relations instead of one:
[T2]: A
>< [T1]: B
[T1]: A
>< [T2]
It were be cool if the style of an argument map, e.g.
would be stored in a separate (css) file. Each such file would then define an argument mapping theme and users could share their themes.
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.
<!--Wird nicht angezeigt:-->
<Argument 1>: Schwimmen ist gesund.
- [These 1]: A
<!--Wird angezeigt:-->
[These 2]: B
- <Argument 2>: Schwimmen ist gesund.
It seems to be not possible to use sth. like:
*italic*-type
thought the following is of course possible:
*italic* type
[ZT]: ZT
<!--Der Kommentar macht Probleme-->
[T1]: T1
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.
<!--Das Argument ist völlig ok, warum wird hier ein Parser-Fehler geworfen?-->
<Argument 1>: Argument 1.
(1) P1
(2) P2
----
(3) C1
----
(4) C
There are several issues when rendering the veggie debate, as the attached PDF shows.
The original argdown-file:
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.013:36:44-Z:>argdown html test-lf.ad
13:36:51-Z:>argdown html test-crlf.ad
Argdown syntax errors in input: 1At 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
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.
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>
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.
Arrow merging may be misleading and should not be a default option.
The following contradiction results in 4 red arrows, instead of only 2:
<A>: A
>< [T2]: B
<A>
(1) A
(2) B
----
(3) [T1]: C
The following produces a parsing error:
<argtitle>: desc
(1) premise
--
inference rule,
--
(4) conclusion
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.
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.
Sollte nicht vlt. das
<Argument 1>
(1) First premise (this is is a normal statement
genauso gehen (behandelt werden) wie
<Argument 1>
(1) First premise (this is is a normal statement
<!--Der unten stehende Kommentar erzeugt einen Fehler.-->
[ZT]: Schwimmen ist gesund.
<!--
<- <Argument 2>: Schwimmen macht schlapp.
-->
This is ok:
*some emphasized remark:* ok
but this throws an error:
*some emphasized remark*: this throws a parsing error (the colon is crucial)
In the online editor the text after the conclusion is blue:
(1) A
----
(2) B
Text after conclusion
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>
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]
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)
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.
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.)
Use tooltip to display type (statement/argument) and title, instead of node or edge id (n1, e1).
Support for assumptions in argument reconstruction is missing.
Possible syntax:
(1) ? [Flat Eartherism]: The earth is flat.
Advantages of syntax:
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?
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.
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.
In html export of argdown, such as here
https://davidlanius.de/streitkultur/wie-argumentieren-rechtspopulisten/
it would be very nice to have graphical, customizable tooltips for @mentions that provide detailed info about an argument, including its neighbourhood in the arg map, on mouse over.
[ZT]: ZT
[T1]: T1
<!--Okay:-->
<Argument 1>: Argument 1.
(1) P1
(2) P2
----
(3) C1
>< [T1]
<!--Red arrow from [T1] to <Argument 2> is missing:-->
<Argument 2>: Argument 2.
(1) P1
>< [T1]
(2) P2
----
(3) C1
+> [ZT]
May be the following tool could be integrated:
<!--Hier wird das Argument nicht richtig gezeichnet.-->
[ZT]: ZT
[T1]: T1
<Argument 1>: Argument 1.
(1) [T1]
(2) P2
-- Inference rule --
(3) [ZT]
In the veggie-debate (see files attached), four node labels are not displayed correctly. In the graph, the labels are just "n40", "n41", "n16" and "n31".
We'll try to reproduce this error in smaller examples, and post comments to this issue if we succeed.
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]
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?
Unverschachtelte Listen: Im Moment müssen Listen auf der obersten Ebene eingerückt sein. In Markdown geht natürlich auch:
1. erster Listenpunkt
2. zweiter Listenpunkt
ohne Einrückung.
For example
[T]: Thesis
+ I don't believe [...] this!
throws a MismatchedTokenException
.
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
<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
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
In argument and statement texts, round brackets work, but square and angle brackets don't.
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.
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
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.
The following won't be displayed properly as map in the browser:
<Arg>: Erstes Argument.
-> <A2>: Nebenfolgen H vernachlässigbar.
However, this is ok:
<Arg>: Erstes Argument.
-> <A2>: Überfolgen H vernachlaessigbar.
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.
Add error recovery so that the linting does not stop after the first error.
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.