Pandoc来 Markdown 转 Org mode 怎么总是有缩进不对,与 link 换行的问题

Pandoc来 Markdown 转 Org mode 怎么总是有缩进不对,与 link 换行, 有些标题没转化,的问题 markdown:

## ECMAScript 6
### 模版字符串
  - [javascript-模板字符串ES6防止换行](https://www.itranslater.com/qa/details/2582776439305143296)
  - [JavaScript的模板字符串,如何保持多行缩进且去除格式化空格?](https://juejin.im/post/6844903742731616270)
### 箭头函数
  - return
    - (x) => x+x 表达直接return x+x
    - [箭头函数的不使用return 直接返回数据](https://www.cnblogs.com/aidixie/p/12151534.html)
### promise
  - 它是异步编程的解决方案
  - 在创建对象时它应传入一个带 `resolve` `reject` 参数的函数,这个Promise对象创建之后,使用 `then` 中定义传入的函数,第一个函数为 `resolve` **第二个函数为 `reject`多不写**,`Promise` 对象创建时所调用的 `resolve`和`reject` 会执行 `then` 中的定义的函数,有参数会连带的传入到 `then` 定义的函数中
  - `Promise` 对象创建时,代码中有 `resolve()`或`reject()` 即使未传入参数,或未使用 `then` 当执行到了 `resolve` 和` reject` 都会直接改变 `Promise` 对象的状态
  - 情况
    - 当 `resolve`传入的是另一个 `Promise` 对象
    [可供参考](http://es6.ruanyifeng.com/#docs/promise)
    传入的 `Promise` 对象会对原本的 `Promise` 的 `status` 进行影响,将会由传入的 `Promise` 对象来决定原本 `Promise` 对象的状态 `status` 原本的 `Promise` 的 `status` 会无效,所有使用的 `then` 也会是 传入的 `Promise` 对象来使用 `then`
    -  `resolve`和`reject` 并不会阻止`Promise`的中参数函数执行中止,`resolve`和`reject` 它的执行会在参数函数中,同步代码之后执行
    - `catch` 捕获的返回的还是 `Promise` 对象
  - `promise` 对象当它成功有返回值时,获取返回值使用 `then`

    ```js
    promise.then(data => {
        console.log(data);//then为当前同步代码执行完后 再执行,
    })
    ```

  - **Promise.prototype.finally()**
    - 它是不管`Promise`对象的状态是什么都会执行 `finally`方法指定的回调函数
    - `finally` 的回调函数不接受任何参数
    - 实例是特例的`then`
  - **Promise.prototype.all()**
    - 用于将多个`Promise` 返回一个新的`Promise`实例,新的`Promise`实例的状态由这多个`Promise` 实例决定,㊀当全为 `resolve` 它也为 `resolve` ㊁当有一个为 `reject` 它为 `reject`
    > 变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数 [Promise.all()](https://es6.ruanyifeng.com/#docs/promise "Promise.all" )<br>
    > 成功返回一个结果数组,当出现失败时返回最先为 `reject` 状态的值 [Pomise.all的使用](https://www.jianshu.com/p/7e60fc1be1b2)

    ```js
    Promise.all(promises).then((result)=>{})
    //它是会等待 promises 的状态完成后再执行 then 中的函数
    ```


### async await
  -  在函数内中的同步代码,在运行时仍是同步代码,只有写的异步操作它才会做异步
  -  使用 `async` 函数的返回值会是一个 `promise` 对象,还是要通过 `then` 来异步的获取值,看到的文章多为把 `async` 函数 `export` 出去再来使用
  - Reference
    - [[译]JavaScript可视化:Promise和Async/Await](https://zhuanlan.zhihu.com/p/138140285)

### Proxy
  -	`let obj=new Proxy(target,handler)`
  >	target 表示要实拦截的目标对象 
  > handler 也是一个对象,handler 每一个属性都对应一个处理函数
  	- get
    > 用来拦截目标对象的属性访问
    - set
    ```js
    let a = new Proxy({},{
    set:function(a,b,c){
    console.log("set:",a,b,c);
    }
    })
    a.a=1	//set: {} a 1
    // a 为目标对象
    // b 为目标对象的属性
    // c 为属性的值
    ```

### Reflect
  - 

### export
  -  对它的使用不能在代码块的 top level 以下
  -  使用时在对变量的栈堆要包括在 `{}` 中

转出来的 源码:

#+TITLE: es6

#+DATE: 2021-04-12T14:52:33+08:00

** ECMAScript 6
   :PROPERTIES:
   :CUSTOM_ID: ecmascript-6
   :END:

*** 模版字符串
    :PROPERTIES:
    :CUSTOM_ID: 模版字符串
    :END:

- [[https://www.itranslater.com/qa/details/2582776439305143296][javascript-模板字符串ES6防止换行]]

- [[https://juejin.im/post/6844903742731616270][JavaScript的模板字符串,如何保持多行缩进且去除格式化空格?]]
  ### 箭头函数

- return

  - 

    24) => x+x 表达直接return x+x

  - [[https://www.cnblogs.com/aidixie/p/12151534.html][箭头函数的不使用return
    直接返回数据]] ### promise

- 它是异步编程的解决方案

- 在创建对象时它应传入一个带 =resolve= =reject=
  参数的函数,这个Promise对象创建之后,使用 =then=
  中定义传入的函数,第一个函数为 =resolve= *第二个函数为
  =reject=多不写*,=Promise= 对象创建时所调用的 =resolve=和=reject=
  会执行 =then= 中的定义的函数,有参数会连带的传入到 =then= 定义的函数中

- =Promise= 对象创建时,代码中有 =resolve()=或=reject()=
  即使未传入参数,或未使用 =then= 当执行到了 =resolve= 和=reject=
  都会直接改变 =Promise= 对象的状态

- 情况

  - 当 =resolve=传入的是另一个 =Promise= 对象
    [[http://es6.ruanyifeng.com/#docs/promise][可供参考]] 传入的
    =Promise= 对象会对原本的 =Promise= 的 =status=
    进行影响,将会由传入的 =Promise= 对象来决定原本 =Promise= 对象的状态
    =status= 原本的 =Promise= 的 =status= 会无效,所有使用的 =then=
    也会是 传入的 =Promise= 对象来使用 =then=
  - =resolve=和=reject=
    并不会阻止=Promise=的中参数函数执行中止,=resolve=和=reject=
    它的执行会在参数函数中,同步代码之后执行
  - =catch= 捕获的返回的还是 =Promise= 对象

- =promise= 对象当它成功有返回值时,获取返回值使用 =then=

  #+BEGIN_SRC js
    promise.then(data => {
        console.log(data);//then为当前同步代码执行完后 再执行,
    })
  #+END_SRC

- *Promise.prototype.finally()*

  - 它是不管=Promise=对象的状态是什么都会执行
    =finally=方法指定的回调函数
  - =finally= 的回调函数不接受任何参数
  - 实例是特例的=then=

- *Promise.prototype.all()*

  - 用于将多个=Promise=
    返回一个新的=Promise=实例,新的=Promise=实例的状态由这多个=Promise=
    实例决定,㊀当全为 =resolve= 它也为 =resolve= ㊁当有一个为 =reject=
    它为 =reject= >
    变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数
    [[https://es6.ruanyifeng.com/#docs/promise][Promise.all()]] >
    成功返回一个结果数组,当出现失败时返回最先为 =reject= 状态的值
    [[https://www.jianshu.com/p/7e60fc1be1b2][Pomise.all的使用]]

  #+BEGIN_SRC js
    Promise.all(promises).then((result)=>{})
    //它是会等待 promises 的状态完成后再执行 then 中的函数
  #+END_SRC

*** async await
    :PROPERTIES:
    :CUSTOM_ID: async-await
    :END:

- 在函数内中的同步代码,在运行时仍是同步代码,只有写的异步操作它才会做异步
- 使用 =async= 函数的返回值会是一个 =promise= 对象,还是要通过 =then=
  来异步的获取值,看到的文章多为把 =async= 函数 =export= 出去再来使用
- Reference

  - [[https://zhuanlan.zhihu.com/p/138140285][[译]JavaScript可视化:Promise和Async/Await]]

*** Proxy
    :PROPERTIES:
    :CUSTOM_ID: proxy
    :END:

- =let obj=new Proxy(target,handler)= > target 表示要实拦截的目标对象 >
  handler 也是一个对象,handler 每一个属性都对应一个处理函数

  - get > 用来拦截目标对象的属性访问
  - set

  #+BEGIN_SRC js
    let a = new Proxy({},{
    set:function(a,b,c){
    console.log("set:",a,b,c);
    }
    })
    a.a=1   //set: {} a 1
    // a 为目标对象
    // b 为目标对象的属性
    // c 为属性的值
  #+END_SRC

*** Reflect
    :PROPERTIES:
    :CUSTOM_ID: reflect
    :END:

- 

*** export
    :PROPERTIES:
    :CUSTOM_ID: export
    :END:

- 对它的使用不能在代码块的 top level 以下
- 使用时在对变量的栈堆要包括在 ={}= 中

在 Emacs 中的样子:

转的命令 $ pandoc -f markdown -t org -o es6.org -s es6.md

for f in `ls *.md`; do
  pandoc --wrap=none -f gfm -t org -o "$(basename "$f" .md).org" ${f};
done
   :PROPERTIES:
   :CUSTOM_ID: ecmascript-6
   :END:
*** 模版字符串
    :PROPERTIES:
    :CUSTOM_ID: 模版字符串
    :END:

- [[https://www.itranslater.com/qa/details/2582776439305143296][javascript-模板字符串ES6防止换行]]
- [[https://juejin.im/post/6844903742731616270][JavaScript的模板字符串,如何保持多行缩进且去除格式化空格?]]

*** 箭头函数
    :PROPERTIES:
    :CUSTOM_ID: 箭头函数
    :END:

- return

  - (x) => x+x 表达直接return x+x
  - [[https://www.cnblogs.com/aidixie/p/12151534.html][箭头函数的不使用return 直接返回数据]]

*** promise
    :PROPERTIES:
    :CUSTOM_ID: promise
    :END:

- 它是异步编程的解决方案

- 在创建对象时它应传入一个带 =resolve= =reject= 参数的函数,这个Promise对象创建之后,使用 =then= 中定义传入的函数,第一个函数为 =resolve= *第二个函数为 =reject=多不写*,=Promise= 对象创建时所调用的 =resolve=和=reject= 会执行 =then= 中的定义的函数,有参数会连带的传入到 =then= 定义的函数中

- =Promise= 对象创建时,代码中有 =resolve()=或=reject()= 即使未传入参数,或未使用 =then= 当执行到了 =resolve= 和= reject= 都会直接改变 =Promise= 对象的状态

- 情况

  - 当 =resolve=传入的是另一个 =Promise= 对象 [[http://es6.ruanyifeng.com/#docs/promise][可供参考]] 传入的 =Promise= 对象会对原本的 =Promise= 的 =status= 进行影响,将会由传入的 =Promise= 对象来决定原本 =Promise= 对象的状态 =status= 原本的 =Promise= 的 =status= 会无效,所有使用的 =then= 也会是 传入的 =Promise= 对象来使用 =then=
  - =resolve=和=reject= 并不会阻止=Promise=的中参数函数执行中止,=resolve=和=reject= 它的执行会在参数函数中,同步代码之后执行
  - =catch= 捕获的返回的还是 =Promise= 对象

- =promise= 对象当它成功有返回值时,获取返回值使用 =then=

  #+begin_src js
    promise.then(data => {
        console.log(data);//then为当前同步代码执行完后 再执行,
    })
  #+end_src

- *Promise.prototype.finally()*

  - 它是不管=Promise=对象的状态是什么都会执行 =finally=方法指定的回调函数
  - =finally= 的回调函数不接受任何参数
  - 实例是特例的=then=

- *Promise.prototype.all()*

  - 用于将多个=Promise= 返回一个新的=Promise=实例,新的=Promise=实例的状态由这多个=Promise= 实例决定,㊀当全为 =resolve= 它也为 =resolve= ㊁当有一个为 =reject= 它为 =reject=

  #+begin_quote
    变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数 [[https://es6.ruanyifeng.com/#docs/promise][Promise.all()]] 成功返回一个结果数组,当出现失败时返回最先为 =reject= 状态的值 [[https://www.jianshu.com/p/7e60fc1be1b2][Pomise.all的使用]]
  #+end_quote

  #+begin_src js
    Promise.all(promises).then((result)=>{})
    //它是会等待 promises 的状态完成后再执行 then 中的函数
  #+end_src

*** async await
    :PROPERTIES:
    :CUSTOM_ID: async-await
    :END:

- 在函数内中的同步代码,在运行时仍是同步代码,只有写的异步操作它才会做异步
- 使用 =async= 函数的返回值会是一个 =promise= 对象,还是要通过 =then= 来异步的获取值,看到的文章多为把 =async= 函数 =export= 出去再来使用
- Reference

  - [[https://zhuanlan.zhihu.com/p/138140285][[译]JavaScript可视化:Promise和Async/Await]]

*** Proxy
    :PROPERTIES:
    :CUSTOM_ID: proxy
    :END:

- =let obj=new Proxy(target,handler)=

#+begin_quote
  target 表示要实拦截的目标对象 handler 也是一个对象,handler 每一个属性都对应一个处理函数 - get > 用来拦截目标对象的属性访问 - set =js let a = new Proxy({},{ set:function(a,b,c){ console.log("set:",a,b,c); } }) a.a=1   //set: {} a 1 // a 为目标对象 // b 为目标对象的属性 // c 为属性的值 =
#+end_quote

*** Reflect
    :PROPERTIES:
    :CUSTOM_ID: reflect
    :END:

- 

*** export
    :PROPERTIES:
    :CUSTOM_ID: export
    :END:

- 对它的使用不能在代码块的 top level 以下
- 使用时在对变量的栈堆要包括在 ={}= 中

heading 下面的列表缩进是还是有问题的

还是等下给 Pandoc 提个 Issue 吧