Giter Site home page Giter Site logo

kityminder-core's Introduction

KityMinder Core

简介

KityMinder 是一款强大的脑图可视化/编辑工具,由百度 FEX 团队开发并维护。

本仓库是 KityMinder 的核心实现部分:

  • 包括脑图数据的可视化展示(Json 格式)
  • 包括简单的编辑功能(节点创建、编辑、删除)。更加强大编辑功能的 KityMinder 编辑器请移步 kityminder-editor
  • 不包含第三方格式(FreeMind、XMind、MindManager)的支持,可以加载 kityminder-protocol 来扩展第三方格式支持。
  • 不包含文件存储的支持,需要自行实现存储。可参照百度脑图中的开源的 fio + 百度网盘方案进行实现。

使用

可以参考 example.html 进行使用。

<div id="minder-container"></div>
<script type="text/javascript" src="kityminder.core.min.js"></script>
<script type="text/javascript">
var minder = new kityminder.Minder({
	renderTo: '#minder-container'
});
</script>

更多详细的开发资料可以参考 wiki

兼容性

KityMinder 基于 SVG 技术实现,支持绝大多数的 HTML5 浏览器,包括:

  1. Chrome
  2. Firefox
  3. Safari
  4. Internet Explorer 10 或以上

使用说明

kityminder-core 依赖于 kity,开发中用到 seajs 进行异步加载。 例子中 dev.html 使用 seajs 进行包加载,example.html 使用同步加载的方式。 使用步骤如下:

  1. 安装 bower
  2. 切换到 kityminder-core 目录下,运行:
bower install

开发说明

  1. 安装 bower
  2. 安装 npm
bower install
npm install
npm run dev

联系我们

问题和建议反馈:Github Issues 邮件组: [email protected] QQ 讨论群: 374918234

kityminder-core's People

Contributors

akikonata avatar bluewaitor avatar campaign avatar carsonxu avatar citywill avatar dafrok avatar donghuishuang avatar hancong03 avatar kitygraph avatar liuyutao avatar means88 avatar naixor avatar qinyang912 avatar ronnykj avatar techird avatar worry127722 avatar wuliupo avatar ximing avatar yancend avatar yangxiaohu2014 avatar zhangbobell avatar zswang 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  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

kityminder-core's Issues

请问节点文本编辑功能要自己实现吗?

我把这个项目运行起来后,并没有出现编辑节点文本input标签。是因为在这个项目中,默认没有触发输入文本功能吗?另外,我找到了input的标签,也找到了更改文字内容的方法--text。我如果要实现文本输入功能,在现有的基础上,怎么实现快一些呢?非常感谢~

我弹出报错,,报错信息如下

错误
{"data":"","status":500,"config": ,"cached":false},"statusText":"Internal Server Error"}

浏览器信息:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

源码压根跑不出来!

百度的产品~ 百度的开源产品!!!我搞了2个小时 居然跑不出来! 如果文档不齐全请不要开源!

请问什么时候可以协同编辑?太需要这个功能了!

脑图这个工具使用起来特别棒,平时团队中我们很多人都喜欢用这个来做项目的整理和规划。目前脑图可以共享,但是我们迫切的希望能够加入协同编辑的功能,这样就不仅是一个个人工具,可以用来做团队的项目规划了。谢谢!

Fatal error: Module [../core/kity] not found

$ grunt build
Running "clean:last" (clean) task
>> 0 paths cleaned.

Running "dependence:merge" (dependence) task
Fatal error: Module [../core/kity] not found

执行grunt build时报这样的错,有人遇到过吗

收起一个节点后,拖动任意非根节点,该节点会消失

使用示例代码,并在 新闻 节点中加入子节点:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>KityMinder Example</title>

    <link href="favicon.ico" type="image/x-icon" rel="shortcut icon">
    <link rel="stylesheet" href="src/kityminder.css" rel="stylesheet">

    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            height: 100%;
        }

        #minder-view {
            position: absolute;
            border: 1px solid #ccc;
            left: 10px;
            top: 10px;
            bottom: 10px;
            right: 10px;
        }
    </style>

    <script type="text/javascript" src="bower_components/kity/dist/kity.min.js"></script>
