-1

假设我想自定义 foton 文档编辑器的缩进规则,我在哪里以及如何做到这一点?

我会详细说明。

foton 编辑器的文档布局如下:(在我看来,这完全令人讨厌)

{
   "_id": "1326017821636",
   "_rev": "2-51ab614953437181a24f1c073fbc6201",
   "doc_type": 0,
   "step": 2,
   "data": {
       "map1": {
           "attr1": 73031,
           "attr2": "strval"
       },
       "map2": {
           "att1": 52001,
           "att2": "strval"
       },
       "mapmap": {
           "map": {
               "id11": {
                   "id": "id11",
                   "attr": "attr",
                   "attr2": 2222
               },
               "id1211": {
                   "id": "id1211",
                   "attr": "attr",
                   "attr2": 2222
               }
           }
       }
   }
}

你可能会问,我想改变什么?这似乎很标准。好吧,我不是一个标准的人。据我观察,许多标准都是随意演变的,缺乏思考。此外,如果我是标准的追随者,我不会问定制;)

很快 - - 3 个空格制表符缩进。为什么是3?不是 2 也不是 4。只有 3?大声笑 - 块形成 - 打开一个块在磨损的地方画一条线 - 逗号在错误的一侧

所以我希望它是这样的:(我什至有 JS 代码可以做到这一点,我只需要帮助把它放在哪里

{ "_id"      : "1326017821636"
, "_rev"     : "2-51ab614953437181a24f1c073fbc6201"
, "doc_type" : 0
, "step"     : 2
, "data"     : 
    { "map1" : 
        { "attr1" : 73031
        , "attr2" : "strval"
        }
    , "map2" :
        { "att1" : 52001
        , "att2" : "strval"
        }
    , "mapmap" : 
        { "map" : 
            { "id11"   : 
                 { "id"    : "id11"
                 , "attr"  : "attr"
                 , "attr2" : 2222
                 }
            }
        ,   { "id1122" : 
                 { "id"    : "id11"
                 , "attr"  : "attr"
                 , "attr2" : 2222
                 }
            }
        }
    }
}

为什么我这样做?- 它看起来更像表格。同一对象/数组的所有语法脚手架都在同一列中(无论如何都将逗号放在语句的错误一侧)-没有多余的空行和浪费的空行-只有起始块是边缘情况(与其他方式相反你有一个开始一个块的案例,一个结束一个块的案例和一个每一行的案例)。

如果我可以执行我的缩进并且每次验证文档时foton都不会破坏它们,那就太好了。但是,既然它确实如此,我需要进入这个机制并用我自己的一个替换它的 indentor。

有什么方向吗?

PS:如果你知道这里的答案——你可能知道这个问题的答案: couchdb futon document editor——我可以自定义文档验证部分吗?

4

1 回答 1

0

同样,在快速浏览之后,这就是您可能想要查看的地方:

https://github.com/apache/couchdb/blob/master/share/www/script/futon.browse.js#L899

如果您想实时编辑它,您将在本地 couchdb 实例上有一个相应的 /share/www/script 文件夹。

于 2012-01-09T19:25:24.753 回答