问题标签 [diff-lcs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1366 浏览

ruby-on-rails - 使 diff-lcs 的输出具有人类可读性

我正在使用 diff-lcs gem 输出两个 html 内容主体之间的差异。这是示例内容。

版本一:

版本二:

使用这个:

你得到这个怪物:

文档中的输出sdiff和其他方法同样令人恐惧。我了解数组(数组)的结构,但必须有一种简单的方法以人类可读和可样式化的方式显示差异。

PS - 如果有人想创建一个diff-lcs标签,那将不胜感激。

0 投票
2 回答
1174 浏览

ruby - 将 HTML 字符串解析为数组

我正在为 TinyMCE 生成的 HTML 正文开发类似于 wiki 的差异功能。diff-lcs是接受数组或对象的差异 gem。大多数差异任务都在代码上,只是比较行。HTML 文本正文的区别更为复杂。如果我只是插入文本正文,我会得到一个字符一个字符的比较。虽然输出是正确的,但它看起来像垃圾。

如果有人更改了第二段,则差异输出涉及前面的段落结束标记。我不能只使用strip_tags,因为我想在比较视图上保持格式。理想的比较是基于完整的句子,将 HTML 分离出来。

我发现了很多整洁的 Nokogiri 方法,但我没有找到上述方法。

0 投票
2 回答
2223 浏览

ruby-on-rails - 运行 generate rspec:install 时找不到 diff-lcs

我是一个刚接触 Rails 的 Django 人。我正在尝试让 rspec-rails 为我工作,但是当我运行时

我明白了。。

这很麻烦,因为

在 Gemfile.lock 中还活着并且很好我已经删除了 Gemfile.lock 并重新运行 bundle 无济于事。我也将 gem 'diff-lcs' 添加到了我的 Gemfile 中。

这就是我在 gemfile 中有 rspec rails 的方式

有小费吗?

0 投票
1 回答
107 浏览

ruby-on-rails - diffy 无法使用 vendored diff-lcs 访问 ldiff

我有一个具有以下环境的 Ruby-on-Rails (3.2) 应用程序:

  • 部署:capistrano,标准文件夹结构(my_app/current, /shared, /releases
  • Ruby:v2.3从源代码安装在/usr/local/bin/ruby. 不使用 rvm 或 rbenv
  • Bundler:使用capistrano-bundler,安装my_app在 capistrano 标准层次结构的级别my_app/shared/bundler
  • 应用服务器:使用passenger-phusion和nginx,启动管理systemctl

问题:我正在使用 gem diffy,它使用diff-lcsldiff提供的可执行文件。此可执行文件位于实际上是捆绑程序生成的存根处。现在,当我输入这样的代码时:stub 被执行并引发以下错误:/home/my_user/my_app/shared/bundle/ruby/2.3.0/bin/ldiffDiffy::Diff.new('abcd', 'abcde').to_s

请注意,这适用于 rails 控制台,但不适用于服务器。查看diffy.rb,我无法控制 diffy 正在执行的实际命令(我可以放在哪里bundle exec diffy ...)。

如何解决这个问题?唯一的方法似乎是取消出售的 gem 并在系统级别安装所有 gem。

PS:我在使用时遇到了同样的问题[wkhtmltopdf][6],但是,我wkhtmltopdf提供了一个配置设置来使用本机包。