</head>
<body>
    <script id="minder-view" type="application/kityminder" minder-data-type="json">
    {
        "root": {
            "data": {
                "text": "百度产品",
                "image": "https://ss0.bdstatic.com/5a21bjqh_Q23odCf/static/superplus/img/logo_white.png?v=md5",
                "imageSize": { "width": 270, "height": 129 }
            },
            "children": [
                { 
                    "data": { "text": "新闻" },
                    "children": [
                        { "data": { "text": "新闻" } },
                        { "data": { "text": "网页", "priority": 1 } },
                        { "data": { "text": "贴吧", "priority": 2 } },
                        { "data": { "text": "知道", "priority": 2 } },
                        { "data": { "text": "音乐", "priority": 3 } },
                        { "data": { "text": "图片", "priority": 3 } },
                        { "data": { "text": "视频", "priority": 3 } },
                        { "data": { "text": "地图", "priority": 3 } },
                        { "data": { "text": "百科", "priority": 3 } },
                        { "data": { "text": "更多", "hyperlink": "http://www.baidu.com/more" } }
                    ]
                },
                { "data": { "text": "网页", "priority": 1 } },
                { "data": { "text": "贴吧", "priority": 2 } },
                { "data": { "text": "知道", "priority": 2 } },
                { "data": { "text": "音乐", "priority": 3 } },
                { "data": { "text": "图片", "priority": 3 } },
                { "data": { "text": "视频", "priority": 3 } },
                { "data": { "text": "地图", "priority": 3 } },
                { "data": { "text": "百科", "priority": 3 } },
                { "data": { "text": "更多", "hyperlink": "http://www.baidu.com/more" } }
            ]
        }
    }
    </script>
</body>

<script type="text/javascript" src="dist/kityminder.core.min.js"></script>
<script type="text/javascript">
    // 创建 km 实例
    /* global kityminder */
    var km = window.km = new kityminder.Minder();
    km.setup('#minder-view');
    //km.disable();
    //km.execCommand('hand');
</script>

</html>

操作步骤:

  1. 载入页面
  2. 收起 新闻 节点
  3. 拖动任意非 新闻 节点
    结果: 被拖动的节点消失
    浏览器: Chrome 版本 44.0.2403.155 m (64-bit)

数据结构的建议

现在的数据结构是树壮的,好处是存储父子节点关系很方便,但是有以下问题:

  1. 当处理大量数据(测试数据是6000个节点)时,初次加载非常慢
  2. 初次加载无法定位到某个节点(这可能是我没仔细读源码,没找到API或命令,(API文档是不是该完善下了))

所以我希望改变数据结构,改用扁平化结构,父子关系通过id:id对的形式去实现
另外开放初次加载时显示指定节点的方法(通过id)

两个建议

1,节点图片支持base64的image: "data:image/png;base64,iVBORw0KGg。。。。"
qq 20151021091811

2,导入数据时候增加原生json(非字符串json,就算是map吧)的支持,测试时发现小数据貌似是可以的,但数据大了就不行了
qq 20151021091710

启用右键问题

能告知一下如果在画布上启用右键该修改哪一部分代码呢?

如何手动触发interactchange 事件?

我扩展了kityminder-editor,数据是变了,导出的数据也对,但是kityminder-editor 有个基于localStorage的自动保存机制,这个机制是根据contentchange触发的,但是我修改节点data里的自定义属性,却无法触发这个contentchange

#建议# 描述中链接修改

README.md中,“百度脑图”的链接建议修改为kitymider的页面,其中有文件存储的实现。

不包含文件存储的支持,需要自行实现存储。可参照百度脑图中的开源的 fio + 百度网盘方案进行实现。

在chrome下无法复制

kityminder-core在Firefox下可以使用快捷键Ctrl+c/Ctrl+v复制黏贴,
但是在chrome下就不行

http://naotu.baidu.com 为什么还不支持HTTPS?

