我的写作工具链(v4-201801)

工欲善其事,必先利其器

Question

  • OmniFouse: 项目和上下文分类设置还比较混乱,有待重构
  • Ulysses:多种样式效果不佳(图片连接、代码块)
  • 编辑发布流程:目前的方式(local->Blog(markdown),review->Jianshu(markdown),review->微信公众号),内容粘贴到公众号编辑器还需要比较多手工处理,未统一微信发布内容样式表。
  • Mac:如何设置左手 <- -> 方向键 ? (右手仍然需要鼠标的情况下)
  • PPT:vm win下正常,mac下英文字母乱码

v4:201801

我的写作工具链(v4-201801)_第1张图片
Writer_Tools_Chain_4

更新内容:

  • 数据可视化(五)基于网络爬虫制作可视化图表
  • 基于 Node.js 实现程序化文本编辑
  • 基于 Graphviz 实现程序化绘图
  • 图片处理(Photoshop):批处理与动作
  • Blog generator(hexo):优化内容页脚模版、修复google/baidu site xml 问题、修复https兼容问题
vi /theme/yilia/layout/_partial/article.ejs
  • 扩展 Markdown 源文件编辑工具集(nodejs-based)

前期需求:
1)源文件持续修改中出现的回归编辑工作,互相引用的链接较多
2)兼容现有的 Blog Generator (Hexo) 便于融合使用
3)支持 command-line 模式便于调用

后续目标:
1)专题模板一次编辑,多处插入
2)主体自动聚合,类似维基(Template talk)

var fs = require('fs-extra');
var path = require('path');

// All paths are relative to package.json.
var pagesPath = './source/_posts';
var copyFolders = ['./images', './css', './js'];
var outputPath = './tmp';

// First delete everything in the tmp directory.
console.log('Cleaning previous tmp...');
try {
  for (var file of fs.readdirSync(outputPath)){
    fs.removeSync(path.join(outputPath, file));
  }
}
catch (err){
  console.log('Error during cleanup: '+err);
  process.exit(1);
}

// Then read everything in the pages directories.
var pages = {}, pagesMeta = {};

console.log('Loading pages...');
try {
  for(var page of fs.readdirSync(pagesPath)){
    pages[page] = fs.readFileSync(path.join(pagesPath,page),'utf8');
  }
}
catch (err){
  console.log('Error during page loading: '+err);
  process.exit(1);
}

// Generate each page from the data provided, using the template.
console.log('Generating pages...');
try {
  for(var page of Object.entries(pages)) {
    var pageFullName = page[0];
    var pageName = page[0].slice(0, page[0].lastIndexOf('.'));
    var metaData = pagesMeta.hasOwnProperty(pageName+'.json')

    var source_file = pagesPath +'/'+ pageFullName;
    var target_file = outputPath +'/'+ pageFullName;

    //console.log(pageFullName);
    if(source_file.lastIndexOf('.md')>0){

    var source_str = 'http:\\/\\/riboseyim.github.io';
    var target_str = 'https:\\/\\/riboseyim.github.io';

    var exec = require('child_process').exec;
    var cmdStr = 'gsed -e "s/'+source_str+'/'+target_str+'/g" ' + source_file + ' > ' + target_file;
    console.log(cmdStr);

    exec(cmdStr, function(err,stdout,stderr){
      if(err) {
         console.log('exec error:'+stderr);
      } else {
         //console.log(stdout);
      }
      });
    }
  }
}catch (err){
  console.log('Error during page generation: '+err);
  process.exit(1);
}

console.log('--------------Done!--------------------');

v3:201706

我的写作工具链(v4-201801)_第2张图片
v3:201706

更新内容:

OmniFouse: 计划管理、进度提醒
数据容灾:统一使用坚果云
摄影处理:图片像素、大小处理
OmniGraffle:存量数据合并整理,空间布局/样式配色技巧升级
图床:云存储分库、图片命名、批处理
Evernote、Ulysses:一般性创意素材从Evernote迁移到Ulysses
Atom: 发布定稿前版本采用Atom作为编辑器
GitBook: 《Linux Perf Master》 反馈极好
版权骑士: 效果不佳,remove

v2:201701

我的写作工具链(v4-201801)_第3张图片
v2:201701

分享:从Evernote到Ulysses

更新内容:

摄影器材:微单。效果较好的场景:园林、博物馆、航展
OmniGraffle:高级应用技能:图层、统一样式、配色技巧
图床:采用七牛云
Evernote:及时检阅、分类、删除剪辑内容
GitBook: 新手入门
hexo: 优化Markdown-->Html自动生成、发布流程

v1:201606

我的写作工具链(v4-201801)_第4张图片
v1:201606

分享:思维利器OmniGraffle

更新内容:

Evernote:素材仓库
支持所有手机、平板和电脑。在任意一台设备打开Evernote,随时记录一切、轻松收集资料、一键演示笔记、高效协作共享。

MindManager:框架梳理
一般人的大部分思考过程都是杂乱无序的,没有逻辑的,最后也没法形成有效的沉淀,更无法找到清晰的结论。不是所有的人都是天生就有很好的逻辑的,MindManager可以辅助进行思维整理、分析、可视化的工具。比如写这篇的时候,就是现在MindManager梳理了一个概要,之后导出为文本作为底稿。

OmniGraffle:思维可视化
由The Omni Group制作的一款绘图软件,它曾获得苹果设计奖。可以支持流程图、逻辑图、模型设计等,堪称万能绘图神器。这年头大家都挺忙的,能用一张图表达的意图,就不用写一大堆字啦。

Markdown:一次编写,到处发表
Markdown标记语言,我其实很久以前就掌握了,但是使用频率很低,也谈不上什么美感。真正推动我把Markdown纳入个人工具箱的也是写作,可以说是相辅相成吧。它最大的意义在于通过极简的形式,解决了写作成果的移植通用性的问题。

Ulysses:样式精美、版本管理、ZoomIn/ZoomOut

版权骑士:打击盗版,人人有责。

扩展阅读

  • 最佳写作实践:从Evernote到Ulysses
  • Kanban 看板管理实践精要
  • 数据可视化(一)思维利器 OmniGraffle 绘图指南
  • 基于Redmine的项目管理平台

你可能感兴趣的:(我的写作工具链(v4-201801))