分类 软件技巧 下的文章 - 🥝 E 家 分 享 🥝
首页
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
搜 索
1
自动提取 ChromeGo 一键翻墙包内的免费节点
300 阅读
2
GigaFile - 日本免费大文件加密分享服务,最长保留文档100天
213 阅读
3
【汇总:免费节点 - 每周更新】
184 阅读
4
CloudFlare WARP 免费 VPN 搭建教程
109 阅读
5
【E家分享月刊系列】2024-12
92 阅读
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
登录
搜 索
标签搜索
WordPress
脚本
GitHub
科学上网
哈佛管理导师
E家分享月刊系列
V2ray
Mac软件
AI
Cloudflare
Docker
免费节点
建站在线工具
Excel技巧
Notion
Nginx
ChatGPT
图像编辑
免费图床
网盘资源
E家之长
累计撰写
195
篇文章
累计收到
246
条评论
首页
栏目
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
页面
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
用户登录
登录
找到
59
篇与
软件技巧
相关的结果
2023-09-02
Xterminal - 强大的SSH工具
软件介绍官方网址:https://www.xterminal.cn/软件特点:提供本地控制台界面漂亮,可以完全定制化布局,满足个性化需求图表化实时监控,清晰掌握系统状态简易操作文件,轻松编辑、删除、新增、上传下载、移动文件功能介绍快捷动作 多级分组 炫彩外观 登录凭证 监控面板 自定义布局 命令提示 书签跳转 设置代理 【END】
2023年09月02日
6 阅读
0 评论
0 点赞
2023-09-02
Piwigo - 开源的网络照片库软件安装教程
软件介绍Piwigo 是一个开源的网络照片库软件,,用于管理照片,专为组织、团队和个人设计。软件地址官方网站:https://cn.piwigo.org/ Github项目地址:https://github.com/Piwigo/Piwigo环境要求及安装方式Piwigo 需要网络托管才能运行。对于包含所有内容(安装,托管,备份)的照片库解决方案,或者如果您只是想在不安装的情况下尝试 Piwigo,则可以考虑在 Piwigo.com 上开设免费试用帐户。服务器要求推荐 web 服务器 Apache 或 nginxPHP 5.3 以上版本,推荐 PHP 7+MySQL 5 以上版本,或 MariaDB推荐安装 PHP ImageMagick 模块或 PHP GD 模块exiftool 对于插件写入元数据或任何其他处理 EXIF/IPTC 元数据的插件是必需的插件 VideoJS 需要 ffmpeg 来创建视频海报建议使用 pdftoppm 从 PDF 文件(而不是 ImageMagick)生成海报。网络安装下载 PHP 安装脚本:NetInstall script通过 FTP 客户端上传脚本到服务器安装目录通过浏览器运行脚本,比如 http://5iehome.cc/piwigo-netinstall.php , 根据提示进行安装。手动安装下载最新版本安装包:latest stable version通过 FTP 客户端上传脚本到服务器安装目录并解压通过浏览器运行脚本,比如 http://5iehome.cc/piwigo , 根据提示进行安装。填写 Web 提供商所提供的 MySQL 数据库连接信息,默认情况下,数据表前缀为 piwigo_,但你也可以自定义它(仅支持字母与数字)。 安装结束后,你会看到安装成功或失败的提示 安装成功后,首次访问界面如下 Docker 安装GitHub 库:https://github.com/xmanyou/piwigo-docker环境需求:需要安装 docker 和 docker-compose镜像内容:本镜像包括2个服务mysql 5linuxserver/piwigo (https://github.com/linuxserver/docker-piwigo)配置文件version: "3" services: piwigo: image: linuxserver/piwigo network_mode: bridge ports: - 8899:80 links: - db db: image: mysql:5 network_mode: bridge environment: MYSQL_USER: "piwigo" MYSQL_PASSWORD: "piwigo" MYSQL_DATABASE: "piwigo" MYSQL_RANDOM_ROOT_PASSWORD: "true"安装 Piwigo,镜像启动后,需要先执行 Piwigo 的安装,打开页面:http://localhost:8899数据库配置如下:数据库主机: db (注意,这里要填镜像里的 service 名,而不是localhost)数据库用户: piwigo (mysql db user)数据库密码: piwigo (mysql db password)数据库名: piwigo (mysql db name)管理员信息自行配置。访问和管理 Piwigo,打开页面:http://localhost:8899 ,用管理员账号登录,即可进行管理。参考资料Piwigo 官网安装指导用Docker安装Piwigo个人相册系统【END】
2023年09月02日
28 阅读
0 评论
0 点赞
2023-09-02
折腾指南:Python 开发环境管理
本文作者:Latexbeta 转载地址:https://sspai.com/post/82499前言本文旨在提供一个虚拟环境管理方式参考,所提供的虚拟环境管理方式经过作者测试,证实有效。网上这么多 Python 虚拟环境管理的文章或者教程,本文有何存在的必要:第一个原因是,网上提供的教程很多只提供了单一的虚拟环境管理工具,作者由于喜欢折腾,尝试过不同的工具,可以提供一些比较意见供参考。第二个原因是作者折腾过不同的系统,提供的经验适用于 Windows 10/11, Ubuntu 和 Windows Subsystem for Linux (WSL 2).本文不是很友好的新手教程,读者需要有一定的基础,文中使用的一些工具,如 Windows PowerShell 和 Bash,需要读者有一定的了解。本文按如下脉络进行,首先介绍为什么需要进行虚拟环境管理,然后介绍了作者使用过的几种虚拟环境管理实例,最后提供了一些延申参考。由于作者非计算机科班,文章内容只是自己的经验,所以不可避免带有作者的狭隘偏见。引言:为什么需要进行虚拟环境管理Python 开发环境管理分为两部分,一个是 Python 版本管理,一个是虚拟环境管理。很多时候受限于我们的项目依赖,在开发不同的项目时需要用到不同的 Python 版本,例如 TensorFlow 2.10 就只能支持 3.7-3.10 的 Python 版本,但是最新版的 TensorFlow 就支持最新的 Python 3.11. 作者由于同时使用 TensorFlow 和 PyTorch 两个深度学习框架,就在电脑上安装了三个 Python 版本。如果我们不使用虚拟环境管理的话,我们所有的包都会安装在系统全局 Python (Global Python, 也就是系统默认的 Python 版本) 的目录下,这会导致两个问题:第一个是由于在同一个目录下只能安装某一个包的一个版本,如果有两个项目对同一个依赖包有不同的版本需求,就会导致依赖冲突,给开发带来问题。第二个是,哪怕没有依赖冲突的问题,所有的依赖包安装在同一个目录下,会导致导出的依赖文件过于冗余,这在进行项目开源的时候是非常忌讳的(当然这个问题也存在简单的解决方法)。基于上述两个原因,Python 开发环境管理的最佳实践是为不同的项目建立不同的虚拟环境。为了满足项目依赖对于 Python 版本的要求,我们在建立虚拟环境的时候,就需要指定 Python 版本,具体指定 Python 版本的方法会在下面的不同实践中具体介绍。虚拟环境管理最佳实践(以 virtualenv 为例)利用 Python 自带的 venv 管理虚拟环境利用 Python 自带的 venv 管理虚拟环境有两个主要的问题:创建虚拟环境的时候无法指定 Python 的版本。使用 venv 的时候需要指定路径,比较麻烦。基于上述两个原因,我很快就弃用了 venv。由于作者使用的时间太短,关于 venv 的介绍和详细使用,可以参考少数派站内的两篇文章。关于 virtualenv,作者在查资料的时候发现二者同源,是 venv 的超集,所以对它也完全没有尝试。利用 Miniconda/Anaconda 同时管理 Python 版本和虚拟环境Miniconda 和 Anaconda 都打包了 Conda 这一包管理器,二者的区别在于,Miniconda 里面只包含了 Conda、Python 和一些必备的包,是最小的 Conda 安装环境;而 Anaconda 则提供了很多额外的数据科学或者机器学习的依赖包,例如安装完成之后就可以使用 Python 的IDE Spyder,导致其安装包非常臃肿。由于 Anaconda 中的很多工具包我们都用不上,所以建议直接 Miniconda,遇到需要的依赖的时候直接安装即可。由于 Windows 系统没有自带 Python 安装,所以如果直接安装 Miniconda / Anaconda,系统的默认 Python 版本就会是 Miniconda / Anaconda 的 Python 版本。Windows下载并安装 Miniconda / Anaconda,只需要按照安装提示完成安装即可,安装过程中需要注意的是添加到系统环境变量中的这一步,建议将其添加到系统环境变量(Anaconda 官方安装教程)。创建虚拟环境conda create -n venv_name python=3.11 # 创建虚拟环境并指定 Python 版本 conda activate venv_name # 激活虚拟环境 conda deactivate # 离开虚拟环境Ubuntu/WSL由于 Ubuntu/WSL 在 Terminal 里操作非常方便,流程和 Windows 中相同,只是以命令行的形式进行,故而提供完整的命令行参考。sudo apt update && sudo apt upgrade sudo apt install wget wget https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-Linux-x86_64.sh # 下载 Miniconda 安装文件 sh ./Miniconda3-py311_23.5.2-0-Linux-x86_64.sh # 安装 Miniconda,需要同意用户协议 conda create -n venv_name python=3.11 # 创建虚拟环境并指定 Python 版本 conda activate venv_name # 激活虚拟环境利用 Pyenv 管理 Python 版本,Pipenv 管理虚拟环境Windows通过 Windows PowerShell 安装 Pyenv,然后重启电脑Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1" pyenv --version # 查看 Pyenv 的版本利用 Pyenv 安装指定版本的 Python,设置默认版本 Python (Global Python)pyenv install -l # 查看可以安装的 Python 列表 pyenv install 3.9.13 pyenv install 3.11.1 pyenv versions # 查看电脑中已安装 Python 版本 pyenv global 3.11.1 # 设置默认版本 Python pyenv version # 查看默认版本 Python设置完 Global Python 后,需要将默认版本 Python 添加到系统环境变量中,否则在使用 Pipenv 时会报错:C:\Users\*****\AppData\Roaming\Python\Python311\Scripts # 如果不添加到环境变量,使用 Pipenv 时会报此错误 pipenv : 无法将“pipenv”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。安装 Pipenvpip install pipenvPipenv 创建虚拟环境cd project_dir # 切换到项目文件夹 pipenv install --python 'C:\Users\*****\.pyenv\pyenv-win\versions\3.9.13\python39.exe’ # 创建虚拟环境,此时可以指定 Python 版本 pipenv shell # 启动虚拟环境 pipenv install package # 安装需要的包 exit # 离开虚拟环境这里需要注意的是,虽然创建虚拟环境是在项目文件夹,但是不同项目的虚拟环境都在同一个目录下管理,不像 venv 会在项目文件夹下。常用命令pipenv install package # 安装 pipenv uninstall package # 卸载 pipenv graph # 查看按照包的依赖关系 pipenv --venv # 查看虚拟环境执行文件路径 pipenv --rm # 移除虚拟环境Ubuntu/WSL在 Ubuntu/WSL 中使用 Pyenv 和 Pipenv 的流程还是和 Windows 下相同,所以还是提供完整的命令行参考。首先安装 Pyenvgit clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc exec "$SHELL"利用 Pyenv 安装指定版本的 Python,设置默认版本 Python (Global Python)# Installing libraries that need for installing Python sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev # Installing Python pyenv install 3.9.13 pyenv install 3.11.1 pyenv versions # 查看电脑中已安装 Python 版本 pyenv global 3.11.1 # 设置默认版本 Python pyenv version # 查看默认版本 Python安装 Pipenvpip install pipenv # 使用 pip3 安装 pipenv export PATH="/home/user/.local/bin:$PATH" # 添加路径到 PATH echo "$" # show path one directory per line 利用 Pipenv 创建虚拟环境cd project_dir pipenv install --python 3.9 # 不用指定 Python 路径 pipenv shell # 启动虚拟环境 pipenv install package # 安装需要的包 exit # 离开虚拟环境到这里可以总结一下,利用 Miniconda/Anaconda 管理开发环境和利用 Pyenv 和 Pipenv 管理开发环境的一个小小的区别:利用 Miniconda/Anaconda 建立虚拟环境的时候,我们指定的 Python 是在此时安装或者确认的,也就是一步到位;利用 Pipenv 建立虚拟环境的时候,我们是需要在已经安装了指定 Python 版本的基础上指定本地 Python 版本,基于此版本的 Python 来建立的虚拟环境,也就是分两步走。延申:IDE中使用虚拟环境VS Code 中使用虚拟环境 Using Python Environments in Visual Studio CodePyCharm 中使用虚拟环境 Configure a virtual environment | PyCharm Documentation (jetbrains.com)在 Neovim 中使用虚拟环境是作者计划中的下一篇文章。【END】
2023年09月02日
3 阅读
0 评论
0 点赞
2023-08-27
2023年笔记类软件简评
本文作者:炳木 转载地址:https://sspai.com/post/82179前言2023年笔记类软件简评,All in One 是一场美丽的幻觉人为什么还是会抑制不住的对新工具抱有极大的热情和期待,效率和能力的问题真的会因为全新工具的引入而得到改善吗?我想这个问题的答案不是绝对的。使用了整整七年「印象笔记」之后,我也突然萌生了换个All in One的笔记软件的想法,于是我研究了一番主流的几款笔记软件。这里需要提一下,其实在2021年的时候「印象笔记」就推出Verse等全新应用,号称是要打造一款All in One的笔记软件系统,但最终反响似乎不是很好,很多人依然选择弃坑。一、几款笔记软件的简单测评:印象笔记笔记软件届的老大哥,很多人最初使用的都是这款经典笔记软件,近几年更新的功能越来越多。但会员系统也愈发复杂,页面各种角落弹广告,这也是被用户诟病和吐槽最多的地方,很多人也因此放弃了「印象笔记」转而使用其他的。但是如果不是重度笔记用户,只需要做日常的一些记录、剪藏、同步等,「印象笔记」其实还算可以,是能够满足基本需求的。语雀蚂蚁集团旗下的在线文档编辑与协同工具,主打的是「为每一个人提供优秀的文档和知识库工具」,有人说这款软件就像个妥妥的「正点理工男」,这话没毛病,整体的使用感觉是,该有的都有,左侧的大纲功能条理清晰,给人一种极致条理带来的安全感。最大的优点是拥有自己独立的类博客系统,不仅可以面向全网发布自己的笔记内容,还能够实现全平台搜索,我尝试搜索过一些问题,文章以及内容质量都很好,确实是个不错的平台,我也已经准备将这款笔记软件作为主要的个人知识管理平台了。Ulysess和Effie「Ulysess」是一款国外的笔记软件,极致优雅,页面简洁,主打完全无干扰的写作环境,订阅制。此外,与这款笔记软件极度相似的还有一款国内软件「Effie」,这两款软件的界面对比,不敢说一模一样吧,大家自行评判。「Ulysess」还没来得及的深度使用,但是直观感觉是要比「Effie」功能更丰富一点。但是「Effie」是买断制的,整体来看,其实「Effie」性价比更高一点。「Effie」这款笔记我也用了有段时间了,不能换字体对我个人而言是最大的痛点,一种字体用的时间久了,是真的想换换。值得一提的是「Effie」是可以导出长图的,有很多不同样式的模板,不得不说这个长图导出功能还是很好用。Notion很多人都在狂推的一款笔记软件(有人说Notion不能算是单纯的笔记软件,至少不能只把它当成一个笔记软件),但是由于是国外的,且入门有一定的门槛,这就拦下了一大部分非深度用户。看了很多博主对Notion的应用和解读,简直叹为观止,不心动是不可能的。但是Notion个人认为有两大问题,第一个就是对中文用户不是很友好,这样英语功底不是很好的人就会很焦虑,确实想用,但学习成本又太高了;第二个就是服务器不在国内,访问速度稍微慢一点点以及未来会不会突然被禁都未可知,这都是风险,如果个人重要资料都放在里面被禁,这损失未免太大。此外,还有一个点就是Notion不支持离线储存。这款笔记已经忍不住开始研究了,不再排斥英语真心接纳的时候,发现上手其实也不是很难,用不了多长时间,基本的功能和设置就都熟悉了,继续研究中。Wolai研究「Notion」不可避免的知道了国内版的类Notion软件,「Wolai」我来,起初以为会很小众,没想到瞬间就被强大的功能和体验征服了,这也让我知道了为什么那么多人都喜欢用Notion了。上半年被钉钉收购了,希望这款笔记越来越完善,越来越好,我个人还是特别愿意花时间仔细研究和体验这款软件的。Flomo这款软件算是真正做到了「极简」,快速记录只言片语是特别合适的,而且还可以添加标签,搜索功能很强大,基本满足了我碎片化知识积累的需求。「Flomo」主打的无广告、不社交、拒绝贩卖隐私,也是妥妥的收获了一大批忠实粉。二、All in One 的必要性思考:上周写了一篇关于「工具祛魅」的文章,尽管我的核心观点是,不要对工具太迷信,重点放在价值内容的输出上,但是我又抑制不住的对新工具产生了浓厚的兴趣,「人的理性和情感永远不会是一致的,只能力求最大限度的趋于一致。」1、为什么要寻找一个 All in One 的工具呢?于是,我继续思考,我们为什么要乐此不疲的寻找一个 All in One 的工具呢?据我这些天的使用和观察,我发现这个世界上不存在一个All in One的笔记类软件,如果非要找的话,Notion 或许可能算是一个。但Notion又存在一些限制和门槛。纠结了好几天之后,我放弃了寻找一个All in One的笔记系统。因为确实没有时间深入研究软件,我只想有效的提升工作和学习效率,这是我研究笔记类软件最大的目的。或许我并不是真正需要一把「屠龙刀」,我需要先想明白,我要成为屠夫,还是成为刀客,或者要成为一个厨师,这个问题想明白了,我自然就会知道,什么工具适合我,什么工具不适合我。我开始试图寻找很多例子来说服自己放弃这种不现实的想法,而是将重心放在知识的积累与真正有价值的内容的产生上。比如,PPT大神可以用PPT做视频,但是,正常情况下,我们真的需要去用PPT去做视频吗?换个角度继续想的话,手机、电脑或者这样那样的终端设备,已经在很大程度上实现了All in One ,我又何必在一个系统里再去重复构建重复制造轮子呢?2、该怎样选择自己的笔记工具?那么,在如此多的纷繁复杂的笔记工具面前,我究竟应该怎么选择呢?回归记笔记的初衷和本质,其实就是为了辅助思考,为了增长知识和智慧,为了让自己的成长更高效一点。这让我想起少数派一篇文章「回归笔记的本源」中的一句话:生产力不是生产的银弹。固然其可以在一定程度上提高效率,但质变的产生从来都不是因为生产力。牛爵爷用纸和笔推导出太阳的运行轨迹,两弹元勋们靠算盘造出原子弹,NASA科学家让 4KB 内存的计算机驱动航天飞机。真正的生产力一直都是人。——少数派作者Iapssherd至此,我认为,面对各种各样的工具,可以都用,也可以都不用,我需要的并不是某个具体的工具,因为每个工具和侧重点各不相同,我需要的本质上是一个完整的科学的可迭代的方法论,需要的是将知识与内容进行思考内化与输出。这个才是重点。引用我上篇文章「浅析个人知识管理中工具的祛魅与实用价值内容的澄清」的观点:在力求做到深入理解基础工具的内在使用逻辑之上,再进行基本的「资料收集」「建立联系」「深度思考」「产出价值内容」「编号归档」等,不管使用什么样的工具以及工具之间的搭配,只要能延续这样的基本的逻辑,便不再局限和禁锢在某个具体的工具上了。3、因此后续笔记软件使用过程中:「印象笔记」:当然不会删除,里面还有我七年积累下来的各种笔记和个人想法,这些东西还是需要实时回顾思考总结输出。「语雀」:能够满足我日常的写稿以及上班期间的工作相关的内容记录。「Flomo」:可以用于日常中零散的想法以及摘抄积累与汇总。「Cubox」:继续用来收藏文章,但是要实时回顾重点文章,以及文章中的重要观点。「Xmind」:则继续用来梳理思路和发散个人的一些想法。「Sorted」:用了一年多了,每日待办继续使用这款效果依旧良好。「Wolai」:也是舍不得放弃的,时间允许的话,还想用「Wolai」搭建一个个人网站来玩玩。「Notion」:会一直关注,会一直研究,希望有朝一日能够用「Notion」来创造出一些些不一样的东西出来。结语:至此,我也不再纠结具体使用哪款笔记软件了,All in One就是一场美丽的幻觉,当我不再为难自己,放弃这种大而全,追求完美大一统的想法之后,瞬间轻松了不少。最后,希望我们都能在自己的工作和学习中,找到真正适合自己的工具和方法。【END】
2023年08月27日
12 阅读
0 评论
0 点赞
2023-08-25
Cactus - 在链接里选取文字
本文作者:Ryan\_the\_hito 转载地址:https://sspai.com/post/82343前言在网上冲浪时,我们常常能看到一个页面里面有许多超链接(Hyperlink),这些链接虽然以文本的形式呈现在界面上,但可以使浏览者在单击后可跳转至另一个页面,它们往往有与其他文本不同的颜色,带有下划线。当鼠标放上去的时候,箭头形态的指针光标将变为手型,此时整个超链接都会被选中。图片来源:维基百科 Hyperlink少数派的读者对上述描述应该不算陌生。我们每天都在点击大量的链接,这些链接使写作者不再需要将链接完全嵌在文本中,而是以原文本的面貌呈现出来,让文本的连贯性和统一性得到极大提升。可是,如果阅读者想要从超链接的原文本中选出一部分词语和文段的话,就成为了一个问题。当光标放在一般文本上时会变成工字型,此时用户能够很轻松地选中文本然后复制,如此获取网页文本。但是当光标置于超链接之上时,手型光标无法选择文本,如果按住鼠标拖动,则会形成一个灰色的链接,说明此时鼠标选中的是作为整体的链接,而非链接中的原文本。当按住链接拖动时,通常情况下无法选中链接内的文本在我的日常使用体验中也是如此,我常常在搜索界面上的超链接内看到了想要使用的文本,并不想打开页面后再复制标题,而是直觉般地用鼠标去划选,却屡屡碰壁。因此,我在今年 7 月初写作了 Cactus 这一免费软件,希望能够为这一需求创造便利。大家可以从我的 GitHub 项目 中阅读其指南并下载。如何从链接里选取文本?那么,我们该如何从链接里选取文本呢?现在比较普遍的方法是安装浏览器扩展,例如比较经典的 Select Like A Boss,在各类浏览器中都有扩展。当我在写 Cactus 时,Select Like A Boss 还没有发布「2023 Jul 42」版本,那时几乎没有可用的工具。而当该版本在 7 月下旬发布后,一些功能得到修复,可在选中链接并水平移动时选取其中的文本,选中上下拖动则默认为拖动链接。但我发现它依然有一些局限。Chrome Web Store 中的 Select Like A Boss我在使用过程中遇到了这样一些问题。例如,它在 Safari 上时而可用,时而不可用;有时它选中了我想要的内容,有时选得不那么精准;有时还没选完,光标指针就变成了箭头形,松手后依然打开了链接;有时则是水平移动和上下移动识别发生错误,本想选中文本,结果又拖着链接动了。或许是因为发布时间太久远,这个插件似乎不能在所有类型的超链接上使用,例如,我发现,谷歌搜索界面上的结果就无法顺利选取。然而这其中最令人感到有需求的,还是在跨浏览器情景下的使用。我日常需要交替使用 Chrome 和 Safari,但在不同内核的浏览器上,这一插件的表现并不一致。因此在使用时,使用的连贯性和联通感少了许多。另外,除了插件之外,一些浏览器也支持使用快捷键选中链接中的文本。比如,在 Chrome 中,按住 Alt 键,或者 Option 键(在mac 上),虽然也能选择,但选完了还是会打开链接、弹出新页面。类似地,Safari 也不支持这样的方式。于是,我开始思考,有没有非浏览器插件的办法,能让用户在浏览页面时更加轻松地选择链接中的文本?探索浏览器中的右键既然光标能够一次性触发链接所占的全部文本,那么如果右键点击链接的话,不就是将这一部分全选了吗?我发现这一特性不仅在 Chrome 中适用,在其他内核的浏览器中也是相同的。只不过有些页面上右键一次会选择更多的文本,超出超链接所占的文本。例如,在 Google 搜索页面上,将光标置于链接上,右键复制,蓝色区域将覆盖链接和上方的网址。若是如此,我计划使这个软件将复制所得的文本呈现出来,让这些文本可以进一步地被用户自由地裁选。在 Google 搜索界面,右键选择链接将覆盖所选标题和上方的网址发现这一共性之后,我开始了头脑风暴:或许我们可以设计出一个连续动作,当它被触发时,先右击光标所在位置的链接,将选中部分复制到剪贴板,最后再显示在用户的光标旁,供用户选取其中一部分复制,或者复制全部。如此,便诞生了 Cactus。如何让这一切连起来?我使用了一组 Apple Script 来实现这个目标。如 UI 图示,Cactus 的显示窗口上有三个按钮,左数第一个是复制全部文本,第二个是复制部分文字,最后是关闭按钮。Cactus 可以复制一个链接中的全部文本,但更关键的是,用户可以自由地选取这个链接中间的部分文字。当看到一个超链接文本的中部有我们需要的文字,但苦于无法获取它的时候,用户可在文本框内选中这部分文字,然后点击「Copy selected」按钮即可。Cactus 的应用界面Cactus 还能在文本框中对这部分文字加以修改。有时,我们对刚刚获取到的文字需要进行快速简单的加工,例如增添一些语气词,或者将其填补完整、成为一句完整的话,这时,Cactus 就相当于一个实时的剪贴板编辑器,用户可以随心所欲地增删文字,然后点击「Copy all」按钮,刚刚修改过的文本就全部复制到剪贴板了。在触发 Cactus 的方式上,我区分了两种情况。第一种情况是,用户可以设定延迟时间,用户开始计时后,将光标移动到对应的链接上,等计时结束,Cactus 自动触发,右击鼠标位置的链接、复制,并在光标所在位置弹出窗口,显示链接中包含的文本。第二种情况则相反,用户可以将计时定为 0,先把光标移动到链接上,然后通过使用 Alfred 或者 BetterTouchTool 等工具来触发 Cactus。如果用户电脑已有 Alfred,即可安装此指令使用(Cactus Keyword to Script.alfredworkflow),通过 Alfred 间接设置全局快捷键。用户还可使用此通用的 Applescript 脚本(Show Cactus.applescript),在其支持 Apple Script 的启动器中设置惯用的触发方式。此外,用户还可以用 MTMR、BetterTouchTool 等客制化 Touch Bar 软件自定义 Touch Bar 按键,一键触发。以下是适用于 MTMR 的配置。用户将其复制粘贴在配置文件中,Touch Bar 上就形成一个静态按钮,用户用手按一下就能触发 Cactus 了。{ "type": "staticButton", "align": "right", "title": “Button", "bordered": true, "width": 44, "action": "appleScript", "actionAppleScript": { "filePath": “[YOUR PATH TO Show Cactus.applescript]", }, }红色方框内就是据上面代码编译得出的按钮,按一下即可触发最后Cactus 的图标是一颗手型的仙人掌,手型呼应光标的形状,选择仙人掌则是因为仙人掌小巧可爱,却浑身是刺,叫人可欲不可及。Cactus 的图标设计Cactus 的原理真的是非常简单,简单到可谓是“笨办法”,没有难以理解的代码,也没有上手难度。如果正在阅读的你有兴趣的话,欢迎访问我的 GitHub 项目 地址,阅读更详细的指南。若 Cactus 帮助了你的日常工作的话,希望您不吝赐一颗星星。如果你想看到更多记录与想法,也欢迎订阅我的微信公众号「夜行人的笔记」。Github 项目介绍Cactus 是一个 macOS 上的小软件,用来获取链接中的文字。 项目地址:https://github.com/Ryan-the-hito/Cactus解决问题复制链接里面的文字实在是太麻烦了,很多方法已经失效:使用一些浏览器扩展,但是有些都失效了,少数几个还能用……更别提许多浏览器扩展只对应特定框架的浏览器;按住 Alt 键,或者 Option 键(mac 上),虽然能选择,但选完了还是会打开链接、弹出新页面,而且 Safari 不支持此操作。 所以我想,既然超链接的文本都有右键全选的功能,那么可不可以做一款跨越浏览器的、简单轻量的文本选取器?于是 Cactus 就诞生了。功能亮点选取链接中的部分文本:Cactus 当然可以复制一个链接中的全部文本,但更关键的是,它可以获取这个链接中间的某些文字。当我们看到一个超链接文本的中部有我们需要的文字,但苦于无法获取它的时候——例如在搜索引擎的结果界面上——Cactus 就能快速地满足需求:用户可用光标在弹出的文本框内选中一部分文字,然后点击“Copy selected”按钮即可。对部分文本进行实时修改:既然 Cactus 能够复制全部文本,那么在文本框中对这部分文字加以修改如何呢?Cactus 也能胜任。有些时候,我们对我们刚刚获取到的文字需要进行快速简单的加工,例如增添一些语气词,或者将其填补完整、成为一句完整的话,这时,Cactus 就相当于是一个实时的剪贴板编辑器,用户可以随心所欲地编辑出想要的文字,然后点击“Copy all”按钮,那么刚刚修改过的文本就全部复制到剪贴板了。界面一览DEMOhttps://github.com/Ryan-the-hito/Cactus/assets/95213517/a26ae65e-90ec-41d5-b352-e2bcf1d38156环境要求MacOS 11 及以上(测试环境为 MacOS 12.6.5)M1、M2 芯片下载安装从 Release 里面下载压缩包,之后将解压好的 app 文件拖入程序文件夹中。Cactus 将需要辅助权限以完整运行:在弹出上述权限需求后,用户可打开设置界面,在辅助权限一项中选择 Cactus。上述设置之后,用户可以点击 Cactus 在任务栏中的图标,点击“Settings”,设置延迟时间。延迟时间表示的是从用户点击“? Get text from links!”之后,直到将光标停留在待选链接上的时间。由于用户需要将光标从任务栏移动到浏览器内的指定位置,这还需要一段距离,因此设置了此延迟时间。该值默认为 0,单位为秒,可以根据需要设置,只可为整数。使用说明方法一:手动点击触发用户先点击 Cactus 在任务栏中的图标,在下拉选单中点击“? Get text from links!”,然后在延迟时间之内将光标移动到链接上,此时光标将从箭头形状变为手套形状,这表示已在链接可选区域之上。在延迟时间达至之后,Cactus 将运行程序,弹出窗口,显示该链接内的文本,用户可以选择部分,或是修改后选择全部。方法二:启动器快捷键触发用户可以使用 Alfred 或者 BetterTouchTool 等脚本工具来使上述过程自动化。上述可被归纳为两个动作,一是触发命令,二是移动鼠标。触发命令可由脚本自动完成,用户只需将鼠标先移动到链接之上,然后再触发脚本,即可更快速地获取链接文本。Release 中自带“Cactus Keyword to Script.alfredworkflow”和“Show Cactus.applescript”两个文件,其中前者是 Alfred 的指令文件,若用户电脑已有 Alfred 软件,即可安装此指令使用(可在 Alfred 内设置全局快捷键);后者是通用的 Applescript 脚本,用户需要在其习惯的启动器中设置此脚本的触发模式。方法三:第三方 Touch Bar在使用 MTMR、BetterTouchTool 等客制化 Touch Bar 软件时,用户可以自定义 Touch Bar 按键,以一键触发。以下是适用于 MTMR 的配置。{ "type": "staticButton", "align": "right", "title": “Button", "bordered": true, "width": 44, "action": "appleScript", "actionAppleScript": { "filePath": “[YOUR PATH TO Show Cactus.applescript]", }, }注意事项Cactus 只能在多个浏览器和网页页面中使用,可能并不适用于其他软件,如聊天软件等;如果不是超链接形态的文字,那么使用 Cactus 并不会十分见效,比如一些限制复制的文本,使用 Cactus 也无法见效;最好配合 Alfred、BetterTouchTool 等启动器软件一并使用,通过快捷键或者 Applescript 脚本触发软件执行。除此之外,还可以使用 Touch Bar 来触发,可在 MTMR、BetterTouchTool 中设置。如果没有上述软件工具,可在设置的第一项中设置等待时间,以确定在触发后多久读取鼠标位置的文本信息。如果遇见右键菜单弹出速度慢,以至于无法快速获取剪贴板内容,请适当调整设置中的参数,以达至较好的效果;更新后需要重新在设置中为软件授予辅助权限。【END】
2023年08月25日
13 阅读
0 评论
0 点赞
1
...
4
5
6
...
12