3ee0fe550d56f8d6169cc2bfb2cbbd7f:13 Mixed Content: The page at 'https://naotu.baidu.com/file/3ee0fe550d56f8d6169cc2bfb2cbbd7f' was loaded over HTTPS, but requested an insecure stylesheet 'http://naotu.baidu.com/public/dist/kityminder.online.min.css?_=dd2447233c92274d'. This request has been blocked; the content must be served over HTTPS.
3ee0fe550d56f8d6169cc2bfb2cbbd7f:20 Mixed Content: The page at 'https://naotu.baidu.com/file/3ee0fe550d56f8d6169cc2bfb2cbbd7f' was loaded over HTTPS, but requested an insecure script 'http://hm.baidu.com/hm.js?0703917f224067c887f3664479a03887'. This request has been blocked; the content must be served over HTTPS.
(anonymous) @ 3ee0fe550d56f8d6169cc2bfb2cbbd7f:20
3ee0fe550d56f8d6169cc2bfb2cbbd7f:1 Mixed Content: The page at 'https://naotu.baidu.com/file/3ee0fe550d56f8d6169cc2bfb2cbbd7f' was loaded over HTTPS, but requested an insecure script 'http://naotu.baidu.com/public/dist/kityminder.online.min.js?_=2dbf34d4d0334cf8'. This request has been blocked; the content must be served over HTTPS.
3ee0fe550d56f8d6169cc2bfb2cbbd7f:34 Uncaught ReferenceError: angular is not defined
at 3ee0fe550d56f8d6169cc2bfb2cbbd7f:34
3ee0fe550d56f8d6169cc2bfb2cbbd7f:1 Mixed Content: The page at 'https://naotu.baidu.com/file/3ee0fe550d56f8d6169cc2bfb2cbbd7f' was loaded over HTTPS, but requested an insecure stylesheet 'http://naotu.baidu.com/public/dist/kityminder.online.min.css?_=dd2447233c92274d'. This request has been blocked; the content must be served over HTTPS.

ie 11到处svg

ie导出的svg 没办法打开。 方法没有报错

中心主题
以上是具体数据的svg内容

exportData导出图片,每次导出的形态不一样

在使用importJson初始化脑图对象后,使用exportData('png')导出图片,每次导出的样子不一样,有的时候是正常的节点展开的状态没问题,有事就是所有节点都挤在一起,有的时候又是节点重合一半等等,不知道是什么原因导致的每次生成的图片和预想效果不一致,还是变化的

如何初始化字体颜色或者背景色的信息?

抱歉,wiki的开发文档实在有限,在源码中也没很快地找到相应的配置信息。比如说支持的属性,尝试了background、或者color等均无效

        var mock_data = {
            "data": {
                "id": 201,
                "text": "777"
            },
            "children": [{
                "data": {
                    "id": 202,
                    "text": "a",
                    "priority": 1
                }
            }, {
                "data": {
                    "id": 203,
                    "text": "b",
                    "priority": 2
                }
            }, {
                "data": {
                    "id": 203,
                    "text": "asdfad阿萨德阿萨德da",
                    "priority": ""
                }
            }]
        }

类似于

                "data": {
                    "id": 203,
                    "text": "asdfad阿萨德阿萨德da",
                    "priority": ""
                    "color": "#aaa"
                }

这样,kityminder-core是否提供了这样的接口
打扰请见谅

在chrome上导出png图片不可用

问题如题,经过调试发现在:
src/protocol/png.js 中的 loadImage 这个方法创建了一个img元素,然后把svg的url作为src传入。但是这里的svg对象中没有命名空间:“xmlns:http://www.w3.org/2000/svg" 属性,导致图片加载失败。

不确定是否是我的环境问题,但是当我在getSVGInfo方法中,增加了svgDom的上述属性就可以正常导出了:
svgDom.setAttribute('xmlns', 'http://www.w3.org/2000/svg')

参见:https://stackoverflow.com/a/46238680

请问百度脑图有客户端吗?

因为单纯WEB端有时候阅读不太方便,是否有App端或者PC,MAC端?

另附issues:
1.WEB端在导出PDF,打开后内容为一片空白。
2.另存为文件后只是保存了当下屏幕的文件内容(类似截图),挺不方便的,请问有什么办法解决?

整理布局的建议

整理布局的时候,思维导图是左右对称的时,
建议是以叶子节点数量来平均左右布局(这样分布较为均匀),而不是以第一级子节点的数量来均分。
否则每次都要手工调整太麻烦,经常修改容易乱。

节点的备注信息出不来

节点添加备注信息后(note),界面图形出现了备注图标(noteIcon),但是鼠标已过去后并没有备注浮标出来。

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.