问题标签 [etherpad]
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.
node.js - Node.js:使用快速路由进行 url 重写以代理到 etherpad
我关于stackoverflow的第一个问题;)。
我想做什么:我想使用快速路由“/pad/*”来显示 etherpad(etherpad lite)并操纵用户将看到的 pad。所以,如果我得到“/pad/p/something”,“something”将被处理,并相应地更改为真实的ID,例如“XYZ”。因此用户可以编辑正确的焊盘。但是,etherpad 需要很多静态的东西和 websocket,因此我想代理它,并在需要时操纵 ID
最小工作示例:当然,ID 更改的真正逻辑要复杂得多,但对于最小工作示例,我只是使用每个 padID 映射到“a”的逻辑。
我想出了这个:
问题: url 更改和代理实际上可以工作......有点。所有 url 都被映射以删除每个 url 前面的“/pad”,这些 url 适用于 pad、静态内容和 websocket。但是,pad ID 的映射不起作用。如果我查看“localhost:3000/pad/p/a”,我会看到“a”-pad。如果我查看“localhost:3000/pad/p/b”,我会看到“b”-pad,这不是我打算做的:/。
我究竟做错了什么?这是 node-http-proxy、express 还是 etterpad-lite 问题?
任何提示表示赞赏
python - 为 EtherPad lite 使用 python 包装器
我一直在尝试通过PyEtherpadLite使用 Etherpad lite/beta API 。
我的问题是我在哪里可以找到我的 API 密钥?根据文档,api 密钥存储在客户端文件夹基本目录中的 .txt 文件中。但我的实际问题是我只想通过由某人托管的 API访问这个垫。那么现在我在哪里可以找到 api 密钥?
在另一个博客中,我发现 https://beta.etherpad.org/的 Api 密钥是 EtherpadFTW。但这似乎不起作用。我没有收到或收到错误的 API 密钥响应。
service - debian下的Etherpad服务未在启动时启动
我正在设置一个 Debian 7.6 服务器。我已经安装了一个 etherpad (etherpad-lite) 并将它放在一个 nginx web 服务器后面。etherpad 使用 mySQL。这一切都按预期工作。
现在我希望 etherpad 作为服务运行。所以我已经完成了本教程所说的:
https://www.rosehosting.com/blog/install-etherpad-lite-on-debian-wheezy/
我已将代码放在名为:
并相应地改变了路径。这行得通!我可以使用启动和停止 etherpad
现在我希望它在启动时开始。我已将符号链接放入 rcx.d 文件夹:
etherpad 所需的 MySQL 启动方式与 S19mysql 相同。在 etherpad 初始化脚本中,我添加了依赖项:
# Required-Start: $local_fs $remote_fs $network $mysql $nginx
但是重启后服务没有启动。我仍然必须手动启动它(这有效!)。我在日志文件 dmesg 或 etherpad 日志中找不到任何输出。
任何建议如何在这里找到问题?我必须查看哪些日志文件?尽管脚本有效,但服务未启动可能会出现什么问题?
我也尝试为 S24etherpad 之类的启动顺序使用更高的数字。
谢谢!
etherpad - Etherpad server installation
I am trying to deploy an etherpad installation on a linux server. However I am unable to find ways to allow etherpad to save documents onto the server. I want to save the text files that I edit with etherpad to be available as a .txt file in a particular directory on the server.
Any suggestions as to how I can go about doing this? I did not find much documentation online to help me with this, hence resorting to this.
java - Java Swing 前端到 Etherpad
我希望将 Etherpad 的功能实现到 Java Swing 应用程序中。有一个用于访问 Etherpad 的 HTTP API 的 Java 库,但它似乎只支持获取/设置整个填充文本。我想在 Java 中对纯文本进行实时多用户编辑,所有用户在编辑时都可以实时看到彼此的更改。谁能指出我正确的方向?
ssl - 在 Etherpad 中为子域禁用 HSTS
我有一个带有两个不同证书的网站。一个供官方使用,因此用户看不到自签名警报。还有一个供私有子域内部使用(用于 phpmyadmin、roundcube 等)。这些子域仅供管理员使用,因此对我来说花钱购买通配证书似乎毫无用处。因此通配符证书是自签名的,我已经记住了哈希。
此外,我在与 http 不同的端口(不是不同的子域)上的该服务器上获得了 etherpad-Installation。Etherpad 现在似乎发送此标头“Strict-Transport-Security: max-age=31536000; includeSubDomains”,这很愚蠢,因为我找不到关闭“includeSubDomains”的选项。
现在,当我在我的垫子里,然后尝试使用我的管理子域时,由于 HSTS,我得到了一个错误,没有设置异常的选项,因此这些现在对我来说是不可用的。
有人知道如何摆脱 etherpad 安装中的“includeSubDomains”吗?
如果有人可以帮助我,我会很高兴。谢谢你。
javascript - 如何在浏览器中只加载一次多个 javascript 库?
我在网页上有多个 Etherpad 实例作为 iFrame。Etherpad 的 ep_tables 插件使用 YUI 库(近 12 个不同的 JS 文件)。这会导致站点加载大量时间,因为这些 YUI 文件会为每个 etherpad 实例加载。
所以情况就是这样——我只想为第一个 etherpad 实例加载这些 YUI 文件一次,而其余实例不应该加载 YUI 文件并以某种方式使用已经加载的 YUI 文件。我该如何实现呢?
PS:每个 etherpad 实例都是一个 iFrame,YUI 库是该 iFrame 内 html 的一部分。
containers - 无法运行 bluemix 容器 没有租户网络
我正在关注 etherpad 教程。
我在ubuntu上创建了一个容器并在本地运行它。对bluemix的推动奏效了。但是,当我尝试在bluemix上运行容器时,出现以下错误:
抱歉,我们这边发生错误:无法创建网络。没有租户网络可供分配。[事件 ID e1d83d17ff51f0ae]
这是暂时的失败还是我的错?
我运行了以下命令
javascript - 如何在 Etherpad 插件中捕获点击事件
我正在开发一个在文本编辑期间提供特殊自动完成功能的 etherpad 插件。为此,我需要知道用户的插入符号在哪里。但是我不知道用户是否通过鼠标单击来移动插入符号,因为我找不到合适的钩子。
作为解决这个问题的第一步,我想捕捉鼠标点击事件。(如果我能捕捉到点击事件,我仍然不确定如何找出插入符号的位置,但至少我知道何时处理它。)任何帮助表示赞赏。
javascript - 如何在按键后立即确定 Etherpad 中的插入符号位置?
我正在开发一个 Etherpad-lite 插件,在编写时提供特殊的自动完成功能。我正在尝试在用户写入时更新自动完成项目的列表。我的问题是 aceEditEvent 的 context.rep.selStart 和 context.rep.selEnd 中的插入符号位置仅在按键后的第一个 idleWorkTimer 事件中更新,为此目的有很大的延迟。
aceEditEvent 中的事件发生如下:
- handleKeyEvent - 立即出现(我猜是 keydown), content.rep在击键之前有选择
- handleKeyEvent - 立即出现(我猜是按键), content.rep在击键之前有选择
- handleKeyEvent - 立即出现(我猜是 keyup), content.rep在击键之前有选择
- idleWorkTimer - 带有长达 1s 的延迟,content.rep在击键后有选择
那么如何在没有延迟的情况下获得新的插入符号位置?