精华内容
下载资源
问答
  • 博客帮助文档

    万次阅读 多人点赞 2019-12-10 16:52:31
    博客积分规则 博客等级 C币规则(试运营) 博客VIP说明(试运营) 博客专家 如何成为博客专家 企业博客 如何开通企业博客 博客勋章 分类专栏 博客搬家 自定义百度统计 ...1、每发布篇...

    目录

    博客积分规则

    博客等级

    C币规则(试运营)

    博客VIP文章说明

    博客专家

    如何成为博客专家?

    企业博客

    如何开通企业博客

    博客勋章

    分类专栏

    博客搬家

    CSDN博客用户准则

    总则:

    博客注册

    博客行为规则

    被投诉侵权用户处理规则

    附则

    博客评论活跃等级规则(试运营)

    Markdown帮助

    付费专栏开通规则


    博客积分规则


    博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下:

    • 1、每发布一篇原创或者翻译文章:可获得10分;
    • 2、每发布一篇转载文章:可获得2分;
    • 3、博主的文章每被评论一次:可获得1分;
    • 4、每发表一次评论:可获得1分(自己给自己评论、博主回复评论不获得积分);
    • 5、博文阅读次数每超过100次:可获得1分,阅读加分最高加到100分,即文章点击上万次截止;
    • 6、文章被管理员或博主本人删除,相应减去博主基于该篇博文所获得的分数;
    • 7、评论被管理员或博主删除,相应减去发评论者和博主基于该评论各自获得的分数(博主应减积分不会动态实时去掉,是每周固定时间清理一次);
    • 8、另外会开设相应的抄袭举报功能,一旦举报证实某篇原创文章抄袭,将扣除博主该篇文章相应的得分。

    博客等级


    图标 等级 所需积分
    L1 0
    L2 100
    L3 400
    L4 800
    L5 1600
    L6 4500
    L7 9000
    L8 25000
    L9 50000
    L10 100000
    L11 200000
    L12 300000
    L13 500000
    L14 800000
    L15 1000000

    C币规则(试运营)


    什么是C币

    查看详细C币规则

    博客VIP文章说明


    博主专享福利,发付费文章后可获得返利。

    VIP文章即读者购买VIP付费后才可解锁阅读的文章,拥有VIP文章发表权限的作者可以发表VIP文章。

    发VIP文章,根据文章购买转化数据返利(详见收益中心:https://order.csdn.net/myorder/revenue

    如何取消VIP可读:进入该篇文章的编辑页面,在“发布形式”模块取消选择“VIP可见”重新发布

    博客专家


    “博客专家”是CSDN给予质量较高、影响力较大的IT类博客的荣誉称号,代表了CSDN官方对其博客的肯定。

    成为博客专家后会得到什么:

    • 用户头像上显示“专家”勋章;
    • 发布博客时可以直接引用CSDN站外的图片;
    • 有机会免费参加CSDN举办的各种会议;
    • 有机会成为CSDN学院讲师、CSDN博乐、CSDN问答导师等;
    • 有更多演讲机会,CSDN会推荐给厂商或者各种IT技术大会作为演讲嘉宾;
    • 享有月度原创奖励,C币、图书或定制礼品;
    • 享有自定义模块、自定义域名、全站免广告等权益;
    • 文章获得更多的推荐机会:博客专家所发的文章都会进入文章预选库,我们有专门的编辑负责从中筛选优质内容,并推荐到CSDN首页或其他内容频道。

    注意情况:

    • 所有博客专家(包括荣誉专家)均为实名制;
    • CSDN博客专家在三个月内如果没有发布任何原创或翻译博文,其博客专家身份将自动取消,转为博客频道荣誉专家,不能继续享有博客专家的福利;
    • CSDN博客专家不是CSDN博客的全职或兼职管理人员,不具备CSDN博客的管理权力,其观点及行为仅代表个人,不代表CSDN官方立场;
    • CSDN博客专家如有违反CSDN网站规则的行为,如大量发布广告或软文,对CSDN网站造成不良影响等,将永久取消其CSDN博客专家身份;希望恢复博客专家身份可重新申请,点击这里申请博客专家

    如何成为博客专家?


    申请CSDN博客专家应具备的条件:

    1. 在CSDN坚持写作三年及以上;
    2. 原创技术文章总数超过100篇,并且最近6个月内有一定的活跃度;
    3. 博客文章总浏览量超过20万次以上,同时参考点赞、评论、收藏等交互数据;
    4. 原创文章占比80%以上,且文章内容有一定深度;
    5. 企业、团队等非个人开设的博客,需要原创技术文章总数超过150篇,并且最近一个月内发布了新的原创技术文章,博文总浏览量超30万次才能申请博客专家;
    6. 其他情况:
    • 在CSDN学院成功发布过课程的博主可适当放宽要求;
    • 如果已经在某IT领域具有较大影响力,但是尚没有达到上述申请条件的用户,可以通过现有博客专家或者CSDN编辑部的推荐,暂时成为“特约专家”,待达到上述条件之后,再转为正式的博客专家(申请用户自成为“特约专家”后六个月内如仍未达到CSDN博客专家应具备的条件,则“特约专家”身份取消)。

    CSDN已开通博客专家在线申请功能,点击这里申请博客专家

    企业博客


    CSDN企业博客旨在利用CSDN站内流量、内容、用户等资源,为技术型企业提供营销推广平台
    企业博客免费版主要功能如下:

    1、优质企业博文可提高推荐权重;

    2、支持设置自定义主题图,方便更换企业品牌形象及广告图;

    3、企业博客内无联盟广告展示;

    4、企业博客有专属身份标识;

    5、企业博客内的相关推荐内容为该企业自己的博文;

    6、支持设置自定义背景色,支持添加自定义链接导航(目前最多可添加五个);

    7、支持百度关键词查询;

    8、搜索专区。

    如何开通企业博客


    企业博客已经开通在线申请功能,点击这里开通企业博客

    CSDN管理员在收到您的申请后,会在2个工作日内开通服务。如有问题可以直接发信至tobblog@csdn.net咨询。

    博客勋章


     博客专家

    CSDN给予质量较高、影响力较大的IT类博客的荣誉称号,代表了CSDN官方对其博客的肯定。成为博客专家后会得到我们一系列的服务,如在头像上加象征荣誉的专家勋章、有专人对接提供服务、文章获得更多的推荐机会、不定时获得CSDN的礼品、优先获得CSDN举办的各种会议的的门票等。

    博客之星 博客之星

    授予在“CSDN年度博客之星评选”中获得“博客之星”称号的用户。为了鼓励专业、乐于分享的广大CSDN博客用户。每年12月的CSDN博客之星评选中,综合专家评审和大众投票的结果,评选出“CSDN年度博客之星”。

    勋章icon 1024勋章

    #1024程序员节#活动勋章,当日发布原创博客即可获得

    1024超级勋章 1024超级勋章

    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。

    勋章icon 勤写标兵Lv1

    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv2

    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv3

    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    勋章icon 勤写标兵Lv4

    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

    分类专栏


    分类专栏是把相同标签属性的技术博文聚集起来,集中展示,系统全面,更具目标性。CSDN鼓励每位博主撰写专属自己的专栏博文,构建自己的知识体系。

    发布分类专栏建议:

    1. 每个专栏至少发布10篇原创技术博文。

    2. 博文紧扣专栏主题,技术定位清晰,内容扎实详尽。

    CSDN博客频道编辑定期会把精华分类专栏荐给相应的受众群体。

    博客搬家


    CSDN是IT技术网站,欢迎大家发布原创或翻译IT技术类博客,非IT技术类博客将不提供搬家服务。博主可以点击这里申请博客搬家。

    CSDN推出博客搬家功能,目前支持以下站点的博客搬迁:博客园,微信公众号,简书,51CTO.com,新浪,开源中国,chinaUnix,个人博客,掘金,GitHub,知乎,segmentfault

    温馨提示:

    • 原创技术文章不能少于10篇方可申请。
    • 原博客数据不会丢失,仍然保留。
    • 如果检测到恶意导入,您的博客使用将会受到影响。
    • 审核通过的搬家申请,会持续与搬家源进行内容同步(个人博客和github同步历史文章)。
    • 审核时间一般为1个工作日,审核结果将通过站内信等方式告知。
    • 同一个站点只允许进行1次搬家申请,如申请失败则需要重新申请。

    对博客搬家有任何问题或建议请向博客客服邮箱发邮件咨询:webmaster@csdn.net。

    声明:CSDN用户要完成博客搬家需要承诺搬迁的博客为用户本人博客,如搬迁非用户本人博客所产生的后果由用户本人承担。


    CSDN博客用户准则


    总则:

    第1条 CSDN博客隶属于CSDN(包括CSDN网站与相应客户端、自媒体平台、主运营网站等),是为中国的软件开发者、IT从业者及其他人员提供以交流IT技术为主的网络社区。

    第2条 为保障CSDN博客健康发展,维护用户正当权益,规范信息发布行为,依据国家有关法律、法规、政策及CSDN相关规定,制定本博客用户准则(以下称“本准则”)。

    第3条 CSDN经营者(即北京创新乐知网络技术有限公司及其他相关联的公司)无法对用户传播内容的权属、合法性、真实性、科学性、完整性等问题进行实质审查,博客用户须对自己发布的内容独立承担责任,CSDN经营者不承担因此产生的任何法律责任。

    第4条 为保障CSDN博客的专业性与集成性,博客用户的交流不得涉及任何政治话题,CSDN博客用户须严格按照本准则的规定行使权利和履行义务。

    博客注册

    第1条 拟注册用户在CSDN博客进行注册时,需要按照提示填写详尽的用户信息(包括但不限于姓名或名称、身份证号码、邮箱、联系方式等),并对提供信息的真实性负责。在用户信息发生变动时,用户有责任及时更新、修改信息。如果博客用户提供的信息资料不准确,CSDN经营者保留终止用户使用CSDN博客提供的相关网络服务的权利。

    第2条 CSDN博客用户因提供用户信息不真实、不准确等而发生纠纷或需要帮助时,因不能确认用户身份及其帐号的使用权利,无法向用户提供相应的帮助所带来的一切后果由用户自己承担。

    第3条 CSDN经营者尊重用户隐私,未经用户合法授权,不会公开或透露其注册资料。

    第4条 用户注册并激活成功后,便成为CSDN博客的正式用户,正式博客用户拥有CSDN博客规定用户所应享有的一切权限。用户将获得一个用户名和密码,用户对自己的用户名、密码及帐号安全性负全部责任。用户同意,若发现任何非法使用帐号、密码或存在安全漏洞等其它有损用户利益的情况,应立即通知CSDN经营者。每个用户都应对以其用户名进行的所有活动和事件负全部责任。

    博客行为规则

    第1条 CSDN博客用户享有言论自由的权利,但不得违反法律法规及政策规定,不得违反诚实信用原则及公序良俗,不得损害国家、CSDN经营者及第三方权利及利益,不得违反CSDN用户协议及相关规则。严禁发表含有下列内容的信息:

    • 1.违反宪法确定的基本原则的;
    • 2.危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
    • 3.损害国家荣誉和利益的;
    • 4.煽动民族仇恨、民族歧视,破坏民族团结的;
    • 5.破坏国家宗教政策,宣扬邪教和封建迷信的;
    • 6.散布谣言,扰乱社会秩序,破坏社会稳定的;
    • 7.散布淫秽、色情、赌博、暴力、恐怖或者教唆犯罪的;
    • 8.侮辱或者诽谤他人,侵害他人合法权益的;
    • 9.煽动非法集会、结社、游行、示威、聚众扰乱社会秩序的;
    • 10.以非法民间组织名义活动的;
    • 11.可能教唆他人犯罪的;
    • 12.可能损害CSDN经营者名誉或商誉等权益的;
    • 13.其他违反中华人民共和国法律、法规、政策,违反诚实信用及公序良俗,或CSDN经营者认为不当及不宜传播的信息。 CSDN博客用户违反上述规定的,CSDN经营者有权在不通知用户的情况下,根据其独立判断,采取删除已发表言论,暂停账户使用,直至取消用户资格等措施。

    第2条 CSDN博客用户发表的文章、言论或其他信息仅代表其自身观点与立场,CSDN经营者不对用户发表内容的准确性、合法性、完整性负责。博客用户须承担一切因自己的行为而直接或间接导致的民事、行政或刑事法律责任。在任何情况下,CSDN经营者不承担因用户发表内容而引起的任何损失、损害的法律责任。

    第3条 CSDN博客用户不得发布非IT技术内容。

    第4条 未经CSDN经营者同意,禁止在博客发布与CSDN提供服务无关的广告。博客管理规则

    第1条 CSDN博客的管理权限由博客管理员享有,博客管理员由CSDN经营者正式全职员工担任,并由其按照相关法律、法规、政策以及CSDN规则行使本博客全部站务管理职责和权利,管理员代表本博客官方立场,除管理员之外的任何用户及网友言论或行为,由相关人员自行承担,均与本博客无关。

    第2条 用户恶意破坏CSDN博客版块正常秩序(包含但不限于恶意投票、刷流量、刷评论、利用自定义栏目传播病毒、垃圾广告、非法信息等)的,CSDN经营者有权视情节轻重给予警告、删帖、暂停账号使用、注销帐号等处理,并依法追究民事责任及其他法律责任。

    被投诉侵权用户处理规则

    第一次:封杀,解封时要求文章改为转载并注明出处

    第二次:封杀一个月,给予严重警告,解封时要求文章改为转载并注明出处

    第三次:不予解封

    附则

    第1条 CSDN提示博客用户,在用户与通过博客相识的其他用户进行交往时,应遵循谨慎原则。对于博客用户之间相识、交往所发生或可能发生的任何心理、身体上的伤害和经济上的损失与纠纷,由相关用户自行承担一切法律责任,CSDN经营者不承担任何法律责任。

    第2条 本准则如存在与国家法律、法规或司法解释、政策等有冲突的条款,以届时有效的国家法律、法规或司法解释、政策等为准。本准则的其余条款仍然有效并具有约束力。

    第3条 CSDN经营者有权对本准则进行修改,相关条款修改后,CSDN经营者将在相关页面公布修改的内容,修改后的条款一经公布即有效的代替原条款。用户如不同意相关条款的修改,可立即停止访问或使用CSDN博客或取消已经获得的服务;如用户选择在本准则修改后继续访问或使用CSDN博客,则视为用户已接受相关条款的修改。

    第4条 用户接受本准则的内容,并不能完全涵盖用户使用CSDN博客所产生的权利和义务,CSDN经营者公布的其他声明、规则等均视为本准则之补充条款,为本准则不可分割的组成部分,与本准则具有同等法律效力。

    第5条 本准则自发布之日起生效。

    第6条 本准则最终解释权归北京创新乐知网络技术有限公司所有。

    博客评论活跃等级规则(试运营)


    评论活跃等级是CSDN对用户在博客评论区活跃程度的辨别标准,旨在鼓励读者和博主互动交流,提高用户活跃度。活跃等级规则具体如下(该规则适用于所有用户):

    • 1、所有用户初始评论次数均为零

    • 2、活跃等级用评论次数衡量,评论次数越多,等级越高

    • 3、超过10天没有进行任何评论,等级称谓变成“潜水”,初始评论次数清零

    • 4、发布评论且审核通过后计算当前的有效评论数,根据当前的有效评论数展示不同的“评论等级称谓”

    • 5、该规则从2020年4月23日起开始执行,在此之前进行的评论不予计算,仅计算该日期以后进行的有效评论

    • 以下是评论次数对应的评论等级称谓

    评论等级称谓 评论次数区间
    潜水 0次
    码哥 1-3次
    码农 4-7次
    码工 8-15次
    码皇 16-31次
    码神 32-63次
    爱码士 64次以上


    Markdown帮助


    # 欢迎使用Markdown编辑器写博客

    ---------------------------

    撤销:Ctrl/Command + Z

    重做:Ctrl/Command + Y

    加粗:Ctrl/Command + B

    斜体:Ctrl/Command + I

    标题:Ctrl/Command + Shift + H

    无序列表:Ctrl/Command + Shift + U

    有序列表:Ctrl/Command + Shift + O

    检查列表:Ctrl/Command + Shift + C

    插入代码:Ctrl/Command + Shift + K

    插入链接:Ctrl/Command + Shift + L

    插入图片:Ctrl/Command + Shift + G

    标题

    ---------------------------

    # 1级标题

    ## 2级标题

    ### 3级标题

    #### 四级标题

    ##### 五级标题

    ###### 陆级标题

    文本样式

    ---------------------------

    *强调文本* _强调文本_

    **加粗文本** __加粗文本__

    ==标记文本==

    ~~删除文本~~

    > 引用文本

    H~2~O is是液体。

    2^10^ 运算结果是 1024。

    列表

    ---------------------------

    - 项目

    * 项目

    + 项目

    1. 项目1

    2. 项目2

    3. 项目3

    - [ ] 计划任务

    - [x] 完成任务

    链接

    ---------------------------

    链接: [link](https://mp.csdn.net).

    图片: ![Alt](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg)

    带尺寸的图片: ![Alt](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg =30x30)

    代码片

    ---------------------------

    下面展示一些 `内联代码片`。

    ```

    // A code block

    var foo = 'bar';

    ```

    ```javascript

    // An highlighted block

    var foo = 'bar';

    ```

    1. 代码片必须手动声明代码语言类型

    2. 目前支持代码类型: `markup`、`html`、`svg`、`xml`、`c`、`clike`、`cpp`、`csharp`、`java`、`vbnet`、`go`、`ruby/rb`、`python/py`、`php`、`sql`、`perl`、`objectivec`、`swift`、`javascript/js`、`css`、`handlebars`、`bash`、`kotlin`

    3. 代码片主题

    默认主题为:Atom One Dark

    可以前往 [**写作中心/博客设置**](https://mp.csdn.net/configure) 在**代码片样式**项进行更改

    表格

    ---------------------------

    项目 | Value

    -------- | -----

    电脑 | $1600

    手机 | $12

    导管 | $1

    | Column 1 | Column 2 |

    |:--------:| -------------:|

    | centered 文本居中 | right-aligned 文本居右 |

    自定义列表

    ---------------------------

    Markdown

    : Text-to-HTML conversion tool

    Authors

    : John

    : Luke

    注脚

    ---------------------------

    一个具有注脚的文本。[^1]

    [^1]: 注脚的解释

    注释

    ---------------------------

    Markdown将文本转换为 HTML。

    *[HTML]: 超文本标记语言

    KaTex 数学公式

    ---------------------------

    Gamma公式展示 $\Gamma(n) = (n-1)!\quad\forall

    n\in\mathbb N$ 是通过 Euler integral

    $$

    \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    $$

    新的数学公式使用了KaTex,其语法与 LaTex基本一致,但也有一些不同的地方,具体请参考KaTex官方使用文档: [https://katex.org/docs/supported.html](https://katex.org/docs/supported.html)

    插入甘特图

    ---------------------------

    ```mermaid

    gantt

    dateFormat YYYY-MM-DD

    title Adding GANTT diagram functionality to mermaid

    section 现有任务

    已完成 :done, des1, 2014-01-06,2014-01-08

    进行中 :active, des2, 2014-01-09, 3d

    计划中 : des3, after des2, 5d

    ```

    插入UML图

    ------------

    ```mermaid

    sequenceDiagram

    张三 ->> 李四: 你好!李四, 最近怎么样?

    李四-->>王五: 你最近怎么样,王五?

    李四--x 张三: 我很好,谢谢!

    李四-x 王五: 我很好,谢谢!

    Note right of 王五: 李四想了很长时间, 文字太长了
    不适合放在一行.

    李四-->>张三: 打量着王五...

    张三->>王五: 很好... 王五, 你怎么样?

    ```

    插入Mermaid流程图

    --------

    ```mermaid

    graph LR

    A[长方形] -- 链接 --> B((圆))

    A --> C(圆角长方形)

    B --> D{菱形}

    C --> D

    ```

    插入Flowchart流程图

    -------

    ```mermaid

    flowchat

    st=>start: 开始

    e=>end: 结束

    op=>operation: 我的操作

    cond=>condition: 确认?

    st->op->cond

    cond(yes)->e

    cond(no)->op

    ```

    付费专栏开通规则


    付费专栏是博主根据自己想变现的意愿而选择的一项可变现的产品,开通付费专栏事项须知:

    • 付费专栏开通提交前,请认真阅读《CSDN付费专栏写作协议》,知晓双方的权利与义务
    • 专栏文章需为原创文章且不少于15篇,每篇文章字数不得少于5000字(包括代码片段内字符数量)
    • 专栏申请需提交审核,审核时间1-2个工作日
    • 专栏定价,博主可以按照从系统已设定好的价格里选择定价
    • 确保专栏内容无违规、违法、广告等不当内容
    • 专栏一旦设置为收费,审核通过以后,无法取消,请谨慎操作

    展开全文
  • docfx 做一个和微软一样的文档平台

    千次阅读 热门讨论 2017-11-29 08:54:36
    开发中,有句话叫 最不喜欢的是写文档,最不喜欢的是看别人家代码没有文档。那么世界上文档写最 la 好 ji 的就是微软了,那么微软的api文档是如何做的?难道请了很多人去写文档?实际上微软有工具用来生成 api ...

    开发中,有一句话叫 最不喜欢的是写文档,最不喜欢的是看别人家代码没有文档。那么世界上文档写最 la 好 ji 的就是微软了,那么微软的api文档是如何做的?难道请了很多人去写文档?

    实际上微软有工具用来生成 api 文档和教程。

    我这里说的微软文档是:https://docs.microsoft.com/en-us/dotnet/articles/csharp/index 这个网站,不是以前的。

    微软文档使用的工具是 docfx ,这是一个很好的工具。

    本文将告诉大家如何使用这个工具做出和微软一样的文档

    下载

    第一步是下载,下载地址是 https://github.com/dotnet/docfx/releases 如果觉得github下载太慢,可以下载我上传的:http://download.csdn.net/detail/lindexi_gd/9839609

    安装

    下载之后需要解压到软件运行的文件夹,假如一般放软件的是在 E:\软件 ,就可以把他解压到这里。

    假设解压到 E:\软件\docfx

    在使用之前需要确定已经安装.NET CoreMicrosoft .NET Framework 4.6

    环境变量

    因为这个软件是命令行,所以希望在任何都可以使用,添加软件到环境变量

        setx PATH "%PATH%;E:\软件\docfx\"

    创建文档文件

    首先创建一个文件夹,用来放临时文件

    这里使用的文件夹是D:\docfx_walkthrough

    然后使用cmd进入这个文件夹。

    简单的方法是地址输入就好,不需要打开cmd一点进入

    在cmd输入命令 docfx init -q 后面的参数是表示快速,如果希望让他问你,你自己写设置,那么就不要加参数。

    输入这个命令会生成docfx_project,这里就是新建的文件,可以看到 docfx.json

    这个文件就是设置文件,可以打开看一下

    生成文档

    现在就可以进行生成文档了,因为默认就有一些文档。

    我也觉得快点让你看到这个工具如何使用才是好的,不需要做太多步就可以看到自己弄出来的网站,这个感觉一般还是很好。

    在cmd输入下面命令,因为这里的 cmd 没进入 docfx_project ,路径就是这样

        docfx docfx_project/docfx.json

    可以看到创建了 _site ,这里就是网页,但是本地查看网页不太好,来使用自带的方法。

    查看文档

    这个工具可以让你从浏览器看到自己的文档,使用方法是在cmd输入代码

        docfx serve docfx_project/_site

    打开 http://localhost:8080 就可以看到网站啦。

    注意,如果你的 8080 端口被占用,可以自己定义打开的哪个

        docfx serve docfx_project/_site  -p 可以用端口

    添加文档

    现在让我们添加自己的文档

    打开 articles 文件夹,添加自己的文档,这里添加

        win10 uwp MVVM入门.md
    
        win10-uwp-快捷键.md

    打开 articles 的 toc.yml ,把文件添加进来

    - name: win10 uwp MVVM入门
      href: win10 uwp MVVM入门.md
    - name: win10-uwp-快捷键
      href: win10-uwp-快捷键.md
    

    现在已经做好啦

    重复 生成文档 和 查看文档 文档两步。

    首先关闭 cmd 再打开,生成文档

        docfx.exe ./docfx.json

    查看文档

        docfx serve _site -p 1560

    打开 http://localhost:1560/ 就可以看到

    可以看到添加文档需要自己写目录,这个不是很好,所以我就写了一个工具来生成。

    添加代码文档

    api文档是主要的,生成api文档需要安装vs2015以上。

    首先进入工程,这里进入工程C:\程序\uwp\uwp\src\Framework\wpfMill

    接着使用docfx metadata添加 *.sln

    这里使用的是 csproj,两个都是支持的

        docfx metadata ./wpfMill.csproj

    可以看到文件夹多了 _api

    把他剪切到刚才的临时文件

    这里是D:\docfx_walkthrough,现在的临时文件看起来是

    把 _api 所有文件放到 api

    打开 D:\docfx_walkthrough\toc.yml

    - name: Articles
      href: articles/
    - name: Api Documentation
      href: api/
      homepage: api/index.md

    删除得到

    - name: Articles
      href: articles/
    - name: Api Documentation
      href: api/    

    然后重复 生成文档 和 查看文档 文档两步

    打开 代码文档 看到

    左边和右边看起来还是很好

    做自己的修改

    我也觉得现在还没有那好,因为图标

    默认的有 default iframe.html statictoc

    导入微软的代码docfx template export 要哪个

       docfx template export default

    可以看到多了 _exported_templates 文件

    修改他的名字template 然后把 default 所有文件拿出来,放在这个文件里面。

    打开docfx.json 修改默认使用的

            "template": [
          "default"
        ]

    修改之后

            "template": [
          "template"
        ]

    然后修改 template 的图标

    现在看起来很好了,但是需要继续修改,可以打开 partials

    这里就是所有可以修改的样式

    下面来说一个例子:

    打开 footer.tmpl.partial

        {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
    
    <footer>
      <div class="grad-bottom"></div>
      <div class="footer">
        <div class="container">
          <span class="pull-right">
            <a href="#top">Back to top</a>
          </span>
          {{{_appFooter}}}
          {{^_appFooter}}<span>Copyright © 2015-2017 Microsoft<br>Generated by <strong>DocFX</strong></span>{{/_appFooter}}
        </div>
      </div>
    </footer>
    

    把微软改为自己名字

        {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
    
    <footer>
      <div class="grad-bottom"></div>
      <div class="footer">
        <div class="container">
          <span class="pull-right">
            <a href="#top">Back to top</a>
          </span>
          {{{_appFooter}}}
          {{^_appFooter}}<span>Copyright © 2015-2017 lindexi<br>Generated by <strong>DocFX</strong></span>{{/_appFooter}}
        </div>
      </div>
    </footer>
    

    重新生成文档,就可以看到,页面变化了

    忽略不使用的api

    经常有一些api是不希望显示在文档的。

    可以忽略的方法有两个:第一个方法是在生成时添加忽略文件

        docfx.exe metadata -filter 忽略配置文件所在的路径

    忽略文件的路径可以是相对的。

    第二个方法是写在 docfx.json

    添加一个属性 filter ,假如使用的忽略文件是 filterConfig.yml ,那么现在的文件就可以看到如下面代码

        {
      "metadata": [
        {
          "src": [
            {
              "files": [
                "src/**.csproj"
              ],
              "exclude": [
                "**/bin/**",
                "**/obj/**"
              ]
            }
          ],
          "dest": "obj/api",
          "filter": "filterConfig.yml"
        }
      ]
    }

    接下来就是如何写 filterConfig.yml 。

    这个文件可以包含包括的文件和不包括的,包括的权限比不包括大,默认是包括所有文件

    包括的文件使用include 不包括使用 exclude ,看起来的文件是

      - include:
          uidRegex: ^Microsoft\.DevDiv\.SpecialCase
      - exclude:
          uidRegex: ^Microsoft\.DevDiv
    

    因为 uidRegex 是匹配,所以对于.需要加上\\

    强大的ms还可以匹配是什么类型,提供的:

    • Namespace
    • Type
    • Class
    • Struct
    • Enum
    • Interface
    • Delegate
    • Member
    • Event
    • Field
    • Method
    • Property

    如果要忽略命名空间是 lindexi.laji 的代码,请看下面代码

          - exclude:
             uidRegex: ^lindexi\.laji
             type: Namespace

    原文:http://dotnet.github.io/docfx/index.html

    继续在微软上开发

    可以看到现在的 docfx 还不够好,于是我继续在微软做的上面开发。

    我需要在一个文件夹包含多个项目的情况下,以及包含多个文件夹,里面包含多个项目的情况,可以解析出他们的文档和代码。

    我想到的做法是在需要转换的文件夹添加一个文件,这个文件就是配置文件,表示这个文件夹内有哪些文件夹是代码,哪些是文档。对于代码的,需要有哪些是忽略的。

    于是程序就获取配置的文件,从文件获取到存在哪些文件夹是需要进行转换的。

    然后 遍历整个文件夹,获取文件夹里的配置,从而得到需要进行做的文件夹。

    如果文件夹里的配置出错了,如找不到文件或其他的错误,那么报告为警告就好。

    程序可以从所有的文件夹获取配置,如果一个文件夹存在配置文件:

    docfx.json

    那么读取配置文件里存在哪些配置文件,其中,文件的格式为:

    Src:
    - E:\12
    Doc: E:\123123
    DocfxFolder:
    - E:\文件夹1
    - E:\文件夹2
        class Docfx
        {
            /// <summary>
            /// 代码所在的文件
            /// </summary>
            public List<string> Src
            {
                get; set;
            }
    
            /// <summary>
            /// 文档所在的文件夹
            /// </summary>
            public string Doc
            {
                get; set;
            }
    
            /// <summary>
            /// 包含需要进行文档的文件夹
            /// <remarks><para>如我有两个文件夹在不同路径,那么可以在这里写这两个文件夹</para>
            /// 或我把这个文件放在和本程序相同的路径,用这个文件来说明我需要转换的文件
            /// </remarks>
            /// </summary>
            public List<string> DocfxFolder
            {
                get; set;
            }
        }
    

    一般可以使用一个配置告诉程序,需要把几个项目的文档放在一个文件夹里,这样可以做搜索比较好。

    于是这个配置就是只有 DocfxFolder 一个属性。一般不可以在使用 DocfxFolder 之后使用 Src 等属性。但是我这里没有做要求,只是判断如果存在 DocfxFolder 就不去读其他属性。

    可以允许只有三个属性的一个。

    知识共享许可协议
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

    展开全文
  • 如何 Windows 上 使用 ONLYOFFICE 协作编辑文档

    万次阅读 多人点赞 2018-02-19 20:21:39
    1、说明——可以我qq504284沟通。 ONLYOFFICE Document Server提供文档协作的服务功能,支持Word,Excel和PowerPoint以及国产WPS的协作。但是这里告诉我们,需要进行文档管理和存储的二次开发。它api现成的开发...

    1、说明——可以加我qq504284沟通。

    ONLYOFFICE Document Server提供文档协作的服务功能,支持Word,Excel和PowerPoint以及国产WPS的协作。但是这里告诉我们,需要进行文档管理和存储的二次开发。它api里现成的开发好的文档管理平台,有java,node.js,PHP等,可能不具备权限功能吧。

    Please note, that ONLYOFFICE Document Server includes the documenteditordocument editing servicedocument command service and documentconversion service.The document manager and documentstorage service areeither included to Community Server or must be implemented by the softwareintegrators who use ONLYOFFICE Document Server on their own server.

    它自己的ONLYOFFICE/CommunityServer就是管理文件用的,是一个庞大的项目管理系统。

    ONLYOFFICE CommunityServer is a free open source collaborative system developed to managedocuments, projects, customer relationship and email correspondence, all in oneplace.

    Nextcloud,可道云等云盘系统也支持ONLYOFFICE协作服务,我用Golang语言开发的EngineerCMS来实现ONLYOFFICE的文档管理和存储,调用ONLYOFFICE Document Server服务来进行文档协作,权限完全按照官方的community。

    协作的好处在于少了来回传递文档,少了汇总的负责人,特别是十多人合作编写文档的时候,汇总的工作量大,容易出错,任何人稍微修改一点,都要重新传递整个文档,汇总后还要再次发给大家核对……。

    协作也可以应用于校审流程,校核和审查直接在文档上修改即可。

    其他如月报的合作,工作任务表的更新:每个人的任务表要随时更新,除非用专业的任务管理软件,否则用Excel表格的话,也是要负责人汇总更新表格,应付领导检查。

    会议纪要写好了,把链接发给大家,有意见直接在上面修改补充。

    投标要多人协作的话,用这个平台也是不错的。

    报表的汇总。

    市场上协作的平台不下几十种,著名的如石墨,一起写,腾讯文档协作TIM,Google Doc,office365,office online等,基本按人月收费,免费的有人数限制,并且想自己部署在局域网的话也不大可能。你的文档上传给他们或许有诸多不便呢。比如银行的报表,嘿嘿,你懂的。

    所以,我就在ONLYOFFICE Document Server基础上用Golang语言开发了文档管理和存储功能,方便大家免费无限制任意部署的需求。

    总的思路就是比如在局域网的某台windows(推荐用linux-centos,因为很稳定)电脑上安装docker容器来运行ONLYOFFICE Document Server,然后运行EngineerCMS来调用ONLYOFFICE Document Server的服务。在云服务器上部署也是一个道理。

    ONLYOFFICE随着版本的不断更迭,功能越来越接近MSOFFICE,比如有文档结构(word文档导航),历时版本的对照功能,excel里的文字删除线、筛选、透视表等。

    2、安装准备

    如果是局域网,部署的电脑拥有固定ip(下文叫宿主机,切记)。电脑能打开cup的虚拟功能。如果部署到云主机,道理是一样的。

    环境是win7以上,win10以下。Win10区别就是安装的docker软件不同而已(win10不要安装docker toolbox了),win10不需要设置端口转发。

    linux就更简单了。

    第一步:确定电脑打开了cpu虚拟打开。https://jingyan.baidu.com/article/22fe7ced3b4c003002617f17.html

    第二步:下载和安装docker toolbox(win7),默认安装即可。下载地址http://get.daocloud.io/,下载支持旧版windows的docker toolbox,win10就直接下载docker了。切记,win下安装完成docker后,启动docker的时候断网,启动后可以联网。

    第三步:启动docker后在里面拉取Onlyoffice Document Server 的Docker镜像,然后运行即可。

    下面过程看起来繁琐,等你理解后其实就2步:拉取镜像(或导入离线包),然后运行再就是在文档管理平台上配置一下IP和端口。

    3、拉取ONLYOFFICE Document Server 的Docker镜像(可选)

    拉取镜像:启动docker,在里面输入命令docker pull onlyoffice/documentserver

    (注意:docker要断网启动!!切记,启动后再联网。如果已经运行了onlyoffice document server, 下次开机,重新启动docker后,不需要再运行onlyoffice的,当你启动docker后,OO已经启动了)

    可以用我做好的镜像导入(离线包导入),已经导入好了中文字体,修正了几个翻译错误,可以省略第5步,从第4步直接跳过第5步到第6步。

    建议用离线的,导入离线包命令为:docker load < fei6onlyoffice5.4.2.tar

    fei6onlyoffice5.4.2.tar,这个包解决了中文字体名称问题。

    下载放到docker命令行对应的目录下,方便运行命令导入(load)这个镜像。一般在c盘-users-administrator或者其他用户名下(在docker命令行里输入dir,看看当前目录下有哪些文件,一般就能找到这个目录了。)

    4、启动——映射至9000端口(运行镜像后变成容器)

    docker run -i -t -d -p 9000:80 onlyoffice/documentserver

    如果是导入的镜像,上面的命令中onlyoffice/documentserver用镜像id代替,查阅镜像用docker images命令。

    运行后就可以通过http://192.168.99.100:9000访问OO服务的欢迎界面了,运行后的我们称之为容器。

    5、添加容器onlyofficedocument server的字体(可省略)

    在网盘中下载字体winfont压缩包。字体来源于https://github.com/neroxps/Docker-Only-Office-Chinese-font和win10系统,win10系统提取中文字体的方法:控制面板——搜字体——查看安装的字体——再在搜索栏输入中文 2个字,这些就是需要的中文字体了。OO首次加载会比较慢,因为加载中文字体,一般达到50M以上。需要精简字体的方法,可以查阅网络或找我。

    Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

    //将当前文件夹C:\Users\Administrator\下的winfont文件夹内的字体全部拷贝到容器的文件夹/usr/share/fonts/truetype中

    字体文件在我的网盘中:https://pan.baidu.com/s/1JgYvx_Rpl6oF4_QMNaU3qg

    提取码:jlt6

    $ tar -cv * | docker exec -i 6df tar x -C/usr/share/fonts/truetype

    kaiu.ttf

    msjh.ttc

    msjhbd.ttc

    msjhl.ttc

    msyh.ttc

    msyh.ttf

    msyhbd.ttc

    msyhl.ttc

    simfang.ttf

    simhei.ttf

    simkai.ttf

    simli.ttf

    simsun.ttc

    simsunb.ttf

    simyou.ttf

    ……

    Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

    //进入容器内

    $ docker exec -it 6df /bin/bash

    root@6dfa5705aaef:/#sudo mkfontscale

    root@6dfa5705aaef:/#sudo mkfontdir

    root@6dfa5705aaef:/#sudo fc-cache -fv

    /usr/share/fonts:caching, new cache contents: 0 fonts, 1 dirs

    …………

    fc-cache:succeeded

    root@6dfa5705aaef:/#exit

    exit

    //退出容器

    Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

    $ docker exec 6df /usr/bin/documentserver-generate-allfonts.sh

    GeneratingAllFonts.js, please wait...Done

    onlyoffice-documentserver:docservice:stopped

    onlyoffice-documentserver:docservice:started

    onlyoffice-documentserver:converter:stopped

    onlyoffice-documentserver:converter:started

     如果机器重启后,断网情况下启动docker,此时不需要再运行docker run命令,OO服务已经随DOCKER启动了。

    完成后记得清理chrome浏览器缓存,否则新导入的字体不会生效。chrome浏览器:设置—高级—隐私设置和安全性—清除浏览数据—时间范围选择时间不限……

    具体替换字体的命令见下图,很详细具体了。

    插图上写的界面汉化不对,这些只是导入中文字体而已,和界面汉化无关。界面中文化其实就是在页面中将 "lang": "zh-CN"

    修正excel、word、ppt翻译错误:

    Administrator@604TFALNDKDKJWC MINGW64 ~/zh

    $ docker exec -it 6df /bin/bash

    root@6dfa5705aaef:/#cd /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/

    root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#ls

    cs.json en.json  fr.json  ja.json nl.json  pt.json  sk.json tr.json  vi.json

    de.json es.json  it.json  lv.json pl.json  ru.json  sl.json uk.json  zh.json

    root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#exit

    exit

    Administrator@604TFALNDKDKJWC MINGW64 ~/zh

    $ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/

    zh.json

    word的翻译文件/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/

    $ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/

    6、还可以替换帮助文件为中文……

    /var/www/onlyoffice/documentserver/apps/presentationeditor/main/resources/help/zh/Contents.json

    /var/www/onlyoffice/documentserver/apps/spreadsheeteditor/main/resources/help/zh/Contents.json

    /var/www/onlyoffice/documentserver/apps/documenteditor/main/resources/help/zh/Contents.json

    做完以上工作,你可以将修改后的容器保存为新的镜像,然后save导出后给其他机器用。

    docker commit将修改后镜像保存到本地,参数是容器ID,新名字:版本标志

    #docker ps -all

    CONTAINER ID IMAGE   COMMAND    CREATED       STATUS          PORTS   NAMES

    b3426410ff43 centos:7 "/bin/bash" 4 minutes ago   Exited (0) 4 seconds ago     centos7ssh

    #docker commit b59myimage/centos7-ssh(这个是例子)

    下次可以输入刚保存的名字启动修改了字体的镜像了。

    导出镜像——一定要导出保存,否则docker经常自己升级,容器啊,镜像啊,都会丢失,追悔莫及。

    所以,启动docker的时候要关闭网络,否则它自动升级。等docker完全启动后,再打开网络。

    docker save -o onlyoffice.tar onlyoffice/documentserver

    6、运行和修改文档管理平台EngineerCMS

    直接去https://github.com/3xxx/engineercms查看源码,自己编译。

    直接去链接:https://pan.baidu.com/s/1MDJ-QfCmv_LiychDSLn8jw 提取码:nhar 下载软件包,直接运行engineercms即可用浏览器chrome访问127.0.0.1了,不用配置环境,因为它是golang语言编写的跨平台的可执行文件。如果运行出现闪退,则在conf文件夹下更改app.conf文件中的端口号,或者修改runmode为prod模式。

    (1)运行前要替换engineercms\views\onlyoffice\onlyoffice.tpl中的3处 IP 和 端口号,如果engineercms和docker安装在同一个电脑上,那么三个IP相同,但端口号是不同的,见下面的6.1节。

    2)docker toolbox访问前要按照下文中第7节中的方法设置宿主机(安装docker的电脑)virtualbox的端口转发。win10的windows docker不用设置端口转发了。

    有问题联系我QQ504284,微信hotqin999

    http://blog.csdn.net/hotqin888

    6.1协作编辑页面要根据你的情况进行修改(ip地址、中文界面

    一定要用ip,不要用localhost、127.0.0.1之类的代替本机ip,本机调试要用192.168.99.100

    注意:下文只是标识出需要修改的3处ip和端口号位置,代码并不能直接拷贝过去运行。请在engineercms文件夹中对应的原始文件上进行修改。

    engineercms\views\onlyoffice\onlyoffice.tpl:

    
    <!DOCTYPE html>
    <html style="height: 100%;">
    <head>
       <title>fei-OnlyOffice</title>
    </head>
    <body style="height: 100%; margin: 0;">
        <divid="placeholder" style="height: 100%"></div>
        <script type="text/javascript"src="http://安装docker电脑的ip:9000/web-apps/apps/api/documents/api.js"></script>
        <scripttype="text/javascript">
            //alert({{.Doc.FileName}});
           window.docEditor = new DocsAPI.DocEditor("placeholder",
                {
                   "document": {
                       "fileType": "{{.fileType}}",
                       "key": "{{.Key}}",//"Khirz6zTPdfd7"
                       "title": "{{.Doc.FileName}}",
                       "url": "http://运行engineercms电脑的ip:端口号/attachment/onlyoffice/{{.Doc.FileName}}"
                    },
                   "documentType": "{{.documentType}}",
                   "editorConfig": {
                       "callbackUrl": "http://运行engineercms电脑的ip:端口号/url-to-callback?id={{.Doc.Id}}",
                       "user": {
                           "id": "{{.Uid}}",
                           "name": "{{.Uname}}"
                       },
                       "lang": "zh-CN",//"en-US",菜单中文化
                    },
                   "height": "100%",
                   "width": "100%"
                });
       </script>
    </body>
    </html>

    7、端口转发

    http://blog.csdn.net/maodou95838/article/details/78194830?locationNum=1&fps=1#0-qzone-1-51693-d020d2d2a4e8d1a374a433f596ad1440

    前文第4节运行ONLYOFFICE DOCUMENT SERVER:

    docker run -i -t -d -p 9000:80 onlyoffice/documentserver

    -d:后台运行 

    -p 9000:80 :端口映射,前一个9000代表虚拟机的端口,后一个80代表docker容器的端口 

    命令执行完成后,可以通过http://192.168.99.100:9000访问OO服务的欢迎界面。

    这时只能在你自己的机器上访问,同一个局域网中的其他机器是不能访问的,原因是:Windows上的docker是运行在一个虚拟机里面的,看官方给的图: 

     要让别的机器也访问到,需要配置一下虚拟机。设置如下: 

    双击运行安装docker toolbox生成的Oracle VMVirtualBox。

    点击端口转发:下图中主机IP为安装docker的电脑IP,主机端口为9000,子系统IP为192.168.99.100,子系统端口为9000

    这样配置完成后,别的机器也可以访问docker 容器了。

    下文的开发仅供兴趣参考。

    8、二次开发engineercms

    8.1 协作编辑页面

    <!DOCTYPE html>
    <html style="height: 100%;">
    <head>
       <title>fei-OnlyOffice</title>
    </head>
    <body style="height: 100%; margin: 0;">
        <divid="placeholder" style="height: 100%"></div>
        <script type="text/javascript"src="http://安装docker电脑的ip:9000/web-apps/apps/api/documents/api.js"></script>
        <scripttype="text/javascript">
            //alert({{.Doc.FileName}});
            window.docEditor = newDocsAPI.DocEditor("placeholder",
                {
                   "document": {
                       "fileType": "{{.fileType}}",
                       "key": "{{.Key}}",//"Khirz6zTPdfd7"
                       "title": "{{.Doc.FileName}}",
                       "url": "http://运行engineercms电脑的ip:端口号/attachment/onlyoffice/{{.Doc.FileName}}"
                    },
                    "documentType":"{{.documentType}}",
                   "editorConfig": {
                       "callbackUrl": "http:// 运行engineercms电脑的ip:端口号/url-to-callback?id={{.Doc.Id}}",
    
                       "user": {
                           "id": "{{.Uid}}",
                           "name": "{{.Uname}}"
                       },
                       "lang": "zh-CN",//"en-US",
                    },
                   "height": "100%",
                   "width": "100%"
                });
       </script>
    </body>
    </html>

    8.2 协作页面的保存和回调——下面是go语言,官方文档有php java node.js等。

    type Callback struct {
       Key         string   `json:"key"`
       Status      int     `json:"status"`
       Url         string   `json:"url"`
       Changesurl  string  `json:"changesurl"`
       History     history `json:"history"`
       Users       []string `json:"users"`
       Actions     []action `json:"actions"`
       Lastsave    string  `json:"lastsave"`
       Notmodifiedbool     `json:"notmodified"`
    }
    type action struct {
       Type   int
       userid string
    }
    type history struct {
     changes       []change
       serverVersionstring
    }
    type change struct {
       created string
       User    User1
    }
    
    type User1 struct {
       id   string
       name string
    }
    
    //关闭浏览器标签后获取最新文档保存到文件夹
    func (c *OnlyController) UrltoCallback() {
       // pk1 :=c.Ctx.Input.RequestBody
       id :=c.Input().Get("id")
       //pid转成64为
       idNum, err :=strconv.ParseInt(id, 10, 64)
       if err != nil {
          beego.Error(err)
       }
       //根据附件id取得附件的prodid,路径
       onlyattachment,err := models.GetOnlyAttachbyId(idNum)
       if err != nil {
          beego.Error(err)
       }
    
       var callbackCallback
       json.Unmarshal(c.Ctx.Input.RequestBody,&callback)
       ifcallback.Status == 1 || callback.Status == 4 {
          c.Data["json"]= map[string]interface{}{"error": 0}
          c.ServeJSON()
       } else ifcallback.Status == 2 {
          resp, err :=http.Get(callback.Url)
          if err != nil{
             beego.Error(err)
          }
          body, err :=ioutil.ReadAll(resp.Body)
         if err != nil{
             beego.Error(err)
         }
          deferresp.Body.Close()
          if err != nil{
             beego.Error(err)
          }
          f, err :=os.create(".\\attachment\\onlyoffice\\"+onlyattachment.FileName)
          if err != nil{
             beego.Error(err)
          }
          deferf.Close()
          _, err =f.Write(body)
          if err != nil{
             beego.Error(err)
          } else {
             err =models.UpdateOnlyAttachment(idNum)
             if err !=nil {
                beego.Error(err)
             }
          }
          c.Data["json"]= map[string]interface{}{"error": 0}
          c.ServeJSON()
       }
    }

    engineercms的文档管理: 根据官方community的样子,做了权限管理和历时版本对照功能。

     word文件协作效果:

    展开全文
  • 暴力破解word文档限制编辑加密保护

    万次阅读 2019-01-10 10:56:54
    为了测试效果,新建两个word文档一个有保护,一个没有保护 有保护文档设置为限制编辑 可以看到有保护的文档可以打开,但编辑选项均为灰色 如何取消保护(不知道密码的情况下) 打开后分别另存为html格式(注意...

    为了测试效果,新建两个word文档,一个有保护,一个没有保护
    在这里插入图片描述
    有保护文档设置为限制编辑
    在这里插入图片描述
    可以看到有保护的文档可以打开,但编辑选项均为灰色
    在这里插入图片描述

    如何取消保护(不知道密码的情况下)

    打开后分别另存为html格式(注意是打开后再另存,不要直接改后缀)
    在这里插入图片描述
    右键用记事本打开
    在这里插入图片描述
    对比两边的不同,把与加密有关的删除(或者把不同的改为相同),要更改的大概有两行至几十行不等,这一步需要意会,很多地方看代码能大概理解这一行的含义,也有一些运气的成分

    改完后另存为doc格式
    在这里插入图片描述
    因为“有保护1.doc”文件可能有部分内容被存在刚才另存html时的文件夹里,这时“有保护1.doc”可以正常打开、编辑

    以下提示框选择“是”
    在这里插入图片描述
    可以正常打开、编辑框不再是灰色
    在这里插入图片描述
    正如提示框所说,“某些文件不在预期的位置”,为了方便以后使用,或者想把文档发给别人,再另存为一个新文档即可

    无意中发现的破解加密的方法,不足之处多多指点!

    附:别人的方法
    方法一:
    用于word各版本。
    1、把受保护的文件另存为XML格式,新存的文件用右键以记事本的方式打开,搜索“DocumentProtection”,在前面加上“un”,变为“unDocumentProtection”,保存。
    2、用word打开修改后的xml格式,可以看到文件已经可以修改了。如果需要,可以重新保存为.doc格式。

    方法二:
    只适用于word2007、2010版本,后缀格式为docx的。
    1、将Word文件的后缀名".docx"改为".rar"。
    2、双击打开,进入"Word"目录,找到"settings.xml",把它解压出来。
    3、右键点击解压好的"settings.xml",点击“编辑”,查找"<w:documentProtection",改成"<w:undocumentProtection",保存文件。
    4、把改好的"settings.xml"拖入rar文件,完成后把后缀名改回".docx"即可。

    展开全文
  • 给Office文档加密方式与原理揭秘

    千次阅读 2005-12-29 10:00:00
    Word、Excel和PowerPoint是朋友们日常学习和工作中经常使用的三Office组件,然而它们提高我们工作效率的同时也会让我们担心文档的安全性,因此,为了文档不被他人所查看,我们最好是给这些Office文档加把锁。...
  • office文档加密方法及原理

    千次阅读 2009-09-14 16:25:00
    Word、Excel和PowerPoint是朋友们日常学习和工作中经常使用的三Office组件,然而它们提高我们工作效率的同时也会让我们担心文档的安全性,因此,为了文档不被他人所查看,我们最好是给这些Office文档加把锁。...
  • WORD文档里如何添加编号

    千次阅读 2012-09-24 13:32:34
    项目编号可使文档条理清楚和重点突出,提高文档编辑速度,因而深受喜爱用word97/2000编辑文章的朋友欢迎。编号作为word中的项“自动功能”,只有深谙其来龙去脉,运用得当,才能让“编号”言听计从,不致适得其反...
  • 人都有自己的空间,您可以为自己的日记本加锁来防止他人阅读,那么对于电子文档,是不是也可以加一把更加安全且无形的锁呢?这就是 Office 2010 使用密码加密文档的功能。如果您不想让“密码”这种原始的钥匙把...
  • word文档加密保护不能编辑问题

    千次阅读 2016-08-24 09:08:46
    方法一(简单有效):启动word文档,新建一个空白文档,执行“插入文件”命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中该文档,单击“插入”按钮,将加密保护的文档插入到新文档中,...
  • Bootstrap Table API 中文版(完整翻译文档

    万次阅读 多人点赞 2017-09-11 20:20:27
    *看网上有中文版的,但有些就是字面直接译过来了,而且有的就没有翻译,那就打算自己翻译遍,每条会尽 *最大可能结合尽可能多资料翻译,如果发现译的内容比英文多,是添加了更详细的说明,表的名称,属性,...
  • PDF文档解密及数字签名技术(三)   读取加密的PDF文档   前文说过,加密的PDF文档,其中的字符串和流都是被加密的,要正确的解读这些信息,就要对其进行解密,解密就需要密钥,那么密钥怎么来呢?与加密...
  • Word文档转换为图片Pdf,Word文档扫描成Pdf Word转换为图片Pdf1、 Word转换为Pdf,程序很多,但转换后的Pdf,还可以复制,虽可以加密禁止复制,但市场上太多的Pdf,还可以把Pdf转换Word等其他格式,很容易被别人利用...
  • 绕过 word 文档的密码,对加密文档

    千次阅读 2018-10-30 19:15:10
    有兴趣的可以尝试一下,验证过后可以评论和我说声。 干货(步骤): 1. 打开密码保护的文档。比如长得像这样的。我们想要编辑文件的时候就会提示有限制,不能编辑。 2. 另存为 Word XML 文档 ...
  • 默认的情况下,在一行中间输入的新文字会插入到原有文字当中。如果您键入的时候,原有的文字消失了,改写模式可能被打开了。三选 1、“工具”菜单上,单击“选项”,单击“编辑”选项卡,然后清除“改写...
  • Zeal一个好用的开源离线开发文档浏览器

    万次阅读 多人点赞 2017-12-06 11:38:58
    Zeal的官网是https://zealdocs.org/,其自我介绍是Zeal is anoffline documentation browser for software developers.(Zeal是为软件开发人员准备的离线文档浏览器)。该软件是仿照苹果系统上的Dash ...
  • 这个问题我网上搜了很久,没有找到什么解决方案,需求其实...局部的背景图片一般很少遇到,这里我要的是整体上的一个背景图片。它往往是一些单纯的颜色图片,跟网页的背景图片一样。 所以怎么做?我突发奇想,...
  • word文档中把几图形组合一起

    千次阅读 2018-05-15 17:38:00
    在文档中绘制图形时,想把多个图形组合一起成为一个整体。这需要用到组合命令。下面,我们来看下操作步骤。 下面中的文档,已绘制出三个图形; 现在需要把这三个图形给组合一起。 步骤阅读 我们先...
  • 将多HTML文档合并成一HTML文档

    万次阅读 2016-04-15 01:04:48
    将多HTML文档合并成一HTML文档目录将多HTML文档合并成一HTML文档目录 merge_htmlsh脚本 使用说明 对脚本的几处解释 最近看Vim插件方面的资料,原来一直都只用ctags和cscope看代码,发现看一些大型项目还是...
  • 1.最近做一个故障树诊断的项目,用visio二次开发,可以同时打开多个绘制的故障树图形文档。项目中需要实现判断文档是否发生变化,这是很多编辑软件的基本功能,变化了就个星号*。如果整个项目从0开始自己设计就是...
  • 保存Excel文档时提示文档未保存

    万次阅读 2011-11-22 10:55:14
    也无法另存,只能将内容复制到其他文件保存,这个现象以前出现过,一般都能找到原因,这一次文件是别人发给我的,修改后就是无法保存,最后只好新建一个新的excel文档,把需要的内容copy过去保存,没有找到其它...
  • PDF文档虽然保密性较高而且不易编辑,虽然实现了让别人无法修改的目的,但是我们有时候还是不想让别人看到我们文档中的内容,这时候,我们就要给PDF文档进行加密了。 、PDF加密方法 1.内容加密 (1)我们可以...
  • vim打开文档和多文档编辑

    万次阅读 2011-03-08 13:55:00
    vim ,进入vim界面之后使用命令 :e 文档名 打开文档,此方式可以编辑一个文档的同时打开另外一个文档二、多文档编辑:1. vim 文档1名 文档2名 ...2. vim ,进入vim后使用:e 文档名 打开文档3.多文档编辑的命令...
  • JSP生成WORD文档,EXCEL文档,PDF文档

    千次阅读 2009-04-15 08:50:00
    web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段,服务器把保存Blob字段中的图片文件展现...
  • 产品经理必须要了解的26个文档

    千次阅读 2011-11-07 16:16:00
    周扬,爱学习,思维缜密,有毅力,善于总结,没架子,爱开玩笑,和公司内每一个人都能打成一片,因此,人缘特别好,属于公司内左右逢源的那种,当然,他是真有能力,这一点是得到技术部一致认可的。 当然,还有...
  • lucene就是一个全文检索的工具包。 Lucene的能干什么? 1. 获取内容(Acquire Content) Lucene不提供爬虫功能,如果需要获取内容需要自己建立爬虫应用。 Lucene只做索引和搜索工作。 2.建立文档(Build Document)
  • ps:只读:加密后他人仍可以复制文档里的内容 填写窗体:他人无法复制任何文字。(图片还是可以右键另存的) 解除保护 记得密码 记得密码的情况下解密十分简单,按上面的步骤找到点击“限制编辑”后点击“停止保护...
  • eclipse中加入API文档帮助

    千次阅读 2018-01-25 10:12:04
    首先,你的文档需要是HTML版的,如果没有的话,可以去下载,不想下载的话,还有别的方法,很简单。 这里你需要有chm版的API文档,...windows 下 ,方法如下: 命令行,输入hh -decompile 例如:hh -deco
  • 百度文库文档下载

    万次阅读 2017-08-26 17:27:42
    无意中看到的一个方法,就是地址前面加上wap这三个字母进入wap版的文库.便可复制了.举个例子. ‍下面这是一个文档: http://wenku.baidu.com/view/b9ee0694dd88d0d233d46a00.html然后这样,wenku前加上wap这三个字母...
  • 用jacob进行合并多份word文档成一份时,为了让两份文档都能保持住自己原本的页眉页脚,我们需要合并时两份word文档之间插入一个分节符。注意不是分页符,插入分页符会让第二份word文档的页眉页脚被前一份给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 525,895
精华内容 210,358
关键字:

如何在文档里再加一个文档