跳转至

如何离线知识到本地#

看到标题,读者或许会有疑问:在互联网络如此发达、便捷的今天,还有必要「将知识离线到本地」吗?

为什么要将知识/数据离线到本地#

  1. 有时候的确没有一个良好的网络环境
  2. 虽然访问网络的财务成本大大降低了,但还是存在的
  3. 访问网络有时会引发泄漏个人隐私、中病毒等安全问题

如何离线知识到本地#

下面我们针对不同类型的「知识」,介绍一些「离线」方法:

文档/知识库/代码#

借助一些工具,

  1. Kiwix

  2. Zeal

  3. GitHub/GitLab(纯代码的话,直接使用 VS Code 等代码阅读器即可)

网站/博客#

  1. wget --mirror
  2. GitHub/GitLab(有些网站,需要克隆仓库到本地后,辅以 Python/Jekyll/Hugo/Nginx 等工具进行本地站点搭建)

示例#

  1. 茄子, 这个网站有大量网络相关的实战帖,内容相当优质,于是克隆到本地,方便离线学习查阅。

    cd ~/web/html
    
    gh clone plantegg/plantegg.github.io
    
  2. 新增 Nginx 配置文件 plantegg.conf/usr/local/etc/nginx/servers/

    server {
        listen 80;
        server_name blog.plantegg;
    
        location / {
            root   /Users/m/web/html/plantegg.github.io;
            index  index.html index.htm;
        }
    }
    
  3. /etc/hosts 文件中添加解析:127.0.0.1 blog.plantegg

  4. 打开浏览器,输入 http://blog.plantegg 即可访问

注:

  1. 本例中,项目根路径下的 index.html 文件中有三处引用了外部 js,搜索文件中的相关位置,将其注释即可,原 js 文件是统计访问次数并上传到统计网站,因此本地离线访问时可以忽略。
  2. 将目录下的所有文件中的 https://plantegg.github.io 替换为 http://blog.plantegg 以方便本地跳转

音、视频#

  1. YouTube Downloader

    yt-dlp --proxy socks5h://127.0.0.1:1080 -c "https://youtu.be/VIDEO_URL"
    

    仅下载字幕

    yt-dlp --proxy socks5h://127.0.0.1:1080 -c --all-subs --skip-download 'https://www.ted.com/talks/amjad_masad_how_ai_can_help_you_turn_an_idea_into_the_next_great_app?language=en'
    

    仅下载音频

    yt-dlp --proxy socks5h://127.0.0.1:1080 -c -x --audio-quality 0 'https://youtu.be/VIDEO_URL'
    

    Use --help to get more details.

    yt-dlp --help
    
  2. NewPipe

  3. 浏览器插件

  4. 各个平台客户端自带的缓存功能