├── .gitignore ├── .python-version ├── README.md ├── docs ├── 0-前言介绍 │ ├── 0-1.md │ └── 0-2.md ├── 1-基础知识 │ ├── 1-1.md │ ├── 1-2.md │ ├── 1-3.md │ └── 1-4.md ├── 10-常见QA │ ├── 10-1.md │ └── 10-2.md ├── 2-U盘制作 │ ├── 2-1.md │ ├── 2-2.md │ └── 2-3.md ├── 3-准备工作 │ ├── 3-1.md │ ├── 3-2.md │ ├── 3-3.md │ ├── 3-4.md │ ├── 3-5.md │ ├── 3-6.md │ ├── 3-7.md │ └── 3-8.md ├── 4-OC配置 │ ├── 4-1.md │ ├── 4-2.md │ ├── 4-3.md │ ├── 4-4.md │ ├── 4-5.md │ ├── 4-6.md │ ├── 4-7.md │ └── 4-8.md ├── 5-实战演示 │ ├── 5-1.md │ ├── 5-2.md │ ├── 5-3.md │ ├── 5-4.md │ ├── 5-5.md │ ├── 5-6.md │ └── 5-7.md ├── 6-实用姿势 │ ├── 6-1.md │ ├── 6-10.md │ ├── 6-11.md │ ├── 6-12.md │ ├── 6-13.md │ ├── 6-2.md │ ├── 6-3.md │ ├── 6-4.md │ ├── 6-5.md │ ├── 6-6.md │ ├── 6-7.md │ ├── 6-8.md │ └── 6-9.md ├── 7-完美黑果 │ ├── 7-1.md │ └── 7-2.md ├── 8-OC排错 │ ├── 8-1.md │ └── 8-2.md ├── 9-成果分享 │ ├── 9-1.md │ └── 9-2.md └── index.md ├── mkdocs.yml ├── overrides ├── 404.html ├── assets │ ├── images │ │ └── favicon.png │ ├── javascripts │ │ ├── bundle.d691e9de.min.js │ │ ├── bundle.d691e9de.min.js.map │ │ ├── lunr │ │ │ ├── min │ │ │ │ ├── lunr.ar.min.js │ │ │ │ ├── lunr.da.min.js │ │ │ │ ├── lunr.de.min.js │ │ │ │ ├── lunr.du.min.js │ │ │ │ ├── lunr.es.min.js │ │ │ │ ├── lunr.fi.min.js │ │ │ │ ├── lunr.fr.min.js │ │ │ │ ├── lunr.hi.min.js │ │ │ │ ├── lunr.hu.min.js │ │ │ │ ├── lunr.it.min.js │ │ │ │ ├── lunr.ja.min.js │ │ │ │ ├── lunr.jp.min.js │ │ │ │ ├── lunr.multi.min.js │ │ │ │ ├── lunr.nl.min.js │ │ │ │ ├── lunr.no.min.js │ │ │ │ ├── lunr.pt.min.js │ │ │ │ ├── lunr.ro.min.js │ │ │ │ ├── lunr.ru.min.js │ │ │ │ ├── lunr.stemmer.support.min.js │ │ │ │ ├── lunr.sv.min.js │ │ │ │ ├── lunr.th.min.js │ │ │ │ ├── lunr.tr.min.js │ │ │ │ ├── lunr.vi.min.js │ │ │ │ └── lunr.zh.min.js │ │ │ ├── tinyseg.js │ │ │ └── wordcut.js │ │ └── workers │ │ │ ├── search.ecf98df9.min.js │ │ │ └── search.ecf98df9.min.js.map │ └── stylesheets │ │ ├── main.2e8b5541.min.css │ │ ├── main.2e8b5541.min.css.map │ │ ├── palette.cbb835fc.min.css │ │ └── palette.cbb835fc.min.css.map ├── base.html ├── main.html ├── mkdocs_theme.yml ├── overrides │ ├── assets │ │ ├── javascripts │ │ │ ├── bundle.a3d871f9.min.js │ │ │ ├── bundle.a3d871f9.min.js.map │ │ │ └── iconsearch_index.json │ │ └── stylesheets │ │ │ ├── main.8a4f01ed.min.css │ │ │ └── main.8a4f01ed.min.css.map │ ├── blog.html │ ├── home.html │ ├── main.html │ └── partials │ │ ├── actions.html │ │ └── content.html ├── partials │ ├── actions.html │ ├── comments.html │ ├── consent.html │ ├── content.html │ ├── copyright.html │ ├── feedback.html │ ├── footer.html │ ├── header.html │ ├── icons.html │ ├── integrations │ │ ├── analytics.html │ │ └── analytics │ │ │ └── google.html │ ├── javascripts │ │ ├── announce.html │ │ ├── base.html │ │ ├── consent.html │ │ ├── content.html │ │ ├── outdated.html │ │ └── palette.html │ ├── language.html │ ├── languages │ │ ├── af.html │ │ ├── ar.html │ │ ├── bg.html │ │ ├── bn.html │ │ ├── ca.html │ │ ├── cs.html │ │ ├── da.html │ │ ├── de.html │ │ ├── el.html │ │ ├── en.html │ │ ├── eo.html │ │ ├── es.html │ │ ├── et.html │ │ ├── fa.html │ │ ├── fi.html │ │ ├── fr.html │ │ ├── gl.html │ │ ├── he.html │ │ ├── hi.html │ │ ├── hr.html │ │ ├── hu.html │ │ ├── hy.html │ │ ├── id.html │ │ ├── is.html │ │ ├── it.html │ │ ├── ja.html │ │ ├── ka.html │ │ ├── kr.html │ │ ├── lt.html │ │ ├── lv.html │ │ ├── mk.html │ │ ├── mn.html │ │ ├── ms.html │ │ ├── my.html │ │ ├── nl.html │ │ ├── nn.html │ │ ├── no.html │ │ ├── pl.html │ │ ├── pt-BR.html │ │ ├── pt.html │ │ ├── ro.html │ │ ├── ru.html │ │ ├── sh.html │ │ ├── si.html │ │ ├── sk.html │ │ ├── sl.html │ │ ├── sr.html │ │ ├── sv.html │ │ ├── th.html │ │ ├── tl.html │ │ ├── tr.html │ │ ├── uk.html │ │ ├── ur.html │ │ ├── uz.html │ │ ├── vi.html │ │ ├── zh-Hant.html │ │ ├── zh-TW.html │ │ └── zh.html │ ├── logo.html │ ├── nav-item.html │ ├── nav.html │ ├── palette.html │ ├── search.html │ ├── social.html │ ├── source-file.html │ ├── source.html │ ├── tabs-item.html │ ├── tabs.html │ ├── tags.html │ ├── toc-item.html │ └── toc.html └── plugins │ ├── __init__.py │ ├── search │ ├── __init__.py │ └── plugin.py │ ├── social │ ├── __init__.py │ └── plugin.py │ └── tags │ ├── __init__.py │ └── plugin.py └── site ├── 0-前言介绍 ├── 0-1 │ └── index.html └── 0-2 │ └── index.html ├── 1-基础知识 ├── 1-1 │ └── index.html ├── 1-2 │ └── index.html ├── 1-3 │ └── index.html └── 1-4 │ └── index.html ├── 10-常见QA ├── 10-1 │ └── index.html └── 10-2 │ └── index.html ├── 2-U盘制作 ├── 2-1 │ └── index.html ├── 2-2 │ └── index.html └── 2-3 │ └── index.html ├── 3-准备工作 ├── 3-1 │ └── index.html ├── 3-2 │ └── index.html ├── 3-3 │ └── index.html ├── 3-4 │ └── index.html ├── 3-5 │ └── index.html ├── 3-6 │ └── index.html ├── 3-7 │ └── index.html └── 3-8 │ └── index.html ├── 4-OC配置 ├── 4-1 │ └── index.html ├── 4-2 │ └── index.html ├── 4-3 │ └── index.html ├── 4-4 │ └── index.html ├── 4-5 │ └── index.html ├── 4-6 │ └── index.html ├── 4-7 │ └── index.html └── 4-8 │ └── index.html ├── 404.html ├── 5-实战演示 ├── 5-1 │ └── index.html ├── 5-2 │ └── index.html ├── 5-3 │ └── index.html ├── 5-4 │ └── index.html ├── 5-5 │ └── index.html ├── 5-6 │ └── index.html └── 5-7 │ └── index.html ├── 6-实用姿势 ├── 6-1 │ └── index.html ├── 6-10 │ └── index.html ├── 6-11 │ └── index.html ├── 6-12 │ └── index.html ├── 6-13 │ └── index.html ├── 6-2 │ └── index.html ├── 6-3 │ └── index.html ├── 6-4 │ └── index.html ├── 6-5 │ └── index.html ├── 6-6 │ └── index.html ├── 6-7 │ └── index.html ├── 6-8 │ └── index.html └── 6-9 │ └── index.html ├── 7-完美黑果 ├── 7-1 │ └── index.html └── 7-2 │ └── index.html ├── 8-OC排错 ├── 8-1 │ └── index.html └── 8-2 │ └── index.html ├── 9-成果分享 ├── 9-1 │ └── index.html └── 9-2 │ └── index.html ├── assets ├── images │ └── favicon.png ├── javascripts │ ├── bundle.d691e9de.min.js │ ├── bundle.d691e9de.min.js.map │ ├── lunr │ │ ├── min │ │ │ ├── lunr.ar.min.js │ │ │ ├── lunr.da.min.js │ │ │ ├── lunr.de.min.js │ │ │ ├── lunr.du.min.js │ │ │ ├── lunr.es.min.js │ │ │ ├── lunr.fi.min.js │ │ │ ├── lunr.fr.min.js │ │ │ ├── lunr.hi.min.js │ │ │ ├── lunr.hu.min.js │ │ │ ├── lunr.it.min.js │ │ │ ├── lunr.ja.min.js │ │ │ ├── lunr.jp.min.js │ │ │ ├── lunr.multi.min.js │ │ │ ├── lunr.nl.min.js │ │ │ ├── lunr.no.min.js │ │ │ ├── lunr.pt.min.js │ │ │ ├── lunr.ro.min.js │ │ │ ├── lunr.ru.min.js │ │ │ ├── lunr.stemmer.support.min.js │ │ │ ├── lunr.sv.min.js │ │ │ ├── lunr.th.min.js │ │ │ ├── lunr.tr.min.js │ │ │ ├── lunr.vi.min.js │ │ │ └── lunr.zh.min.js │ │ ├── tinyseg.js │ │ └── wordcut.js │ └── workers │ │ ├── search.ecf98df9.min.js │ │ └── search.ecf98df9.min.js.map └── stylesheets │ ├── main.2e8b5541.min.css │ ├── main.2e8b5541.min.css.map │ ├── palette.cbb835fc.min.css │ └── palette.cbb835fc.min.css.map ├── index.html ├── overrides └── assets │ ├── javascripts │ ├── bundle.a3d871f9.min.js │ ├── bundle.a3d871f9.min.js.map │ └── iconsearch_index.json │ └── stylesheets │ ├── main.8a4f01ed.min.css │ └── main.8a4f01ed.min.css.map ├── search └── search_index.json ├── sitemap.xml └── sitemap.xml.gz /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | */.DS_Store 3 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | pypy3.8-7.3.11 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hackintosh 2 | 国光的黑苹果安装教程:手把手教你配置 OpenCore 3 | 4 | ![Snipaste_2022-09-24_07-12-20](https://user-images.githubusercontent.com/25379234/192068277-1c938cb2-0e9d-4b53-8d82-6e3e007b69d5.png) 5 | -------------------------------------------------------------------------------- /docs/0-前言介绍/0-1.md: -------------------------------------------------------------------------------- 1 | ## 背景 2 | 3 | 写这篇文章的时间是 2021 年 09 月 15 日,今天的苹果发布会暂时还没有下一代 Mac 的消息,黑苹果注定要成为历史了,但是遗憾是直到黑苹果要凉了,国内还没有一套适合小白学习的教程,所以国光就抽时间写了这个系列的黑苹果从 0 开始的教程,帮助别人的同时,也可以证明黑苹果这块自己来过。 4 | 5 | 实际上 [OpenCore 官方文档](https://dortania.github.io/OpenCore-Install-Guide/)写的已经很不错了,本教程的大部分内容也会搬运自 OpenCore 官方文档。本教程的原版文件也已经开源了,项目地址为:[https://github.com/sqlsec/Hackintosh](https://github.com/sqlsec/Hackintosh) 6 | 7 | ## 视频 8 | 9 | 本系列教程也在 B 站开了系列,感兴趣的网友可以自行去观看: 10 | 11 | ![](https://image.3001.net/images/20220202/16438093107511.png) 12 | 13 | 视频教程链接传送门:[https://www.bilibili.com/video/BV1yq4y1o7cT](https://www.bilibili.com/video/BV1yq4y1o7cT) 14 | 15 | -------------------------------------------------------------------------------- /docs/0-前言介绍/0-2.md: -------------------------------------------------------------------------------- 1 | 写教程也不是鼓励大家都去使用盗版的 macOS 系统,当然国光我也强烈建议大家去支持苹果的正版系统,入手白苹果体验来体验看看。 2 | 3 | 凡事存在即合理,黑苹果的英文 Hackintosh,里面出现了 Hack,说到 Hack 就不得不提 Hacker 的几个基本的精神:热爱、叛逆、共享、开源、免费...... 所以黑苹果本身也继承了这些特点,试想一下,如果著名的黑苹果 kexts 驱动:Liu、WhateverGreen、AppleALC 不开源的话,黑苹果技术还会和我们普通人有关系吗?我们本质上就是一些 kexts 的搬运工,本身并没有创造什么,只是一些基本的排列组合。这也是国光我也坚持开源 EFI 的原因,毕竟喝水不忘挖井人。 4 | 5 | 好了,说了一堆乱七八糟的了,下面黑苹果教程正式开始。 6 | 7 | ## QQ 8 | 9 | 建群的初衷不是请一帮伸手党大哥的,还是希望可以营造一个黑苹果技术讨论的地方,提问前自己先谷歌或者百度一下,别人也没有义务去帮你,虚心请教还是大家或多或少都会帮助的。 10 | 11 | - **黑苹果核心技术交流群:833899953** (需要门槛) 12 | 13 | 进群的条件满足其一即可: 14 | 15 | 1. 有黑苹果基础,可以独立配置 EFI 并且成功安装系统 16 | 2. 喜欢研究黑苹果技术,热爱学习与分享自己的见解和发现 17 | 3. 使用谷歌去解决过一些国内无解的黑苹果相关的问题 18 | 4. 贡献一些自己测试的黑苹果资料数据(比如某款主板的核显接口数据啥的) 19 | -------------------------------------------------------------------------------- /docs/1-基础知识/1-1.md: -------------------------------------------------------------------------------- 1 | 基础知识就是默认大家都懂的,如果不懂得话建议补一下基础再看此教程。 2 | 3 | ## 时间、稳定、版权 4 | 5 | 如果有项目要截止的话,请不要开始看这篇教程,因为刚开始黑苹果的过程基本上不会一帆风顺的,随便走一点弯路都是极其耗费时间的事情,另外注意休息,黑苹果的过程不差你熬夜的那几个小时。 6 | 7 | 如果你对系统要求追求稳定的话,也尽量不要使用黑苹果,虽然黑苹果完美度已经无限接近白苹果了,但是毕竟还是有个“黑”字,安装的时候要注意重要资料备份。 8 | 9 | 如果你的公司是正版化普及的公司(一般是 BAT 等大型公司),也不要使用黑苹果接入公司的网络,这样可能会收到苹果的律师函(树大招风),严格来说黑苹果属于 Hack 行为,侵犯了苹果公司的版权。 10 | 11 | 12 | 13 | ## 准备工作 14 | 15 | 一个满足黑苹果[硬件限制](../1-2/)的电脑和一个至少 16GB 的 U 盘,虽然目前来看 16GB 完全足够了,但是这几年苹果的镜像体积越拉越大,国光曾经在刻录一个 3 分区的镜像的时候,居然提示了 U 盘空间不足的情况。 16 | 17 | 另外,U 盘速度越快越好,可以极大的缩短黑苹果安装 U 盘的制作和系统安装的时间。 18 | 19 | ## 基本操作 20 | 21 | 首先安装黑苹果前得保证自己可以熟练安装 Windows 或者 Linux 系统(加分项),因为黑苹果安装需要磁盘满足一定要求,所以重新删除分区安装系统是常有的事情,如果你不会安装 Windows 不会熟练使用 PE 系统的话,建议去学习这些基本技能后再来学习黑苹果安装。 22 | 23 | -------------------------------------------------------------------------------- /docs/1-基础知识/1-3.md: -------------------------------------------------------------------------------- 1 | 上文中大家差不多清楚了硬件的驱动情况,本篇中就分享一下如果判断确定自己的硬件型号的方法和技巧。 2 | 3 | ## 使用 Windows 查看硬件 4 | 5 | ### CPU 型号 6 | 7 | 可以使用 Windows 自带的设备管理器或者自带的任务管理等,或者使用第三方的软件:CPU-Z、AIDA64、鲁大师等 8 | 9 | ### GPU 型号 10 | 11 | 可以使用 Windows 自带的设备管理器或者自带的任务管理等,或者使用第三方的软件:GPU-Z、AIDA64、鲁大师等 12 | 13 | ### 芯片组型号 14 | 15 | 设备管理器: 16 | 17 | ![](https://image.3001.net/images/20210916/16317473388157.png) 18 | 19 | 或者使用 AIDA64 这类第三方软件: 20 | 21 | ![](https://image.3001.net/images/20210916/16317470304733.png) 22 | 23 | ### 声卡型号 24 | 25 | 建议使用 AIDA64、鲁大师等第三方软件: 26 | 27 | ![](https://image.3001.net/images/20210916/16317473047255.png) 28 | 29 | ### 网卡型号 30 | 31 | 设备管理器或者 AIDA64,还是建议使用第三方的软件查看: 32 | 33 | ![](https://image.3001.net/images/20210916/16317472872822.png) 34 | 35 | ### 硬盘型号 36 | 37 | 硬盘的话通过软件一般看不到详细的信息,只能自己配合谷歌去确认 一下: 38 | 39 | ![](https://image.3001.net/images/20210916/16317472676295.png) 40 | 41 | ### 键盘、触控板、触控屏连接类型 42 | 43 | 遗憾的是,AIDA64 没有提供有这类设备的任何有用信息,因此我们建议为此使用设备管理器。 44 | 45 | - 您可以在以下位置找到这些设备: 46 | - `Human Interface Devices` 人体学接口设备(HID) 47 | - `Keyboards` 键盘 48 | - `Mice and other Pointer Devices` 鼠标和其他指针设备 49 | - 要查看设备的确切连接类型,请选择指针设备,然后输入`View -> Device by Connection`。这样比较直观地展示它是否通过 PS2、I2C、SMBus、USB 等连接情况 50 | 51 | ![](https://image.3001.net/images/20210916/16317475714983.png) 52 | 53 | 根据设备的不同,它可能会显示在多个名称和连接下。主要关注以下几点: 54 | 55 | #### SMBus 56 | 57 | 一般这种触控板的驱动支持比较友好,手势也很完美,在设备管理器中将显示为一条直线PCI设备,如`Synaptics SMBus Driver`或`ELAN SMBus Driver` 58 | 59 | ![](https://image.3001.net/images/20210916/16317476815770.png) 60 | 61 | #### USB 62 | 63 | 这些将显示为一个`PS2 Compliant Trackpad`,以及在USB当我们切换我们的连接视图`Device by Connection` 64 | 65 | ![](https://image.3001.net/images/20210916/16317477867708.png) 66 | 67 | #### I2C 68 | 69 | 这些几乎总是显示为 Microsoft HID 设备,但也可以显示为其他触控板。不过,它们将始终显示在 I2C 下。 70 | 71 | ![](https://image.3001.net/images/20210916/16317478271178.png) 72 | 73 | ## 使用 Linux 查看硬件 74 | 75 | 为了使用 Linux 查找硬件,我们将使用如下命令: 76 | 77 | - `pciutils` 78 | - `dmidecode` 79 | 80 | 大多数 Linux 发行版都已经安装了这些工具。如果没有,您可能会在发行版的包管理器中找到它们。 81 | 82 | ```bash 83 | # CPU型号 84 | grep -i "model name" /proc/cpuinfo 85 | 86 | # 显卡型号 87 | lspci | grep -i --color "vga\|3d\|2d" 88 | 89 | # 芯片组型号 90 | dmidecode -t baseboard 91 | 92 | # 声卡型号 93 | aplay -l 94 | 95 | # 网卡型号 96 | lspci | grep -i network 97 | lshw -class networ 98 | 99 | # 硬盘型号 100 | lshw -class disk -class storage 101 | 102 | # 键盘、触控板、触控屏连接类型 103 | dmesg | grep -i input 104 | ``` -------------------------------------------------------------------------------- /docs/1-基础知识/1-4.md: -------------------------------------------------------------------------------- 1 | ## 基础名词 2 | 3 | | 名词 | 描述 | 4 | | ---------------- | ------------------------------------------------------------ | 5 | | **Hackintosh** | 将 macOS 安装到非苹果官方 PC 的过程,请注意**Hackintosh 不是操作系统** | 6 | | **Bootloader** | 加载操作系统的软件,通常由操作系统创建者制作 | 7 | | **Boot Manager** | 管理引导加载程序的软件比如:Clover、OpenCore 等 | 8 | | **Clover** | 被 OpenCore 逐步替代的一个引导方式 | 9 | | **OpenCore** | 由[Acidanthera 团队](https://github.com/acidanthera)在打造的 Hackintosh 新的更完美的引导方式 | 10 | | **ACPI** | 高级配置和电源接口 ,可以让系统更好的识别硬件信息 | 11 | | **DSDT/SSDT** | ACPI 中的表格,描述设备以及操作系统应如何与它们交互 | 12 | | **.AML** | ACPI 的编译文件格式 | 13 | | **.DSL** | ACPI 的源代码文件 | 14 | | **Kexts** | 全程叫 **K**ernel **Ext**ensions 内核扩展,我们国内可以通俗的翻译为驱动 | 15 | | **BIOS** | 基本输出输入系统,可以通俗的理解为主板的操作系统 | 16 | | **UEFI** | 统一可扩展固件接口,可以让 PC 从预启动的操作环境,加载到操作系统上 | 17 | | **UEFI 驱动** | 与任何其他操作系统一样,UEFI 具有驱动程序,它们由 Clover 或 OpenCore 加载 | 18 | | **NVRAM** | 非易失性随机访问存储器,主板自带的,UEFI 启动的时候会先加载 NVRM | 19 | 20 | ## ACPI 相关 21 | 22 | | 名词 | 描述 | 23 | | ------------- | ------------------------------------------------------------ | 24 | | **EC** | 嵌入式控制器。在主板和嵌入式外围设备(如热键、端口或电池)之间进行通信 | 25 | | **PLUG** | 允许连接 XCPM、Apple XNU 电源管理,以实现更好的整体 CPU 控制 | 26 | | **AWAC** | ACPI Wake Alarm Counter Clock,板的内部时钟,Hackintosh 必须对其进行修补 | 27 | | **PMC** | 电源管理控制器,部分主板需要 SSDT-PMC 来进行修补 | 28 | | **PNLF** | 内部背光显示,macOS 使用此 PNLF 设备发送和接收信息以进行亮度控制 | 29 | | **XOSI/_OSI** | `_OSI` 用于确定正在启动的操作系统,重命名为 XOSI 允许我们欺骗硬件 | 30 | | **HPET** | 高精度事件定时器,macOS 对设备的设置方式非常挑剔,因此我们有时需要修补 HPET | 31 | | **RHUB** | 根 USB 集线器,其中定义了 USB 端口。 | 32 | | **IMEI** | 英特尔管理引擎接口,处理杂项任务。macOS 依靠 IMEI 来实现 Intel GPU 加速 | 33 | | **UNC** | Uncore Bridge,类似于北桥,它处理许多与缓存相关的功能 | 34 | | **SMBS** | 系统管理总线,用于允许设备之间轻松通信。 | 35 | 36 | ## UEFI 引导磁盘结构划分 37 | 38 | ### UEFI 相关的概念 39 | 40 | UEFI 是 Unified Extensible Firmware Interface(统一可扩展固件接口),可以让 PC 从预启动的操作环境,加载到操作系统上。大家可以理解为 UEFI 是一种系统引导方式,基本上 2010 年后的电脑都是支持 UEFI 引导方式的。 41 | 42 | UEFI 引导常配合 GPT 分区表来使用,在 DiskGenius 中,选中磁盘,右键选【转换分区表类型为 GUID 格式】即可将磁盘转换为 GPT 分区表。 43 | 44 | ![](https://image.3001.net/images/20210916/16317486851257.png) 45 | 46 | EFI 分区是 UEFI 引导必备的一个分区,在磁盘当中的名称一般叫做 ESP 分区,它大多位于磁盘的第 1 个分区,格式可以是 FAT16 也可以是 FAT32 格式,主要用来保存引导文件。安装黑苹果的话,要注意 ESP 的分区得大于 200MB,国光我建议设置为 300MB 基本上足够使用了。 47 | 48 | ### 单个硬盘安装单独的 macOS 49 | 50 | ![](https://image.3001.net/images/20210916/1631749573321.png) 51 | 52 | 值得一说的是,这种情况压根不需要我们手动创建 EFI 分区,直接安装的时候选择整个想要安装的磁盘即可,macOS 会自动创建磁盘分区的: 53 | 54 | ![](https://image.3001.net/images/20210916/1631749592979.jpg) 55 | 56 | ### 单个硬盘安装 Windows 和 macOS 57 | 58 | 这个一个 512GB SSD 双系统磁盘划分的情况: 59 | 60 | ![](https://image.3001.net/images/20210921/16322081893942.jpg) 61 | 62 | C 盘为未来会用作 Windows 的 C 盘,123 GB 一般也足够日常轻度使用了 63 | 64 | D 盘到时候用来安装 macOS,353 GB 日常使用也足够了实际上 65 | 66 | E 盘这个盘符是临时划分的,实际上他就是 ESP 引导分区,未来 Windows 和 macOS 的引导都会放这里 -------------------------------------------------------------------------------- /docs/10-常见QA/10-1.md: -------------------------------------------------------------------------------- 1 | 如何使用本页面呢?电脑端直接 `Ctrl/Command + F` 快捷键,快速搜索你想查找的关键词即可。 2 | 3 | 如果你也想来贡献 QA 完善这个页面,欢迎邮件发送给我 **admin@sqlsec.com**,黑苹果非常需要大家一起的贡献努力。 4 | 5 | -------------------------------------------------------------------------------- /docs/2-U盘制作/2-1.md: -------------------------------------------------------------------------------- 1 | 我们国内[黑苹果小兵](https://blog.daliansky.net/)前辈会经常更新一些懒人镜像,这些镜像很适合小白使用。 2 | 3 | 大家可以去前辈的博客去下载就行了,双分区、三分区的都是可以的。 4 | 5 | 6 | 7 | 如果大家想下载苹果官方的镜像,自己制作的话(不适合小白)可以直接参考 OC 官方文档,国光我就不搬运了,直接贴了地址: 8 | 9 | [Creating the USB | OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/) 10 | -------------------------------------------------------------------------------- /docs/2-U盘制作/2-2.md: -------------------------------------------------------------------------------- 1 | 写入镜像实际上也有很多工具,国光这里推荐一个后来居上的工具 [balenaEthcher](https://www.balena.io/etcher) 2 | 3 | ![](https://image.3001.net/images/20210916/16318001211261.png) 4 | 5 | 官方支持 Windows、macOS、Linux 的版本,下载即可使用。下面简单说下安装制作镜像的方法: 6 | 7 | ![](https://image.3001.net/images/20210916/16318002942938.png) 8 | 9 | 这个软件使用也比较简单,就是上图标记的三步,是不是很简单呢? 10 | 11 | 由于国光我手上的这个 U 盘是固态改的,所以几分钟时间就写入完成了,写入成功后的提示信息如下: 12 | 13 | ![](https://image.3001.net/images/20210916/16318005846468.png) 14 | -------------------------------------------------------------------------------- /docs/2-U盘制作/2-3.md: -------------------------------------------------------------------------------- 1 | 黑苹果 U 盘制作完成了,下面来大概讲解一下目前 U 盘的结构划分情况,以及作用是啥,话不多说直接看图: 2 | 3 | macOS 下使用 Hackintool 可以直观的看到磁盘的结构信息: 4 | 5 | ![](https://image.3001.net/images/20210916/16318012614605.png) 6 | 7 | 如果是 Windows 的话,使用经典的磁盘工具 DiskGenius 也是可以看到的。下面来给大家一一展示下这 3 个分区里面放着哪些内容。 8 | 9 | ## 挂载 EFI 10 | 11 | 绝大多数的情况下 EFI 分区默认是隐藏的,我们在 Hackintool 工具下「右键」选择「装载」输入密码后即可挂载 EFI 分区: 12 | 13 | ![](https://image.3001.net/images/20210916/16318013455967.png) 14 | 15 | 挂载 EFI 分区后,桌面上的三个分区就全部显示出来了: 16 | 17 | ![](https://image.3001.net/images/20210916/16318017737999.png) 18 | 19 | ## EFI 20 | 21 | 默认 EFI 分区下的文件内容如下: 22 | 23 | ![](https://image.3001.net/images/20210916/16318018553429.png) 24 | 25 | 小兵前辈还放了 2 个 app,我们可以选择性保留。 26 | 27 | 默认的 EFI 文件夹是 Clover 配套的,所以后续我们需要删掉整个 EFI 文件夹,然后将 OC 的 EFI 拷贝进来。 28 | 29 | ## WEPE 30 | 31 | 默认 WEPE 分区下的文件内容如下: 32 | 33 | ![](https://image.3001.net/images/20210916/16318019728766.png) 34 | 35 | 这个分区我们一般不用管,虽然这里也有 EFI 文件夹,但是这个是引导 Windows PE 使用的,了解一下就行。 36 | 37 | ## Install macOS XXX 38 | 39 | Install macOS XXX 分区下面就躺着苹果官方的系统安装包了,这个实际上是 .app 结尾的格式,苹果的应用基本上都是这个格式,实际上我们后续安装黑苹果成功之后,也可以去 AppStore 里面手动下载这个镜像: 40 | 41 | ![](https://image.3001.net/images/20210916/16318020277484.png) 42 | 43 | 44 | 45 | 至此,启动盘初步就制作好了,接下来就是我们配置好一个适合我们机型的 EFI 驱动配置文件的事情了,配置好 EFI 直接放入到 U 盘 EFI 分区下即可。 46 | -------------------------------------------------------------------------------- /docs/3-准备工作/3-5.md: -------------------------------------------------------------------------------- 1 | ## 完整的 Drivers 说明 2 | 3 | `OC/Drivers` 里放着一些驱动文件,这些驱动均已 .efi 后缀结尾,OC 官方默认的驱动文件以及说明如下: 4 | 5 | - **AudioDxe.efi**:用与启动的时候播放 Duang 的声音,就像白苹果那样 6 | - **CrScreenshotDxe.efi**:OC 引导界面截图驱动,按 F10 会保存当前界面的截图到 EFI 分区的根目录下 7 | - **HiiDatabase.efi**:用于支持 UEFI 字体渲染,四代酷睿后一般不需要 8 | - **NvmExpressDxe.efi**:用于让老主板支持 NVME Express 设备,四代酷睿后一般不需要 9 | - **OpenCanopy.efi**:使用图形化 OC 主题必备驱动 10 | - **OpenHfsPlus.efi**:文件系统驱动,用于支持识别 HFS+ 的磁盘格式 11 | - **OpenLinuxBoot.efi**:OC 0.7.3 新增的驱动,用于引导 Linux 系统 12 | - **OpenPartitionDxe.efi**:分区管理驱动程序。用于加载旧版 macOS 的 DMG 映像 13 | - **OpenRuntime.efi**:OC 核心必备驱动,功能比较强大,大家记住这个是必备的驱动就行 14 | - **OpenUsbKbDxe.efi**:USB 键盘驱动,用于模拟苹果热键,是 KeySupport 的等效方案 15 | - **Ps2KeyboardDxe.efi**:PS/2 键盘驱动,这个 PS/2 键盘也太老了吧,我好多年没见过了 16 | - **Ps2MouseDxe.efi**:PS/2 鼠标驱动,同样也太老了,很多年没有见过了 17 | - **UsbMouseDxe.efi**:USB 鼠标驱动,有些虚拟机需要依赖改驱动才可以在引导界面使用鼠标 18 | - **XhciDxe.efi**:XHCI USB controller 驱动程序,基本上 2 代酷睿开始大多数固件都自带这个驱动程序了 19 | 20 | ## 常用 Drivers 21 | 22 | 正常情况下,以下 2 个是必备的驱动: 23 | 24 | - **OpenRuntime.efi**:OC 核心必备驱动,功能比较强大,大家记住这个是必备的驱动就行 25 | 26 | - **OpenHfsPlus.efi**:文件系统驱动,用于支持识别 HFS+ 的磁盘格式 27 | 28 | 因为国光有使用图形化界面引导和在引导界面截图的习惯,所以我还使用了如下两个驱动: 29 | 30 | - **OpenCanopy.efi**:使用图形化 OC 主题必备驱动 31 | 32 | - **CrScreenshotDxe.efi**:OC 引导界面截图驱动,按 F10 会保存当前界面的截图到 EFI 分区的根目录下 33 | 34 | ## 使用主题前后对比 35 | 36 | ### 使用主题前 37 | 38 | ![](https://image.3001.net/images/20210918/16319532063208.png) 39 | 40 | ### 使用主题后 41 | 42 | ![](https://image.3001.net/images/20210917/16318842917381.png) 43 | 44 | 一些 OC 主题下载的渠道: 45 | 46 | - [https://dortania.github.io/OpenCanopy-Gallery/blackosx.html](https://dortania.github.io/OpenCanopy-Gallery/blackosx.html) 47 | - [OC主题-黑苹果动力](https://www.mfpud.com/opencore/octheme/) 48 | - [https://github.com/LuckyCrack/OpenCore-Themes](https://github.com/LuckyCrack/OpenCore-Themes) 49 | - [https://github.com/chris1111/My-Simple-OC-Themes](https://github.com/chris1111/My-Simple-OC-Themes) 50 | 51 | 主题自定义也非常简单,准备好你的 icns 图标文件就行了,自己换背景、换图标不就成了以新的主题了吗?对吧,下面给大家看下国光我自定义主题的效果: 52 | 53 | ![](https://image.3001.net/images/20220227/16459585249452.png) 54 | 55 | 相关视频可见:[你搁这召唤神龙呢?](https://www.bilibili.com/video/BV1JL411T7NW) 56 | 57 | ![](https://image.3001.net/images/20220227/16459585896031.png) 58 | -------------------------------------------------------------------------------- /docs/3-准备工作/3-6.md: -------------------------------------------------------------------------------- 1 | # 6. OC 编辑器 2 | 3 | 因为 OpenCore 的核显配置 文件是 **.plist** 结尾的,所以需要专门的编辑器来编辑,常见的 OC 编辑器的优缺点如下: 4 | 5 | | 编辑器名称 | 优点 | 缺点 | 6 | | ------------------------------------------------------------ | ------------------ | ----------------------------------- | 7 | | [ProperTree](https://github.com/corpnewt/ProperTree) | 强大、专业、跨平台 | 上手难度高 | 8 | | [OpenCore Configurator](https://mackie100projects.altervista.org/download-opencore-configurator/) | 强大、简单 | 只有 Mac 版本 | 9 | | [OCAuxiliaryTools](https://github.com/ic005k/OCAuxiliaryTools) | 跨平台、简单 | ~~使用体验有待提升~~ 目前越来越强了 | 10 | 11 | 国光我的建议如下: 12 | 13 | 1. 如果你有 Mac 系统可以使用,首选 OpenCore Configurator 14 | 2. Windows 小白用户建议使用 OCAuxiliaryTools 15 | 16 | 下面来分别大概介绍一下这些编辑器的安装和使用方法。 17 | 18 | 19 | 20 | !!! warning "提醒一下,不同版本的 OC 配置需要使用对应版本的 OC 编辑器,否则可能产生玄学问题" 21 | 22 | 23 | 24 | ## ProperTree 25 | 26 | 官方项目地址为:[https://github.com/corpnewt/ProperTree](https://github.com/corpnewt/ProperTree) 27 | 28 | ### macOS 平台下使用 29 | 30 | 因为 macOS 自带 Python 环境的原因,双击 **ProperTree.command** 即可打开程序: 31 | 32 | ![](https://image.3001.net/images/20210918/16319577307684.png) 33 | 34 | 通过 macOS 的菜单可以完成一些主要操作。 35 | 36 | ### Windows 平台下使用 37 | 38 | Windows 10 默认不带 Python 环境,所以首先得安装一下 Python 环境才可以。首先下载 Python3,这里推荐稳定一点的 Python 3.8 的版本,官方下载地址为:[https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe](https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe) 39 | 40 | 安装的时候记得勾选:**Add Python 3.8 to PATH**: 41 | 42 | ![](https://image.3001.net/images/20210918/16319580501860.png) 43 | 44 | 这样会自动配置好环境变量,后面就不需要我们手动配置了,使用默认路径或者自定义路径都是OK的,国光比较偷懒使用了默认的「Install Now」,如果要使用自定义路径的话,那么这个路径最好不要出现中文,否则可能会引发一些玄学的问题。 45 | 46 | 验证是否安装成功的话,打开命令行,输入: 47 | 48 | ```bash 49 | python -V 50 | ``` 51 | 52 | 可以看到 Python 的版本信息表示成功: 53 | 54 | ![](https://image.3001.net/images/20210918/16319582235848.png) 55 | 56 | 确实安装成功后,双击 **ProperTree.bat** 文件即可打开程序: 57 | 58 | ![](https://image.3001.net/images/20210918/16319585375960.png) 59 | 60 | 同样通过菜单中的 File 可以完成一些基础操作。 61 | 62 | ## OpenCore Configurator 63 | 64 | OpenCore Configurator 最新版本的下载地址为: 65 | 66 | [https://mackie100projects.altervista.org/download-opencore-configurator/](https://mackie100projects.altervista.org/download-opencore-configurator/) 67 | 68 | 找到 想要编辑的配置文件,「右键」-「打开方式」选择「OpenCore Configurator」即可: 69 | 70 | ![](https://image.3001.net/images/20210918/16319587595893.png) 71 | 72 | 打开后的主要界面如下: 73 | 74 | ![](https://image.3001.net/images/20210918/16319588277424.png) 75 | 76 | ## OCAuxiliaryTools 77 | 78 | OCAuxiliaryTools 建议在 Windows 使用,用来替代 ProperTree,因为 macOS 下有更棒的使用体验更好的 OpenCore Configurator 可以使用。 79 | 80 | 官方项目地址为:[https://github.com/ic005k/OCAuxiliaryTools](https://github.com/ic005k/OCAuxiliaryTools) 81 | 82 | 中文说明为:[https://github.com/ic005k/OCAuxiliaryTools/blob/master/READMe-cn.md](https://github.com/ic005k/OCAuxiliaryTools/blob/master/READMe-cn.md) 83 | 84 | 下载对应的 Windows 版本的,主要界面如下: 85 | 86 | ![](https://image.3001.net/images/20210918/16319601601628.png) 87 | 88 | 至此 OC 编辑器介绍完了,详细的使用方法大家可以参考本教程对应的 B 站讲解视频,接下来该准备配置 EFI 文件了。 89 | -------------------------------------------------------------------------------- /docs/4-OC配置/4-5.md: -------------------------------------------------------------------------------- 1 | Misc 杂项部分,这部分基本上是通用的,所以国光我很喜欢这一章,这样就不用考虑各个机型了,写起来会比较顺心。 2 | 3 | ## Boot 4 | 5 | 下面是国光我的使用习惯: 6 | 7 | ![](https://image.3001.net/images/20210920/16321530884272.png) 8 | 9 | - **Picker Mode**:这个选择 **External**,表示启用外部主题(前提是你拷贝了对应的主题文件) 10 | - PickerVariant:这里可以手动选择自己想要加载的主题 11 | - PollAppleHotKeys: 12 | - 需要与 Quirk `KeySupport=Yes` 结合使用, 13 | - 这个是国光我的个人习惯,表示模拟苹果热键 14 | - 这样无需在启动项里面添加`-v` 参数了,直接在选择系统界面 `Commad/Ctrl + V` 即可,非常简约方便。 15 | 16 | 快捷键组合: 17 | 18 | - `Cmd + V`: 启用 `-v` 跑码 19 | - `Cmd + Opt + P + R`: 重置 NVRAM 20 | - `Cmd + R`: 启动恢复分区 21 | - `Cmd + S`: 启动至单用户模式 22 | - `Option / ALT`: 在 `ShowPicker` 设置成 `NO` 时显示引导项选择界面, `ALT` 不可用时可用 `ESC` 键代替 23 | - `Cmd + C + 减号`: 关闭主板兼容性检查, 等同于添加引导标识符 `-no_compat_check` 24 | - `Shift`: 安全模式 25 | 26 | ## Debug 27 | 28 | 这个主要用于 Debug 调试使用的,实际上使用默认的也行,下面是 OC 官方建议的设置: 29 | 30 | ![](https://image.3001.net/images/20210920/16321533514537.png) 31 | 32 | 其中 Target 表示: 33 | 34 | ![](https://image.3001.net/images/20210920/16321533997222.png) 35 | 36 | 会每次把启动日志记录到 EFI 分区根目录下,方便调试使用,后期稳定的话可以取消勾选这个「记录到文件」即 Target 的值为 `3` 37 | 38 | ## Security 39 | 40 | 下面也是国光的使用习惯: 41 | 42 | ![](https://image.3001.net/images/20210920/16321535333733.png) 43 | 44 | - **Scan Policy** 可以改为 0,实际上可选的值如下: 45 | 46 | ![](https://image.3001.net/images/20210921/16321536046088.png) 47 | 48 | 有时候安装系统的时候遇到 OC 无法识别 Windows 的启动项的情况,勾选了「允许扫描 EFI 系统分区文件系统」解决了,理论上 Scan Policy 改为 0 也可以解决这类问题。 49 | 50 | - **Valut**:Optional 51 | 52 | 搞错了理论上会直接无法开机,所以基本上相当于是必选项了。 53 | 54 | - **AllowToggle**:勾选 55 | 56 | 这个也是国光我的习惯,勾选这个后,每次开关 SIP 只需要在选择系统界面切换一下即可,很方便: 57 | 58 | ![](https://image.3001.net/images/20210921/16321538984521.jpg) 59 | -------------------------------------------------------------------------------- /docs/4-OC配置/4-6.md: -------------------------------------------------------------------------------- 1 | NVRAM 部分,这部分基本上是通用的,所以国光我也很喜欢这一章,这样就不用考虑各个机型了,写起来会比较顺心。 2 | 3 | ![](https://image.3001.net/images/20210921/16321868668123.png) 4 | 5 | 6 | 7 | 这部分一般主要关注以下 5 个选项。 8 | 9 | ## UIScale UI 缩放 10 | 11 | UIScale 有 01 和 02 两个值可选: 12 | 13 | ![](https://image.3001.net/images/20210921/16321540437078.png) 14 | 15 | - 01 表示默认缩放 16 | - 02 表示开启 HiDPi 17 | - 一般如果搭配的是原生 4k 显示器使用,效果会好一些 18 | - 如果非 4k 显示器使用脚本强制开启 HiDPi 的话也建议使用,这样开机 Logo 不会大小变 19 | 20 | > 更新一下,OC 后面的版本这部分调整了,具体变动如下: 21 | 22 | OC 后面的版本将 UCScale 这个参数移动到了「UEFI 设置」下面的 「显示输出」标签里面了,这样大家手动选择对应的值就 OK 了: 23 | 24 | ![](https://image.3001.net/images/20220222/16455447631547.png) 25 | 26 | ## boot-args 启动项 27 | 28 | 主要设置一些启动项之类的: 29 | 30 | ![](https://image.3001.net/images/20210921/16321541684627.png) 31 | 32 | 常用内核引导标识符合集: 33 | 34 | | 引导标识符 | 作用 | 35 | | :----------------------------------------------------------: | :----------------------------------------------- | 36 | | `-amd_no_dgpu_accel` | 关闭 AMD 显卡硬件加速 | 37 | | `cpus=#` | 启用 `#` 个 CPU 核心 | 38 | | [`darkwake=0`](http://www.yekki.me/power-nap-and-darkwake-argument/) | 禁用 Power Nap | 39 | | `dart=0` | 禁用 VT-d | 40 | | `debug=0x100` | 发生 KP 时不自动重启 | 41 | | `kext-dev-mode=1` | 启用 Kext 开发模式, 非开发者请勿使用 | 42 | | `-no_compat_check` | 关闭兼容性检查 | 43 | | `-s` | 单用户模式 | 44 | | `slide=#` | 手动设置 KASLR slide 值为 `#` | 45 | | `-v` | verbose 跑码模式 | 46 | | `-x` | 安全模式 | 47 | | `alcid=x` | 注入 AppleALC 声卡 ID | 48 | | `agdpmod=pikera` | 5700XT 等高端 A 卡需要配合这个参数,否则可能黑屏 | 49 | | `-wegnoegpu` | 用于禁用除集成 Intel iGPU 之外的所有其他 GPU | 50 | 51 | ## **csr-active-config** SIP 相关 52 | 53 | 系统完整性保护 (SIP) 的设置,一般建议默认就行, 54 | 55 | ![](https://image.3001.net/images/20210921/16321545753177.png) 56 | 57 | 相关值的说明: 58 | 59 | - `00000000` - SIP 完全启用 (0x0)。 60 | - `03000000` - 禁用 kext 签名 (0x1) 和文件系统保护 (0x2)。 61 | - `FF030000`- 禁用macOS High Sierra 中的所有标志(0x3ff)。 62 | - `FF070000`- 禁用macOS Mojave 中的所有标志在macOS Catalina(0x7ff),因为 Apple 为可执行策略引入了一个值。 63 | - `FF0F0000`- 禁用 macOS Big Sur (0xfff) 中的所有标志,该标志为经过身份验证的 root提供了另一个新标志 64 | 65 | 国光我个人建议使用下面这个切换 SIP,这样比较方便高效: 66 | 67 | ![](https://image.3001.net/images/20210921/16321547057044.png) 68 | 69 | ## prev-lang:kbd 语言设置 70 | 71 | 这里设置到安装系统的时候的语言: 72 | 73 | ![](https://image.3001.net/images/20210921/16321547596494.png) 74 | 75 | 如果你安装系统发现为俄语的话,那么多半是这里语言设置不对,记得改回对应的语言,改好了要**重置下 NVRAM** 才可以生效。 76 | 77 | 常见的语言: 78 | 79 | | 语种 | 字符串 | DATA类型 | 80 | | ---- | --------- | ------------------------ | 81 | | 英语 | en-US:0 | 656e2d55533a30 | 82 | | 中文 | zh-Hans:0 | 7A682D48 616E733A 323532 | 83 | 84 | ## WriteFlash 85 | 86 | 这个选项也是默认配置就勾选的,表示允许为所添加的变量写入闪存,我们保留默认即可: 87 | 88 | ![](https://image.3001.net/images/20210921/16321869266370.png) 89 | -------------------------------------------------------------------------------- /docs/4-OC配置/4-7.md: -------------------------------------------------------------------------------- 1 | 这部分主要介绍的机型相关的信息,可以使用 OCC 这类工具一键生成,选择和自己 CPU 相近的即可,由于 intel CPU 比较冗杂,不确定的话可以去官网搜索一下,确保是同一架构的也可以,这样效率最高也最简单。或者参考 [OC 官方的 SMBIOS 选择](https://dortania.github.io/OpenCore-Install-Guide/extras/smbios-support.html)建议也可以。 2 | 3 | ## OCAuxiliaryTools 4 | 5 | ![](https://image.3001.net/images/20210921/1632186659948.png) 6 | 7 | ## Opencore Configurator 8 | 9 | ![](https://image.3001.net/images/20221120/16689071426248.png) 10 | 11 | OCC 会自动根据你选择的机型更改 CPU 型号,如果发现你的 CPU 型号错乱的话,那么手动将 ProcessorType 改为 0 就可以了。 12 | 13 | ## AMD 和无核显的 CPU 设置 14 | 15 | 一般如果你的 CPU 没有核显(F 结尾的)或者你的 CPU 的核显无解(AMD 系列),那么建议设置的最佳机型为 **iMac Pro1,1** 16 | 17 | ![](https://image.3001.net/images/20210921/16321873845205.png) 18 | 19 | 因为这块的 Mac 机型本身也是没有核显的,所以可以充分利用独显来进行硬解: 20 | 21 | ![](https://image.3001.net/images/20210921/16321874356808.png) 22 | 23 | ## 你的序列号是否完美? 24 | 25 | 因为序列号会影响到 iMessage(短信)的使用,所以要想更接近白苹果的体验的话,得选择一个有效的序列号。苹果官方的序列号查询地址为: 26 | 27 | https://checkcoverage.apple.com/cn/zh/ 28 | 29 | 序列号有 3 种级别。 30 | 31 | **有效没有被用过的序列号 > 无效序列号 > 有效被用过的序列号** 32 | 33 | 国光测试其实编辑器自动生成的**无效序列号并不影响苹果服务使用**的,所以国光建议如果你刷不到完美的有效没有被用过的序列号的话,直接使用无效序列号就完事,因为随时时间的流逝,有效没有被用过的序列号只会越来越少了。 34 | 35 | ### 无效序列号 36 | 37 | ![](https://image.3001.net/images/20210715/16263155838212.png) 38 | 39 | 40 | 41 | 42 | 43 | ### 有效但是被用过的序列号 44 | 45 | 接着就是有效的序列号,但是被人用过了,可能电话技术支持已经到期: 46 | 47 | 48 | 49 | ![](https://image.3001.net/images/20210714/162625914362.png) 50 | 51 | **被用过了 电话支持也到期了** 52 | 53 | 54 | 55 | 也可能是电话技术支持依然有效的: 56 | 57 | ![](https://image.3001.net/images/20210714/16262590834326.png) 58 | 59 | **被用过了 但是电话支持还是有效的** 60 | 61 | 62 | 63 | 但是并没有什么卵用,这表示这个序列号也被使用过了。 64 | 65 | ### 有效且没有被用过的序列号 66 | 67 | 最完美的序列号,国光我这里尝试了很久很久终于刷到了一次: 68 | 69 | ![](https://image.3001.net/images/20210714/1626259524646.png) 70 | 71 | 这表示序列号存在而且还没有被激活过,看到这种序列号不要犹豫,赶紧冲! 72 | 73 | 不过呢,一些老款的机型基本上刷不出这种序列号了,都停产很久了,所以呢这种序列号运气和机遇都得具备才可以刷到。 74 | 75 | ## 到达次数限制怎么办 76 | 77 | 实际上情况浏览器缓存就好了,什么,你不会清空浏览器缓存?那自己去利用搜索引擎搜索去! 78 | -------------------------------------------------------------------------------- /docs/5-实战演示/5-1.md: -------------------------------------------------------------------------------- 1 | ## 有感而发 2 | 3 | 这个时间小白太多,我不是他们的父母,我没有义务手把手把饭喂到他们嘴边。 4 | 5 | ## 机器概览 6 | 7 | 说了一大堆,但是根本表达不完我此刻内心的想法,算了,继续回到正轨,写文章去了: 8 | 9 | | 配件 | 型号 | 10 | | ---- | --------------------------------- | 11 | | CPU | i5-8500 | 12 | | 显卡 | Intel UHD 630 核显 | 13 | | 主板 | 技嘉 360M AORUS Pro | 14 | | 内存 | 金士顿骇客神条 8GB 2666Mhz * 2 条 | 15 | | 硬盘 | 海康威视 C2000 Pro 512GB | 16 | | 网卡 | Fenvi T919 BCM94360CD 四天线版 | 17 | | 机箱 | 乔思伯 T03 | 18 | | 电源 | 爱国者电竞 500W | 19 | | 散热 | 乔思伯 CR1000 | 20 | 21 | 所使用的网卡也是我自费从咸鱼上买的,卖家还认识我,所以给我优惠了一点点。 22 | 23 | 整机性价比的话不做评价,1 千个人有 1 千个哈姆雷特,性价比在每个人眼中可能也都是不一样的,总之这台机器拿来做黑苹果教程挺合适的,中规中矩是一个比较大众的配置。 -------------------------------------------------------------------------------- /docs/5-实战演示/5-2.md: -------------------------------------------------------------------------------- 1 | BIOS [之前的章节](../../3-准备工作/3-1/)已经介绍过了,这里直接列出最终的设置情况吧: 2 | 3 | 主板型号:GIGABYTE B360M AORUS PRO 4 | 5 | BIOS 版本:F3 6 | 7 | BIOS 日期:2019-05-17 8 | 9 | - 【BIOS 功能】-【Windows 8/10】-【其他操作系统】 10 | - 【BIOS 功能】-【CSM 支持】-【关闭】 11 | - 【BIOS 功能】-【安全模式】-【Secure Boot Enable】-【关闭】 12 | - 【集成外设】-【预设启动的显示设备】-【IGFX】(这里用的核显) 13 | - 【集成外设】-【Intel Platform Trust Technology (PTT)】-【关闭】 14 | - 【集成外设】-【Software Guard Extension (SGX)】-【关闭】 15 | - 【集成外设】-【Trusted Computing】-【Security Device Support】-【Disable】 16 | - 【集成外设】-【Super IO 配置】-【Serial Port】-【关闭】 17 | - 【集成外设】-【USB 程序】-【Legacy USB Support】-【开启】 18 | - 【集成外设】-【集成外设】-【XHCI Hand-off】-【开启】 19 | - 【集成外设】-【集成外设】-【USB Mass Storege Driver Support】-【开启】 20 | - 【集成外设】-【Network Stack Configuration】-【Network Stack】-【关闭】 21 | - 【集成外设】-【SATA And RST Configuration】-【SATA Mode Selection】-【AHCI】 22 | - 【芯片组】-【VT-d】-【关闭】 23 | - 【芯片组】-【Internal Graphics】-【启动】 24 | - 【芯片组】-【DVMT Pre-Allocated】-【64M】 25 | - 【芯片组】-【DVMT Total Gfx Mem】-【256M】 26 | - 【芯片组】-【4G 以上解码】-【启动】 27 | - 【芯片组】-【Wake on LAN Enable】-【关闭】 28 | - 【电源管理】-【平台电力管理】-【关闭】 29 | - 【电源管理】-【鼠标唤醒】-【双击】 -------------------------------------------------------------------------------- /docs/5-实战演示/5-3.md: -------------------------------------------------------------------------------- 1 | ## Windows + macOS 2 | 3 | 这个一个 512GB SSD 双系统磁盘划分的情况: 4 | 5 | ![](https://image.3001.net/images/20210921/16322081893942.jpg) 6 | 7 | C 盘为未来会用作 Windows 的 C 盘,123 GB 一般也足够日常轻度使用了 8 | 9 | D 盘到时候用来安装 macOS,353 GB 日常使用也足够了实际上 10 | 11 | E 盘这个盘符是临时划分的,实际上他就是 ESP 引导分区(分区必须 > 200MB),未来 Windows 和 macOS 的引导都会放这里 12 | 13 | ## macOS 单系统 14 | 15 | 如果是 macOS 单系统的话,实际上无需进 PE 进行磁盘划分了,安装系统的时候,直接选择整个磁盘就 OK 了。 -------------------------------------------------------------------------------- /docs/5-实战演示/5-4.md: -------------------------------------------------------------------------------- 1 | 这一章有点多此一举了,正常情况下默认大家都会安装 Windows 的,如果 Windows 都不可以很顺利安装的话,那么黑苹果就难如登天了。 2 | 3 | ## 拷贝镜像到 D 盘 4 | 5 | 这一步不一定是把镜像 D 盘,镜像直接放 U 盘里面然后插电脑上也行,但是理论镜像放在硬盘当中的话,安装速度要快很多。 6 | 7 | ![](https://image.3001.net/images/20210921/16322087074636.jpg) 8 | 9 | ## WinNTSetup 安装系统 10 | 11 | ![](https://image.3001.net/images/20210921/16322088183096.jpg) 12 | 13 | 基本上各大 Windows PE 里面都自带这个工具,翻译过来也叫 Windows 安装器,认准这个图标就行。 14 | 15 | 主要操作如下,关键步骤都标注在图片上了: 16 | 17 | ![](https://image.3001.net/images/20210921/16322090345480.jpg) 18 | 19 | 配置好,点击「安装」就可以了,安装完成后,拔掉 PE U盘,点击「重启」即可: 20 | 21 | ![](https://image.3001.net/images/20210921/16322092702981.jpg) 22 | 23 | ## 等待 Windows 初始化 24 | 25 | 重启根据提示走一遍设置,耐心等待 Windows 10 初始化即可: 26 | 27 | ![](https://image.3001.net/images/20210921/16322096568739.jpg) 28 | -------------------------------------------------------------------------------- /docs/5-实战演示/5-6.md: -------------------------------------------------------------------------------- 1 | ## 疑问 2 | 3 | 聪明的网友肯定会发现:哎,不对啊!我不能每次要进 macOS 系统都得插个 U 盘,然后快捷键启动吧: 4 | 5 | ![](https://image.3001.net/images/20210921/16322099931547.jpg) 6 | 7 | 2333,当然可以不需要 U 盘了,下面跟着国光的步骤来一步一个脚印的操作。 8 | 9 | ## 挂载磁盘引导分区 10 | 11 | 这一步在 macOS 和 在 Windows 下操作都是可以的。 12 | 13 | 如果你在 Windows 下操作,一般需要使用 DiskGenius 这个工具来辅助操作,如果是在 macOS 下挂载工具就多了去了了,下面国光使用的 OCC 来进行 EFI 分区的挂载。 14 | 15 | 首先下载好 OCC 工具,这个工具就算不挂载也是黑苹果必备工具了, 16 | 17 | OCC 官网下载地址为:https://mackie100projects.altervista.org/download-opencore-configurator/ 18 | 19 | 打开之后,选择右上角的 OC 图标,点击,找到自己的安装系统的硬盘,点击「挂载分区」: 20 | 21 | ![](https://image.3001.net/images/20210921/16322148009684.jpg) 22 | 23 | 输入密码后,即可挂载成功,然后点击左上角图标的「打开分区」即可,硬盘的引导分区内容如下: 24 | 25 | ![](https://image.3001.net/images/20210921/16322149682728.jpg) 26 | 27 | ## 挂载 U 盘的引导分区 28 | 29 | 同理,挂载下 U 盘的引导分区,此时 U 盘的引导分区内容如下: 30 | 31 | ![](https://image.3001.net/images/20210921/16322151001012.jpg) 32 | 33 | ## 将 OC 文件拷贝到硬盘目录下 34 | 35 | ![](https://image.3001.net/images/20210921/16322152111064.jpg) 36 | 37 | 任务完成,现在可以拔掉 U 盘,然后关机重启进 Windows 操作系统了。 38 | 39 | ## 情况讲解 40 | 41 | ### 多硬盘多系统 42 | 43 | 举个例子: 44 | 45 | - 磁盘 A:安装了 Windows 46 | - 磁盘 B:安装了 macOS 47 | 48 | 这种情况下无需手动使用工具添加引导项也可以,直接将 OC 的 EFI 引导文件拷贝到 **磁盘B** 的 EFI 引导分区下,然后在 BIOS 里面将 **磁盘 B**的引导设置第 1 启动即可。 49 | 50 | ### 单硬盘多系统 51 | 52 | 举个例子: 53 | 54 | - 磁盘 A:安装了 Windows 和 macOS 55 | 56 | 这种情况下,就得使用下面的 DG 或者 EasyUEFI 手动添加引导了。 57 | 58 | ## DG 方法 59 | 60 | 其实这种方法更简单,和下面的 EasyIUEFI 方法原理一模一样: 61 | 62 | ![](https://image.3001.net/images/20220918/16635047783739.png) 63 | 64 | ## EasyIUEFI 方法 65 | 66 | 来到 Windows 下我们可以使用 EasyUEFI 工具来添加引导,当然也有一些替代品如 Bootice,但是呢,这样就篇幅很多,显得很啰嗦了,所以本文只使用 EasyUEFI 做一个演示使用。 67 | 68 | EasyUEFI 刚刚出来的时候是免费的,后面慢慢收费了,所以国光这里使用的网上搬运过来的破解版,文件安全与否请自行查杀。 69 | 70 | **EasyUEFI 破解版下载地址**:https://sqlsec.lanzouw.com/i4amxzmj1cj 71 | 72 | 绿色版本点击即可使用, 打开后的主界面如下: 73 | 74 | ![](https://image.3001.net/images/20210921/16322157579048.jpg) 75 | 76 | 选择「管理 EFI 启动项」,最终效果如下: 77 | 78 | ![](https://image.3001.net/images/20210921/16322158115168.jpg) 79 | 80 | 首先点击「创建新项」: 81 | 82 | ![](https://image.3001.net/images/20210921/16322158943839.jpg) 83 | 84 | 操作系统类型选择「Linux 或者其他操作系统」,描述随便写一个,目标分区选择「硬盘的第一个 ESP 引导分区」,然后点击「浏览数据」,选择 EFI/OC/ 目录下的 OpenCpre.efi 文化后,点击确定即可: 85 | 86 | ![](https://image.3001.net/images/20210921/16322159838454.jpg) 87 | 88 | 接着将刚刚添加的启动项,「上移」到第一位即可: 89 | 90 | ![](https://image.3001.net/images/20210921/16322161168406.jpg) 91 | 92 | ## 最终的效果 93 | 94 | 拔掉 U 盘后,每次开机选择操作系统的界面如下: 95 | 96 | ![](https://image.3001.net/images/20210921/1632216237501.jpg) 97 | 98 | 可以很方便的进入 Windows 和 macOS 系统,至此大功告成了。 99 | 100 | ## 没有效果? 101 | 102 | 如果使用了 DG 或者 EasyUEFI 手动添加引导但是依然没有 OC 为第 1 启动的话,很简单,直接 **BIOS** 里面将你手动添加的引导设置为第 1 启动即可。 103 | 104 | ## 打赏支持一下 105 | 106 | 此刻的你一定很高兴,这个时候丢出打赏链接,效果应该不错的,2333 107 | 108 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 109 | 110 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 111 | 112 | 113 | 114 | 117 | 121 | 122 |
微信 115 |
116 |
118 | 支付宝 119 |
120 |
123 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 124 | -------------------------------------------------------------------------------- /docs/5-实战演示/5-7.md: -------------------------------------------------------------------------------- 1 | ## 前言 2 | 3 | 正常情况下使用 OC 引导的话,**小版本可以无脑直接升级,大版本的话可能有些微调**,需要及时关注大版本的系统变化啥,不过总有人会先去踩坑总结的,遇到大的变化,OC 或者一些著名 Kexts 那边也会调整升级的。 4 | 5 | ## 演示 6 | 7 | 某日正在愉快的上网,突然右上角收到了一个「有更新项目」的提醒: 8 | 9 | ![](https://image.3001.net/images/20220216/16450192854856.png) 10 | 11 | 强迫症这都能忍?直接点击「立即重新启动」: 12 | 13 | ![](https://image.3001.net/images/20220216/1645019359410.png) 14 | 15 | 然后安装更新后会重启,此时回到 OC 引导界面,会发现有新的启动项出现了: 16 | 17 | ![](https://image.3001.net/images/20220216/16450193971647.png) 18 | 19 | 没错,我们选择这个新的启动项「Macintosh HD」来启动 20 | 21 | > macOS 系统小更新都会有这个启动项,所以强烈不建议你把自己的磁盘名称也改为 Macintosh HD,因为更新的时候容易搞混淆 22 | 23 | 安装完更新之后可能重启几次,总之这启动项还在的话,就一直选择这个新的启动项「Macintosh HD」来启动。 24 | 25 | 更新成功后,启动项恢复正常了,我们选择原本的启动项 「Macintosh」来启动: 26 | ![](https://image.3001.net/images/20220216/16450195279388.png) 27 | 28 | 最终本次更新很顺利,直接就升级到最新的版本了: 29 | 30 | ![](https://image.3001.net/images/20220216/16450195899563.png) 31 | 32 | 33 | 34 | ## 打赏 35 | 36 | 此刻的你一定很高兴,这个时候丢出打赏链接,效果应该不错的,2333 37 | 38 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 39 | 40 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 41 | 42 | 43 | 44 | 47 | 51 | 52 |
微信 45 |
46 |
48 | 支付宝 49 |
50 |
53 | 54 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 55 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-1.md: -------------------------------------------------------------------------------- 1 | ## USB 定制的意义 2 | 3 | 如果 USB 定制不完美的话,可能会出现以下情况: 4 | 5 | 1. 蓝牙无法使用,因为蓝牙走 USB 协议 6 | 1. 无法正常进入系统安装界面,提示鼠标或者妙控板之类的画面 7 | 2. 睡眠立马就醒来,因为蓝牙等 USB 没有内建 8 | 3. USB 接口没有反应或者速率无法跑满 9 | 3. **建议安装系统前先定制一下 USB,避免后面遇到不必要的麻烦** 10 | 11 | ## 啰嗦一下 12 | 13 | 早期使用 Hackintool 工具定制 USB 这种方法比较多,但是到 macOS 11 后面的版本的时候,这种方法不再好用了,目前最完美的方法就是 Windows 下使用 USBToolBox 来定制 USB,最后再使用 Hackintool 简单微调修正一下。 14 | 15 | ## 运行工具 16 | 17 | USBToolBox 的官方项目地址:[https://github.com/USBToolBox/tool/](https://github.com/USBToolBox/tool/) 18 | 19 | 已编译的下载地址:[https://github.com/USBToolBox/tool/releases](https://github.com/USBToolBox/tool/releases) 20 | 21 | 蓝奏云的下载地址:[https://sqlsec.lanzouw.com/iqncozmga8b](https://sqlsec.lanzouw.com/iqncozmga8b) 22 | 23 | 下载 「Windows.exe」到 Windows 平台,双击即可运行: 24 | 25 | ![](https://image.3001.net/images/20220205/16440521534887.png) 26 | 27 | 28 | 29 | ## 探测端口 30 | 31 | 输入 **D** 然后回车来探测电脑上的端口: 32 | 33 | ![](https://image.3001.net/images/20220205/16440524912550.png) 34 | 35 | 此时的会出现如下界面: 36 | 37 | ![](https://image.3001.net/images/20220205/16440525512069.png) 38 | 39 | 这个界面每 5 秒会刷新一次。 40 | 41 | ## 插入 USB 设备 42 | 43 | 分部在各个 USB 接口插入 USB2.0 和 USB 3.X 的设备,每插入一次停留 5 秒钟,如果有 Type-C 设备的话,正反都要分别插入记录,最终我的笔记本最终探测端口的效果如下: 44 | 45 | ![](https://image.3001.net/images/20220205/16440525963508.png) 46 | 47 | 都挨个插一遍后,输入 **B** 回车即可返回主菜单: 48 | 49 | ![](https://image.3001.net/images/20220205/16440527625346.png) 50 | 51 | ## 查看端口 52 | 53 | 回到主菜单,输入 **S** 来查看端口探测的结果: 54 | 55 | ![](https://image.3001.net/images/20220206/16441622517201.png) 56 | 57 | 最终我的设备端口探测的结果如下: 58 | 59 | ![](https://image.3001.net/images/20220205/16440528379897.png) 60 | 61 | 可以看到 1、2、4、5、6、10、13、15、16 这个 9 个都是活跃的 USB 的端口。 62 | 63 | ## 导出端口 64 | 65 | 此时结果查看感觉没问题的话,输入 **K** 回车,即可导出 `UTBMap.kext` 文件: 66 | 67 | ![](https://image.3001.net/images/20220205/1644052964264.png) 68 | 69 | 一般情况下会保存在当前程序的同级目录下: 70 | 71 | ![](https://image.3001.net/images/20220205/16440529273682.png) 72 | 73 | ## OC 加载 Kexts 74 | 75 | 除了上述生成的 `UTBMap.kext` 文件以外,我们还需要配合 `USBToolBox.kext` 使用。 76 | 77 | USBToolBox.kext 官方下载地址为:[https://github.com/USBToolBox/kext/releases](https://github.com/USBToolBox/kext/releases) 78 | 79 | 1.10 国内的蓝奏云下载地址为:[https://sqlsec.lanzouw.com/iDh3gzmlxsj](https://sqlsec.lanzouw.com/iDh3gzmlxsj) 80 | 81 | 将上述两个 Kext 放到 OC 的 Kexts 文件夹下面并加载,然后记得取消 **XhciPortLimit** 勾选: 82 | 83 | ![](https://image.3001.net/images/20220205/1644055094772.png) 84 | 85 | 重启即可生效,至此你的 USB 基本上定制完了,正常使用不是问题了,强迫症换着可以继续看下去。 86 | 87 | ## Hackintool 验证 88 | 89 | 使用 Hackintool 查看发现 USB 各个接口均正常识别并工作: 90 | 91 | ![](https://image.3001.net/images/20220205/16440576715931.png) 92 | 93 | 不过各个接口都插一遍,发现这个 SS02 的端口确实多了,非强逼症可以不用管它,引用罗永浩那句名言:又不是不能用? 94 | 95 | ![](https://image.3001.net/images/20220205/16440624957394.jpg) 96 | 97 | ## Hackintool 优化 98 | 99 | 使用 Hackintool 重新删除掉多余的 SS02 端口,然后导出 USBPorts.kext,使用 OC 加载,然后取消之前 USBToolBox 的两个 Kexts 的启用状态: 100 | 101 | ![](https://image.3001.net/images/20220205/16440634206476.png) 102 | 103 | 重启,最终的效果如下: 104 | 105 | ![](https://image.3001.net/images/20220205/16440635134814.png) 106 | 107 | 这样强逼症终于舒服了,也没有多余的端口。 108 | 109 | !!! note "" 110 | 实际上还是有瑕疵,就是第一个 HS01 应该是 USB2 设备,解决方法就是使用 Hackintool 纠正再定制一下,不过国光我这里懒了,又不是不能用! 111 | 112 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 113 | 114 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 115 | 116 | 117 | 118 | 121 | 125 | 126 |
微信 119 |
120 |
122 | 支付宝 123 |
124 |
127 | 128 | 129 | 130 | 131 | 132 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 133 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-10.md: -------------------------------------------------------------------------------- 1 | 2 | **本章节由网友:2449016809 (QQ号)贡献** 3 | 4 | ## 官方主题 5 | 这是OpenCore官方提供的主题: 6 | [https://github.com/acidanthera/OcBinaryData/](https://github.com/acidanthera/OcBinaryData/) 7 | 你也可以自己制作图标同名替换即可,或者下载别人制作好的主题包替换,前面国光也贴出了一些主题下载网站,详见"Drivers说明"部分 8 | ## 设置 9 | - PickerMode -> External 10 | - PickerAttributes -> 129(0x81) 11 | ## 驱动 12 | - OpenCanopy.efi 13 | ## 必须的图标 14 | 如果缺少这些图标主题将不会生效 15 | 16 | - **BtnFocus** - 显示其他(关机和重启)按钮的焦点 (`BtnFocus.icns`) 17 | - **Cursor** - 鼠标光标 (`Cursor.icns`, 下同.) 18 | - **Dot** - 密码输入隐藏字符点 19 | - **Enter** - 密码输入输入符号 20 | - **Left** - 左侧的附加选择器条目 21 | - **Lock** - 密码锁 22 | - **Password** - 密码输入文本区 23 | - **Restart** - 附加按钮:重启 24 | - **Right** - 右侧的附加选择器条目 25 | - **Selected** - 选定的启动项背景 26 | - **Selector** - 显示所选条目 27 | - **SetDefault** - 在“设置默认值”模式下显示所选条目 28 | - **ShutDown** - 附加按钮:关机 29 | - **ExtHardDrive** - 可引导操作系统(外部驱动器上的系统,例如U盘) 30 | - **HardDrive** - 可引导操作系统(本地硬盘) 31 | 32 | ## 自动检测到的启动项 33 | OpenCore会自动检测该系统是Windows还是macOS来匹配启动项图标,macOS会自动检测系统版本,而Windows不会检测系统版本,至于是Windows11还是Windows10......OpenCore只能检测到这个系统是Windows。 34 | ### 图标 35 | ### Windows 36 | **HardDrive.icns**是基础启动项图标,如果你没有为启动项自定义图标,所有系统都会显示这个图标。 37 | - 如果你想给Windows自定义一个图标,你先自己设计好Windows图标之后命名为**Windows.icns**,当OpenCore启动时会自动为其匹配该图标。 38 | - macOS同理,你需要一个**Apple.icns**图标,否则将退回**HardDrive.icns** 39 | 40 | 那么问题来了,当你同一个机器上有多个Windows系统和多个mac系统(硬盘大就是任性)时该怎么让不同的Windows或者mac系统显示不同的图标呢。 41 | - 这时就需要一个文件`.contentFlavour`,这个文件你可以在Windows系统下用记事本创建一个txt文本文件,当你想给Windows11单独做一个启动项图标时,这个文本文件的内容你要这样填写**Windows11:Windows**这说明你还需要设计一个图标文件,名为`Windows11.icns`。该文本文件内容填好后保存退出,然后重命名该文本文件为`.contentFlavour`,该txt文件后缀`.txt`也要删除,文本文件的完整的名字就是重命名为`.contentFlavour`,然后把这个文件复制到Windows启动文件所在的目录一般都是`\EFI1\Microsoft\Boot\` 42 | - 同理如果你还有一个Windows10系统,上面说到的文本文件的内容就改为**Windows10:Windows**,同时你还需要准备一个`Windows10.icns`图标文件 43 | - 上面提到的图标文件如果缺少将会一步步回退,如果缺少`Windows10.icns`将回退到`Windows.icns`,如果又缺少`Windows.icns`,最终会回退到`HardDrive.icns` 44 | ### macOS 45 | macOS启动项就没这么麻烦了不需要`.contentFlavour`这个文件,因为OpenCore会自动检测mac系统版本,只需要对图标文件做一下手脚就可以了 46 | - `Apple12.icns`自动匹配为Monterey的图标 47 | - `Apple11.icns`自动匹配为Big Sur的图标 48 | - `Apple10_15.icns`自动匹配为Catalina的图标 49 | - `Apple10_14:Apple`自动匹配为Mojave的图标 50 | - `Apple10_13:Apple`自动匹配为High Sierra的图标 51 | 52 | 其他等等都一样 53 | ## 启动项标题 54 | ### Windows 55 | 自定义启动项标题和自定义图标的方式差不多,只不过txt文件要重命名为`.contentDetails` ,该文本文件的内容就为你想自定义的标题内容,比如你想命名为Windows11那么该文本文件的内容就为**Windows11**,该文件也是放在启动文件所在的目录`\EFI1\Microsoft\Boot\` 56 | ### macOS 57 | - 你想把mac的启动项标题命名为Monterey,则文本文件的内容就为`Monterey`,文件复制到`/System/Volumes/Preboot/UUID-number/System/Library/CoreServices`至于UUID每个人都不同,你只需要访达前往输入`/System/Volumes/Preboot/`接下来的目录用鼠标点击即可。 58 | - 这一步要在mac环境下进行`.contentDetails`在 Windows下是隐藏文件,终端输入以下命令即可显示隐藏文件 59 | 60 | 61 | ```shell 62 | defaults write com.apple.finder AppleShowAllFiles -boolean true;killall Finder 63 | ``` 64 | 65 | 终端输入以下命令隐藏隐藏文件 66 | 67 | ```shell 68 | defaults write com.apple.finder AppleShowAllFiles -boolean false;killall Finder 69 | ``` 70 | - 此项工作需要关闭SIP,如何关闭请看OC配置的Misc章节最后部分 71 | 72 | ## 手动添加的启动项 73 | 这个就比较简单了,不需要上述的两个文件,直接在`config.plist`文件中修改配置就好 74 | `Misc -> Boot -> Entries`启动项条目中有一项`Flavour`该项内容填法和上述自动过检测到的Windows自定义启动项图标填法一样,例如你想为Windows11自定义图标,应这样填写`Windows11:Windows` 75 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-12.md: -------------------------------------------------------------------------------- 1 | ## 成品效果 2 | 3 | ![](https://image.3001.net/images/20220505/16517302956257.png) 4 | 5 | 6 | 7 | 使用 [HiDPi 的脚本](/6-实用姿势/6-5.html#reloaded)也可以自定义显示器图标,但是授人以鱼不如授人以渔,废话不多说,上教程。 8 | 9 | ## 查看显示器信息 10 | 11 | 使用 Hackintool 查看显示器信息: 12 | 13 | ![](https://image.3001.net/images/20220505/16517303732971.png) 14 | 15 | 以上面的 DP 显示器为例,提取出关键信息(后面要用): 16 | 17 | - 供应商 ID = **216D** 18 | - 产品 ID = **2800** 19 | 20 | ## 创建文件夹和图标文件 21 | 22 | 前往:`/Library/Displays/Contents/Resources/Overrides` 文件夹下,只需要两个步骤: 23 | 24 | 1. 创建 `DisplayVendorID-{供应商ID}`文件夹 25 | 2. 将你的图标命名为:`DisplayProductID-{产品ID}.icns` 26 | 27 | ![](https://image.3001.net/images/20220505/16517305884893.png) 28 | 29 | 替换完重启就完事了。 30 | 31 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-4.md: -------------------------------------------------------------------------------- 1 | ## 前言 2 | 3 | 首先说明一下这个双显卡指的不是两个独显,而且核显和独显,就像下面这个图一样,可以看到核显和独显都可以正常显示: 4 | 5 | ![](https://image.3001.net/images/20220212/16446323248620.png) 6 | 7 | 实际上这个台式机双显卡配置不是最标准的配置,但是有些网友就比较好奇怎么做到的,这个[问题](https://github.com/sqlsec/MSI-MAG-B560M-MORTAR-i7-10700/issues/8)被问了很久了: 8 | 9 | ![](https://image.3001.net/images/20220212/16446322411377.png) 10 | 11 | 既然如此,不如直接开一个章节记录分享一下吧,实际上还是非常简单的。 12 | 13 | ## 核显仅计算 14 | 15 | 下面是国光我的黑苹果台式机平常使用的默认策略(因为不怎么使用 HDMI 所以没有定制接口数据): 16 | 17 | ![](https://image.3001.net/images/20220213/16447223759902.png) 18 | 19 | AAPL,ig-platform-id 这里使用的是 `0300C89B`,不输出信号(因为已经有独显了),而且白苹果的 iMac 默认也是这个调度策略,即核显仅计算,不驱动显示器,完整的 UHD 630 的 AAPL,ig-platform-id 可参考下表: 20 | 21 | | AAPL,ig-platform-id | 解释说明 | 22 | | :------------------ | :---------------------------------------------------- | 23 | | **`07009B3E`** | 当桌面 iGPU 用于驱动显示器时使用 | 24 | | **`00009B3E`** | 如果`07009B3E` 不起作用的话,可以考虑使用这个 ID 看看 | 25 | | **`0300C89B`** | 当桌面 iGPU 仅用于计算任务而不驱动显示器时使用 | 26 | 27 | - device-id:9B3E0000 28 | - 解决一些驱动异常问题,提高兼容度 29 | 30 | 可以看到国光我 DeviceProperties 这里,显卡部分并没有注入很多参数,这是因为我的 BIOS 设置了 `DVMT Pre-Allocated: 64MB`,所以并不需要 framebuffer-patch-enable、framebuffer-stolenmem 以及 framebuffer-fbmem 参数了。 31 | 32 | 33 | 34 | 这种情况下我们来打开各个软件识别一下: 35 | 36 | ![](https://image.3001.net/images/20220212/16446510483478.png) 37 | 38 | 可以看到 Hackintool 的杂项里面和系统信息里面也只识别到了 1 个独显,Intel Power Gadget 里面检测到了核显的频率,Video Proc 双硬解正常。 39 | 40 | ## 让核显驱动显示器 41 | 42 | 既然知道是核显没有驱动显示器的原因,我们直接将 AAPL,ig-platform-id 改为 `07009B3E` 试试看呢: 43 | 44 | ![](https://image.3001.net/images/20220213/16447223477291.png) 45 | 46 | 现在我看下各个软件的识别情况: ![](https://image.3001.net/images/20220212/16446525224302.png) 47 | 48 | 可以看到除了 Hackintool 这里识别到了两个显卡以外,其他软件并没有啥变化,系统信息里面依然只可以看到独显。 49 | 50 | 另外补充一下,使用 GeekBench 5 跑分软件也是可以识别到两个显卡了: 51 | 52 | ![](https://image.3001.net/images/20220212/16446536248013.png) 53 | 54 | 虽然有进展了,但是系统信息里面依然没有识别到显卡,所以革命尚未成功,我们仍需努力。 55 | 56 | ## 系统信息显示独显和核显 57 | 58 | 实际上这个姿势非常小众,和你的 OC 配置关系都不大了。这个问题我最终在远景里面得到了答案,原贴地址为: 59 | 60 | [台式机完美的显示独显和核显的正确姿势是?](https://bbs.pcbeta.com/viewthread-1920126-1-1.html) 61 | 62 | 最终 12F 给出了正确答案: 63 | ![](https://image.3001.net/images/20220213/1644722687612.png) 64 | 65 | 确实,这个实际上和主板是有关系的,主板里面设置核显优先显示就 OK 了,现在想一下为啥我的室友那个成功了呢?是因为当初矿潮,他一开始是用核显的,独显是后加的,所以后面才纯属巧合出现了双显卡的情况。 66 | 67 | 68 | 69 | 国光我的主板为 AsRock 华擎的 Z490 钢铁传奇,我的 BIOS 只需要开启如下两个设置即可: 70 | 71 | - 「高级」-「芯片组配置」-「主图形适配器」-「**板载**」 72 | - 「高级」-「芯片组配置」-「IGPU 多监视器」-「**启用**」 73 | - 如果不启用的话,在有独显的情况下,会禁用掉核显 74 | - 很多技嘉的 B 系列主板默认就是禁用的 很难受 75 | 76 | 那么我们来看一下最终的效果图: 77 | 78 | ![](https://image.3001.net/images/20220213/16447231169209.png) 79 | 80 | 再看下核显的情况: 81 | 82 | ![=](https://image.3001.net/images/20220213/16447231479471.png) 83 | 84 | 最后上一个总的图就差不多了: 85 | 86 | ![](https://image.3001.net/images/20220213/16447234089799.jpg) 87 | 88 | ## 提醒一下 89 | 90 | 我写这个章节只是纯属好奇,实际上这个姿势并不实用。 91 | 92 | 在台式机有免驱独显的情况下,不建议开启核显作为显示器输出,所以建议搭建进 BIOS 里面依然设置 PCIE 独显为主要的显示设备,然后进 OC 换一个不做显示输出的 **AAPL,ig-platform-id**,因为这是 iMac 白苹果的默认策略,黑苹果的最高境界就是向白苹果靠拢,另外同时也会提高开机的速度,缩短开机时间,何乐而不为呢? 93 | 94 | ## 支持一下 95 | 96 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 97 | 98 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 99 | 100 | 101 | 102 | 105 | 109 | 110 |
微信 103 |
104 |
106 | 支付宝 107 |
108 |
111 | 112 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 113 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-5.md: -------------------------------------------------------------------------------- 1 | 关于 HiDPi 几年前之前写过一篇,感兴趣的网友可以去看看:[HiDPI 是什么?以及黑苹果如何开HiDPI](https://www.sqlsec.com/2018/09/hidpi.html) 2 | 3 | 这个这个教程里面就只写关键的操作了,不再啰嗦了。 4 | 5 | ## HiDPi 是啥 6 | 7 | 简单来说是苹果一直使用的显示技术,通过多个像素点合成一个像素点来提高清晰度,当显示器达到苹果定义的视网膜标准时,会自动开启 HiDPi,MBP 全系列都开启了 HiDPi,如果你自己购买 4k 显示器的话,默认也是开启 HiDPi 的,或者使用 4k 笔记本黑苹果的时候(XPS 系列),也是自动开启 HiDPi 的。 8 | 9 | HiDPi 因为牺牲像素点的原因,虽然看上去会比原来清晰,但是实际看上去的分辨率会低,相当于是牺牲分辨率换清晰度,所以 1080P 显示器开启 HiDPi 的话,最终显示的效果接近于 720P,这么看的话,2k 分辨率的设备更适合 HiDPi(高不成 低不就)。 10 | 11 | ## 开启 HiDPi 效果前 12 | 13 | ZenBoook 13 默认情况下的效果: 14 | 15 | ![](https://image.3001.net/images/20220205/16440471235590.png) 16 | 17 | 可以看到图片的字体还是比较模糊的,看着不是很舒服。 18 | 19 | ## 开启 HiDPi 效果后 20 | 21 | Zenbook 13 开启 HiDPi 后: 22 | 23 | ![](https://image.3001.net/images/20220205/16440471653893.png) 24 | 25 | 可以看到明显清晰了很多,看上去很清爽,虽然牺牲了一点分辨率,但是值! 26 | 27 | ## 如何开启 HiDPi 28 | 29 | 实际上开启 HiDPi 并不复杂,有成熟的轮子工具可以使用了:**脚本的 Github 项目地址**: [GitHub - xzhih/one-key-hidpi: Enable macOS HiDPI](https://github.com/xzhih/one-key-hidpi) 30 | 31 | 只需要一条命令即可开启 HiDPi: 32 | 33 | ```bash 34 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)" 35 | ``` 36 | 37 | 不过官方项目在 Github 很容易被墙,如果访问 Github 出现网络超时的情况,可以使用下面我放在国内的脚本命令: 38 | 39 | ```bash 40 | sh -c "$(curl -fsSL https://html.sqlsec.com/hidpi.sh)" 41 | ``` 42 | 43 | 国内的脚本是定期同步 Github 官方脚本的,主要代码转移到了国内的码云,基本上国内是可以很顺畅的使用的。 44 | 45 | ## 脚本使用细节一 46 | 47 | ![](https://image.3001.net/images/20220205/164404753673.png) 48 | 49 | 上面是国光常用的选项,因为这是一个双屏笔记本,所以列出了 2 个显示器,如果你们外接显示器的话,这里也会显示 2 个显示器。另外选择显示器 ICON 图标这里大家也可以根据自己的喜好来。 50 | 51 | ## 脚本使用细节二 52 | 53 | ![](https://image.3001.net/images/20220205/16440475813360.png) 54 | 55 | 一般情况下 1080P 的显示器,分辨率配置这里选择 1 和 2 都可以,具体大家自己尝试看看。 56 | 57 | 不过有些笔记本的分辨率比较小众,比如之前的 驰为 Corebook X 14,它的分辨率为:2160x1440 58 | 59 | 这个时候就得自己拿计算器算好分辨率了,最终驰为这个 笔记本的 HiDPi 分辨率为: 60 | 61 | **1920x1280 1620x1080 1380x920 1080x720** 62 | 63 | 其中在 1620x1080 面积会比较大,但是清晰度不及 1380x920,居然网友们可以根据自己的喜好来。 64 | 65 | ## 开启 HiDPi 的设置 66 | 67 | 设置 - 显示器 里面选择**缩放**,可以看到开启 HiDPi 的显示器的效果,有小窗口的图标: 68 | 69 | ![](https://image.3001.net/images/20220205/16440478171055.png) 70 | 71 | 不过有些显示器是没有这个小窗口的,不过这种情况下也会有 HiDPi 的文字提醒: 72 | 73 | ![](https://image.3001.net/images/20220207/16441642901658.png) 74 | 75 | ## 没开 HiDPi 的设置 76 | 77 | 没有开 HiDPi 的显示器选择**缩放**的话,只会通过文字形式(无 HiDPi 标识)列出来各个分辨率: 78 | 79 | ![](https://image.3001.net/images/20220205/16440479704621.png) 80 | 81 | ## 开启 HiDPi 的缺点 82 | 83 | 凡是必有利弊,除了开启 HiDPi 会牺牲分辨率(显示面积)以外,还会加重显卡负担,如果你的核显或者 CPU 本身性能就薄弱的话,就会造成明显的卡顿现象。 84 | 85 | 说到这里有朋友肯定会问了?为啥会加重显卡负担呢?看下面这种开启 HiDPi 的图你就明白了: 86 | 87 | ![](https://image.3001.net/images/20220205/16440485575047.png) 88 | 89 | 因为 HiDPi 是牺牲分辨率换清晰度的,当你设置的 UI 分辨率要高一点的时候,必然需要更大的分辨率,原来的物理分辨率并不能满足,此时显卡会模拟输出更高的分辨率,这也就是 HiDPi 可能会造成系统卡顿的原因。(常见于核显,独显的话,无脑开启不会错) 90 | 91 | 92 | 93 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 94 | 95 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 96 | 97 | 98 | 99 | 102 | 106 | 107 |
微信 100 |
101 |
103 | 支付宝 104 |
105 |
108 | 109 | 110 | 111 | 112 | 113 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 114 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-6.md: -------------------------------------------------------------------------------- 1 | 参考官方的这个来就行了:[https://dortania.github.io/OpenCore-Post-Install/universal/sleep.html](https://dortania.github.io/OpenCore-Post-Install/universal/sleep.html) 2 | 3 | 不懂的配合谷歌翻译你可以的,加油,国光精力有限,肝不动了,还是这种授人以渔的方式比较省心。 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 12 | 13 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 14 | 15 | 16 | 17 | 20 | 24 | 25 |
微信 18 |
19 |
21 | 支付宝 22 |
23 |
26 | 27 | 28 | 29 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) 30 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-7.md: -------------------------------------------------------------------------------- 1 | ## 博通免驱网卡 2 | 3 | 使用 `BlueToolFixup.kext` 替代掉 `BrcmBluetoothInjector.kext` 即可。 4 | 5 | 最终使用驱动如下: 6 | 7 | - BlueToolFixup.kext 8 | - BrcmFirmwareData.kext 9 | - BrcmPatchRAM3.kext 10 | 11 | ## Intel 无线网卡 12 | 13 | 使用 `BlueToolFixup.kext` 替代掉 `IntelBluetoothInjector.kext` 即可。 14 | 15 | !!! quote "BlueToolFixup.kext 可以从这里下载:[https://github.com/acidanthera/BrcmPatchRAM/releases](https://github.com/acidanthera/BrcmPatchRAM/releases)" 16 | 17 | 最终使用驱动如下: 18 | 19 | - BlueToolFixup.kext 20 | - IntelBluetoothFirmware.kext 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/6-实用姿势/6-8.md: -------------------------------------------------------------------------------- 1 | 黑苹果这块经常在 NVME 硬盘这里翻车,比如常见的 三星 Samsung PM961/PM981/PM981a/PM991 系列、镁光 Micron 2200V MTFDHBA512TCK、Micron 2200S 等,关于无解的硬盘详细可以参考教程的:[硬件限制 - 硬盘支持](/1-基础知识/1-2/#_2) 2 | 3 | ## PXPX 方法 4 | 5 | 需要先在 Windows 下查看到具体的硬盘路径,不同的电脑都不太一样,实际路径以你的实际为准: 6 | 7 | 8 | 9 | 然后将下面的内容`_SB_.PCI0.RP21`替换成你自己看到实际路径就行了,接着将文件保存为 **SSDT-RP.PXSX-disbale.aml**,OC 加载这个 SSDT 即可: 10 | 11 | ```c 12 | DefinitionBlock ("", "SSDT", 2, "OCLT", "noRPxx", 0x00000000) 13 | { 14 | External (_SB_.PCI0.RP21, DeviceObj) 15 | 16 | Scope (_SB.PCI0.RP21) 17 | { 18 | OperationRegion (DE01, PCI_Config, 0x50, One) 19 | Field (DE01, AnyAcc, NoLock, Preserve) 20 | { 21 | , 4, 22 | DDDD, 1 23 | } 24 | 25 | Method (_STA, 0, Serialized) // _STA: Status 26 | { 27 | If (_OSI ("Darwin")) 28 | { 29 | Return (Zero) 30 | } 31 | } 32 | } 33 | 34 | Scope (\) 35 | { 36 | If (_OSI ("Darwin")) 37 | { 38 | \_SB.PCI0.RP21.DDDD = One 39 | } 40 | } 41 | } 42 | ``` 43 | 44 | ## 屏蔽独显法 45 | 46 | 这个其实是国光我自己命名的,因为屏蔽独显也是这种姿势,有些 NVME 硬盘控制器也可以使用这种方法来屏蔽。 47 | 48 | 需要先在 Windows 下查看到具体的硬盘路径,不同的电脑都不太一样,实际路径以你的实际为准: 49 | 50 | ![](https://image.3001.net/images/20220505/16517192033914.jpg) 51 | 52 | 根据上图我们的 NVME 硬盘的路径为: 53 | 54 | ``` 55 | _SB_.PCI0.GPP0 56 | ``` 57 | 58 | 然后将下面的内容`_SB_.PCI0.GPP0`替换成你自己看到实际路径就行了 : 59 | 60 | ```c 61 | DefinitionBlock ("", "SSDT", 2, "DRTNIA", "spoof", 0x00000000) 62 | { 63 | External (_SB_.PCI0.GPP0, DeviceObj) 64 | 65 | Method (_SB_.PCI0.GPP0._DSM, 4, NotSerialized) // _DSM: Device-Specific Method 66 | { 67 | If ((!Arg2 || (_OSI ("Darwin") == Zero))) 68 | { 69 | Return (Buffer (One) 70 | { 71 | 0x03 // . 72 | }) 73 | } 74 | 75 | Return (Package (0x0A) 76 | { 77 | "name", 78 | Buffer (0x09) 79 | { 80 | "#display" 81 | }, 82 | 83 | "IOName", 84 | "#display", 85 | "class-code", 86 | Buffer (0x04) 87 | { 88 | 0xFF, 0xFF, 0xFF, 0xFF // .... 89 | }, 90 | 91 | "vendor-id", 92 | Buffer (0x04) 93 | { 94 | 0xFF, 0xFF, 0x00, 0x00 // .... 95 | }, 96 | 97 | "device-id", 98 | Buffer (0x04) 99 | { 100 | 0xFF, 0xFF, 0x00, 0x00 // .... 101 | } 102 | }) 103 | } 104 | } 105 | ``` 106 | 107 | 108 | 109 | 在这个喧嚣浮躁的时代,坚持写博客输出原创文章的人还有多少呢?写博客感觉一直是用爱发电的状态...... 110 | 111 | 如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等) 112 | 113 | 114 | 115 | 118 | 122 | 123 |
微信 116 |
117 |
119 | 支付宝 120 |
121 |
124 | 125 | 126 | 127 | 128 | 129 | 国光我也写了一个打赏页面用以感谢支持我的朋友,详情请看 [打赏列表 | 国光](https://www.sqlsec.com/reward/) -------------------------------------------------------------------------------- /docs/8-OC排错/8-1.md: -------------------------------------------------------------------------------- 1 | 2 | ## Recovery 3 | 4 | ### EB 5 | 6 | ![](https://image.3001.net/images/20220505/16517246284025.jpg) 7 | 8 | ### 初始化 9 | 10 | ![](https://image.3001.net/images/20220505/16517249478895.jpg) 11 | 12 | ### 加载 ACPI 13 | 14 | ![](https://image.3001.net/images/20220505/16517251206663.jpg) 15 | 16 | 然后加载 VirtualSMC 开始跑 CPU 部分的 ACPI: 17 | 18 | ![](https://image.3001.net/images/20220505/16517252553068.jpg) 19 | 20 | ### GPU 传感器和 NVME 21 | 22 | AMD GPU 传感器和 NVME 相关: 23 | 24 | ![](https://image.3001.net/images/20220505/16517254169254.jpg) 25 | 26 | 然后可以看到 NVME 控制器成功加载: 27 | 28 | ![](https://image.3001.net/images/20220505/16517255657636.jpg) 29 | 30 | ### NVRAM 和 安全策略 31 | 32 | ![](https://image.3001.net/images/20220505/16517261783169.jpg) 33 | 34 | ### 网络和硬盘相关 35 | 36 | 加载了以太网卡驱动,并且初始化磁盘工具,涉及到硬盘部分: 37 | 38 | ![](https://image.3001.net/images/20220505/16517266097712.jpg) 39 | 40 | ### XCMP 变频 、启动项加载 41 | 42 | XCMP 与 XNU 电源管理相关,另外还加载了 boot-args 启动项: 43 | 44 | ![](https://image.3001.net/images/20220505/16517269976899.jpg) 45 | 46 | ### 无线网卡相关 47 | 48 | ![](https://image.3001.net/images/20220505/16517272662528.jpg) 49 | 50 | ### 加载基础系统的设置 51 | 52 | 包括:系统语言、基础系统的文件等 53 | 54 | ![](https://image.3001.net/images/20220505/16517274497167.jpg) 55 | 56 | ### 基础系统加载 57 | 58 | ![](https://image.3001.net/images/20220505/1651727676426.jpg) 59 | 60 | ![](https://image.3001.net/images/20220505/16517279549134.jpg) 61 | 62 | ![](https://image.3001.net/images/20220505/16517280083985.jpg) 63 | 64 | ### USB 控制器 65 | 66 | ![](https://image.3001.net/images/20220505/16517281192231.jpg) 67 | 68 | ### 基础系统加载 69 | 70 | ![](https://image.3001.net/images/20220505/16517282979302.jpg) 71 | 72 | ![](https://image.3001.net/images/20220505/16517283512558.jpg) 73 | 74 | ![](https://image.3001.net/images/20220505/16517284213216.jpg) 75 | 76 | ### 基础加载收尾 77 | 78 | 一般这里是核显加载,然后 USB 这些也开始收尾了: 79 | 80 | ![](https://image.3001.net/images/20220505/16517285654054.jpg) 81 | 82 | ## 正常进系统 83 | 84 | 正常加载和上面的 Recovery 是差不多的,没有太多的区别,国光这里就不再赘述了,只列举不一样的 85 | 86 | ### 基础系统加载 87 | 88 | 区别是,基础系统加载后,正常系统这里会对 USB 控制器进行检测: 89 | 90 | ![](https://image.3001.net/images/20220505/1651728936671.jpg) 91 | 92 | ### 基础加载收尾 93 | 94 | ![](https://image.3001.net/images/20220505/16517290851414.jpg) 95 | 96 | ![](https://image.3001.net/images/20220505/16517291508218.jpg) 97 | 98 | ### 要成功的标志 99 | 100 | 出现下面标记的这个多半是要成功了: 101 | 102 | ![](https://image.3001.net/images/20220505/16517292444454.jpg) 103 | -------------------------------------------------------------------------------- /docs/8-OC排错/8-2.md: -------------------------------------------------------------------------------- 1 | 排错建议开启 `-v` 模式后,多多谷歌,你去问别人的话,别人的脑子又不是机器,这些千篇一律十分类似的报错,除了几个典型的 其他真的很难直接判断出来。 2 | 3 | 另外如果你实在要去请教别人,最起码你得**先看教程配置过一份 EFI**,否则你拿别人的 EFI 去问为啥报错了,这个会很让人讨厌。因为谁知道你的 EFI 从哪里搞来的,如果你拿的 EFI 是一坨屎的话,去找别人拍错只会互相加重对方的脾气。 4 | 5 | 可能对你们排错有用的资料: 6 | 7 | - [【持续更新】OpenCore引导-v各种卡及OC引导常见问题解决方案速查表合集](http://imacos.top/2021/01/19/0154/) 8 | - [OpenCore配置错误、故障与解决办法(05月02日更新)](https://shuiyunxc.github.io/2020/04/06/Faults/index/) 9 | 10 | 如果拍错没有帮助的话,参考我的教程来依然有错,可以考虑参考被人的教程或者 OC 官方教程: 11 | 12 | - [黑苹果快速安装手册](https://www.yuque.com/hejianzhao/zgnsc5) 13 | 14 | ## AppleUSBHostPort::createDevice: failed to create device 15 | 16 | ![](https://image.3001.net/images/20220320/1647739675880.jpg) 这是因为 XhciPortLimit 与 macOS 11.3+ 高版本冲突造成的,可以先参考 [USB 定制章节](/6-实用姿势/6-1.html#reloaded) 定制下你的 USB 接口,然后在 Kernel -> Quirks 下禁用 `XhciPortLimit`。 17 | 18 | ## ACPI Error:[\\\_SB\_.PCI0.XHC\_.RHUB.HS11] Namespace lookup failure 19 | 20 | 下面这个错误虽然一大堆,但实际上最关键的就是我圈出来的部分: 21 | 22 | ![](https://image.3001.net/images/20220330/16486487907545.jpg) 23 | 24 | 打一个 [SSDT-RHUB.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-RHUB.aml) 即可解决问题,修复某些 400 系列主板的问题,需要关闭 RHUB 设备并强制 macOS 手动重建端口。 25 | 26 | ## AppleUSBHostPort::enumeratDeviceComplete_block_invoke 27 | 28 | ![](https://image.3001.net/images/20220331/16487272072775.jpg) 29 | 30 | 这种情况是 USB 出了问题,如果换其他端口没有解决的话,尝试参考 [USB 定制](/6-实用姿势/6-1.html#reloaded) 教程先提前定制一下即可。 31 | 32 | ## ACPI Warning: Unsupported module-level 33 | 34 | ![](https://image.3001.net/images/20220409/16494861313450.jpg) 35 | 36 | 看上去好像是 apfs_module_start:2568 的硬盘问题,实际上这个报错关键是上面那个 ACPI 报错,在七彩虹主板上遇到过,这是因为 SSDT 除了问题,想办法解决 SSDT 拍错就 OK 了。 37 | 38 | ## com.apple.xpc.launchd 39 | 40 | ![](https://image.3001.net/images/20220416/16501091812562.jpg) 41 | 42 | 这种常出现在一些 AMD 或者 intel 非正式版 CPU 上(这个确实坑啊),解决方法就是仿冒 CPU 进行安装就酱! 43 | 44 | ## AppleUSBXHCI::creatPorts: unsupported speed mantissa 1248 exponent 2 45 | 46 | 顾名思义这种卡 USB 了,在一个 Dell 笔记本上遇到过,好像 USB 控制器都是 3.0 的,但是使用 了 USB2.0 U盘安装就会这样: 47 | 48 | ![](https://image.3001.net/images/20220501/16513781971208.jpg) 49 | 50 | 去买个 USB3.0 的 U 盘,然后参考 [USB 定制教程](/6-实用姿势/6-1/)就行了。 51 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | template: overrides/home.html 3 | title: 主页 4 | --- 5 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: 国光的黑苹果安装教程:手把手教你配置 OpenCore 2 | site_url: https://apple.sqlsec.com 3 | site_author: 国光 4 | site_description: "国光的黑苹果安装教程:手把手教你配置 OpenCore" 5 | repo_name: sqlsec/Hackintosh 6 | repo_url: https://github.com/sqlsec/Hackintosh 7 | copyright: Copyright © 2021 - 2022 国光 8 | theme: 9 | name: material 10 | custom_dir: overrides 11 | font: false 12 | language: zh 13 | icon: 14 | logo: material/apple 15 | repo: fontawesome/brands/git-alt 16 | favicon: https://image.3001.net/images/20200922/16007336487809.jpg 17 | features: 18 | - navigation.tabs 19 | - navigation.tabs.sticky 20 | - search.suggest 21 | - search.highlight 22 | - search.share 23 | palette: 24 | # Toggle light mode 25 | - scheme: default 26 | primary: indigo 27 | accent: indigo 28 | toggle: 29 | icon: material/weather-night 30 | name: 切换深色模式 31 | # Toggle dark mode 32 | - scheme: slate 33 | primary: black 34 | accent: blue 35 | toggle: 36 | icon: material/weather-sunny 37 | name: 切换浅色模式 38 | markdown_extensions: 39 | - admonition 40 | - pymdownx.details 41 | - pymdownx.superfences 42 | - def_list 43 | - pymdownx.tasklist: 44 | custom_checkbox: true 45 | - toc: 46 | permalink: true 47 | - pymdownx.tabbed: 48 | alternate_style: true 49 | plugins: 50 | - git-revision-date 51 | - search: 52 | prebuild_index: true 53 | lang: 54 | - en 55 | - ja 56 | edit_uri: edit/main/docs/ 57 | extra: 58 | generator: false 59 | social: 60 | - icon: fontawesome/brands/redhat 61 | link: https://www.sqlsec.com 62 | name: 国光 63 | nav: 64 | - "index.md" 65 | - 前言介绍: 66 | - 背景: "0-前言介绍/0-1.md" 67 | - 啰嗦: "0-前言介绍/0-2.md" 68 | - 基础知识: 69 | - 基操勿六: "1-基础知识/1-1.md" 70 | - 硬件限制: "1-基础知识/1-2.md" 71 | - 寻找硬件: "1-基础知识/1-3.md" 72 | - 专业术语: "1-基础知识/1-4.md" 73 | - U盘制作: 74 | - 下载镜像: "2-U盘制作/2-1.md" 75 | - 写入镜像: "2-U盘制作/2-2.md" 76 | - 结构讲解: "2-U盘制作/2-3.md" 77 | - 准备工作: 78 | - BIOS设置: "3-准备工作/3-1.md" 79 | - OC 文件结构: "3-准备工作/3-2.md" 80 | - 准备 ACPI: "3-准备工作/3-3.md" 81 | - 准备 Kexts: "3-准备工作/3-4.md" 82 | - Drivers 说明: "3-准备工作/3-5.md" 83 | - OC 编辑器: "3-准备工作/3-6.md" 84 | - 初步配置: "3-准备工作/3-7.md" 85 | - Kexts 微调: "3-准备工作/3-8.md" 86 | - 配置 OC: 87 | - ACPI: "4-OC配置/4-1.md" 88 | - Booter: "4-OC配置/4-2.md" 89 | - DeviceProperties: "4-OC配置/4-3.md" 90 | - Kernel: "4-OC配置/4-4.md" 91 | - Misc: "4-OC配置/4-5.md" 92 | - NVRAM: "4-OC配置/4-6.md" 93 | - PlatformInfo: "4-OC配置/4-7.md" 94 | - UEFI: "4-OC配置/4-8.md" 95 | - 实战演示: 96 | - 机器概览: 5-实战演示/5-1.md 97 | - BIOS 设置: 5-实战演示/5-2.md 98 | - 磁盘划分: 5-实战演示/5-3.md 99 | - 安装 Windows: 5-实战演示/5-4.md 100 | - 安装 macOS: 5-实战演示/5-5.md 101 | - 完善引导: 5-实战演示/5-6.md 102 | - 更新系统: 5-实战演示/5-7.md 103 | - 实用姿势: 104 | - USB 定制: 6-实用姿势/6-1.md 105 | - 编译触控板驱动: 6-实用姿势/6-2.md 106 | - 触控板中断示例: 6-实用姿势/6-3.md 107 | - 台式机双显卡显示: 6-实用姿势/6-4.md 108 | - 开启 HiDPi: 6-实用姿势/6-5.md 109 | - 睡眠问题排查: 6-实用姿势/6-6.md 110 | - macOS 12 蓝牙: 6-实用姿势/6-7.md 111 | - 屏蔽不支持的硬盘: 6-实用姿势/6-8.md 112 | - AMD 免驱独显优化: 6-实用姿势/6-9.md 113 | - OC 主题与启动项: 6-实用姿势/6-10.md 114 | - macOS 下触屏驱动: 6-实用姿势/6-11.md 115 | - 自定义显示器图标: 6-实用姿势/6-12.md 116 | - 核显接口输出定制: 6-实用姿势/6-13.md 117 | - 完美黑果: 118 | - 黑苹果: 7-完美黑果/7-1.md 119 | - 白苹果: 7-完美黑果/7-2.md 120 | - OC排错: 121 | - 正常日志: 8-OC排错/8-1.md 122 | - 异常日志: 8-OC排错/8-2.md 123 | - 成果分享: 124 | - ITX QQLS: 9-成果分享/9-1.md 125 | - 13代装机方案: 9-成果分享/9-2.md 126 | - 常见 QA: 127 | - 使用方法: 10-常见QA/10-1.md 128 | - 问题列表: 10-常见QA/10-2.md -------------------------------------------------------------------------------- /overrides/404.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% extends "main.html" %} 5 | {% block content %} 6 |

404 - Not found

7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /overrides/assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/overrides/assets/images/favicon.png -------------------------------------------------------------------------------- /overrides/assets/javascripts/lunr/min/lunr.hi.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Za-zA-Z0-90-9",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}}); -------------------------------------------------------------------------------- /overrides/assets/javascripts/lunr/min/lunr.ja.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursors||e>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor>1),f=0,l=o0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); -------------------------------------------------------------------------------- /overrides/assets/javascripts/lunr/min/lunr.th.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}}); -------------------------------------------------------------------------------- /overrides/assets/javascripts/lunr/min/lunr.vi.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}}); -------------------------------------------------------------------------------- /overrides/assets/javascripts/lunr/min/lunr.zh.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("nodejieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 以 于 上 他 而 后 之 来 及 了 因 下 可 到 由 这 与 也 此 但 并 个 其 已 无 小 我 们 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 从 到 得 打 凡 儿 尔 该 各 给 跟 和 何 还 即 几 既 看 据 距 靠 啦 了 另 么 每 们 嘛 拿 哪 那 您 凭 且 却 让 仍 啥 如 若 使 谁 虽 随 同 所 她 哇 嗡 往 哪 些 向 沿 哟 用 于 咱 则 怎 曾 至 致 着 诸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}}); -------------------------------------------------------------------------------- /overrides/assets/stylesheets/palette.cbb835fc.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["src/assets/stylesheets/palette/_scheme.scss","../../../src/assets/stylesheets/palette.scss","src/assets/stylesheets/palette/_accent.scss","src/assets/stylesheets/palette/_primary.scss","src/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"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","file":"palette.css"} -------------------------------------------------------------------------------- /overrides/main.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% extends "base.html" %} 5 | -------------------------------------------------------------------------------- /overrides/mkdocs_theme.yml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016-2022 Martin Donath 2 | 3 | # Permission is hereby granted, free of charge, to any person obtaining a copy 4 | # of this software and associated documentation files (the "Software"), to 5 | # deal in the Software without restriction, including without limitation the 6 | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | # sell copies of the Software, and to permit persons to whom the Software is 8 | # furnished to do so, subject to the following conditions: 9 | 10 | # The above copyright notice and this permission notice shall be included in 11 | # all copies or substantial portions of the Software. 12 | 13 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE 16 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | # IN THE SOFTWARE. 20 | 21 | # Language for theme localization 22 | language: en 23 | 24 | # Text direction (can be ltr or rtl), default: ltr 25 | direction: 26 | 27 | # Feature flags for functionality that alters behavior significantly, and thus 28 | # may be a matter of taste 29 | features: [] 30 | 31 | # Sets the primary and accent color palettes as defined in the Material Design 32 | # documentation - possible values can be looked up in the getting started guide 33 | palette: 34 | 35 | # Primary color used for header, sidebar and links, default: indigo 36 | primary: 37 | 38 | # Accent color for highlighting user interaction, default: indigo 39 | accent: 40 | 41 | # Fonts used by Material, automatically loaded from Google Fonts - see the site 42 | # for a list of available fonts 43 | font: 44 | 45 | # Default font for text 46 | text: Roboto 47 | 48 | # Fixed-width font for code listings 49 | code: Roboto Mono 50 | 51 | # From Material 5.x on, icons are inlined into the HTML and CSS as SVGs. Some 52 | # icons that are part of the HTML can be configured and replaced 53 | icon: 54 | 55 | # Favicon to be rendered 56 | favicon: assets/images/favicon.png 57 | 58 | # Material includes the search in the header as a partial, not as a separate 59 | # template, so it's correct that search.html is missing 60 | include_search_page: false 61 | 62 | # Material doesn't use MkDocs search functionality but provides its own. For 63 | # this reason, only the search index needs to be built 64 | search_index_only: true 65 | 66 | # Static pages to build 67 | static_templates: 68 | - 404.html 69 | -------------------------------------------------------------------------------- /overrides/overrides/assets/stylesheets/main.8a4f01ed.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["src/overrides/assets/stylesheets/main/_typeset.scss","../../../../src/overrides/assets/stylesheets/main.scss","src/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/main/layout/_banner.scss","src/overrides/assets/stylesheets/main/layout/_hero.scss","src/overrides/assets/stylesheets/main/layout/_iconsearch.scss","src/overrides/assets/stylesheets/main/layout/_sponsorship.scss"],"names":[],"mappings":"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","file":"main.css"} -------------------------------------------------------------------------------- /overrides/overrides/blog.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% extends "overrides/main.html" %} 5 | {% block content %} 6 | {{ super() }} 7 |

{{ lang.t("meta.comments") }}

8 | 9 | 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /overrides/overrides/home.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% extends "overrides/main.html" %} 5 | {% block tabs %} 6 | {{ super() }} 7 | 8 |
9 |
10 |
11 |
12 | 13 |
14 |
15 |

可能是国内最系统最适合小白的黑苹果教程

16 |

1. 配套 B 站视频教程

17 |

2. 真实机型案例讲解

18 |

3. 文档开源不定期更新

19 | 20 | 快速开始 21 | 22 |
23 |
24 |
25 |
26 | {% endblock %} 27 | {% block content %}{% endblock %} 28 | {% block footer %}{% endblock %} 29 | -------------------------------------------------------------------------------- /overrides/overrides/main.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% extends "base.html" %} 5 | {% block extrahead %} 6 | 7 | {% endblock %} 8 | {% block content %} 9 | {% include "overrides/partials/content.html" %} 10 | {% endblock %} 11 | {% block scripts %} 12 | {{ super() }} 13 | 14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /overrides/overrides/partials/actions.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if page.edit_url %} 5 | {% set edit = "https://github.com/squidfunk/mkdocs-material/edit" %} 6 | {% set view = "https://raw.githubusercontent.com/squidfunk/mkdocs-material" %} 7 | 8 | {% include ".icons/material/file-edit-outline.svg" %} 9 | 10 | 11 | {% include ".icons/material/file-eye-outline.svg" %} 12 | 13 | {% endif %} 14 | -------------------------------------------------------------------------------- /overrides/overrides/partials/content.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if "tags" in config.plugins %} 5 | {% include "partials/tags.html" %} 6 | {% endif %} 7 | {% include "overrides/partials/actions.html" %} 8 | {% if not "\x3ch1" in page.content %} 9 |

{{ page.title | d(config.site_name, true)}}

10 | {% endif %} 11 | {{ page.content }} 12 | {% if page.meta and ( 13 | page.meta.git_revision_date_localized or 14 | page.meta.revision_date 15 | ) %} 16 | {% include "partials/source-file.html" %} 17 | {% endif %} 18 | {% include "partials/feedback.html" %} 19 | -------------------------------------------------------------------------------- /overrides/partials/actions.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if page.edit_url %} 5 | 6 | {% set icon = config.theme.icon.edit or "material/pencil" %} 7 | {% include ".icons/" ~ icon ~ ".svg" %} 8 | 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /overrides/partials/comments.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | -------------------------------------------------------------------------------- /overrides/partials/consent.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% set cookies = config.extra.consent.cookies %} 5 | {% if config.extra.analytics and not cookies %} 6 | {% set cookies = { "analytics": "Google Analytics" } %} 7 | {% endif %} 8 | {% set actions = config.extra.consent.actions %} 9 | {% if not actions %} 10 | {% set actions = ["accept", "manage"] %} 11 | {% endif %} 12 |

{{ config.extra.consent.title }}

13 |

{{ config.extra.consent.description }}

14 | 15 | 37 | 56 | -------------------------------------------------------------------------------- /overrides/partials/content.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if "tags" in config.plugins %} 5 | {% include "partials/tags.html" %} 6 | {% endif %} 7 | {% include "partials/actions.html" %} 8 | {% if not "\x3ch1" in page.content %} 9 |

{{ page.title | d(config.site_name, true)}}

10 | {% endif %} 11 | {{ page.content }} 12 | {% if page.meta and ( 13 | page.meta.git_revision_date_localized or 14 | page.meta.revision_date 15 | ) %} 16 | {% include "partials/source-file.html" %} 17 | {% endif %} 18 | {% include "partials/feedback.html" %} 19 | {% include "partials/comments.html" %} 20 | -------------------------------------------------------------------------------- /overrides/partials/copyright.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 17 | -------------------------------------------------------------------------------- /overrides/partials/feedback.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if config.extra.analytics %} 5 | {% set feedback = config.extra.analytics.feedback %} 6 | {% endif %} 7 | {% if page.meta and page.meta.hide %} 8 | {% if "feedback" in page.meta.hide %} 9 | {% set feedback = None %} 10 | {% endif %} 11 | {% endif %} 12 | {% if feedback %} 13 | 46 | {% endif %} 47 | -------------------------------------------------------------------------------- /overrides/partials/footer.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 53 | -------------------------------------------------------------------------------- /overrides/partials/icons.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if config.theme.icon.admonition %} 5 | {% set style = ["\x3cstyle\x3e:root{"] %} 6 | {% for type, icon in config.theme.icon.admonition.items() %} 7 | {% import ".icons/" ~ icon ~ ".svg" as icon %} 8 | {% set _ = style.append( 9 | "--md-admonition-icon--" ~ type ~ ":" ~ 10 | "url('data:image/svg+xml;charset=utf-8," ~ 11 | icon | replace("\n", "") ~ 12 | "');" 13 | ) %} 14 | {% endfor %} 15 | {% set _ = style.append("}\x3c/style\x3e") %} 16 | {{ style | join }} 17 | {% endif %} 18 | {% if config.theme.icon.tag %} 19 | {% set style = ["\x3cstyle\x3e"] %} 20 | {% for type, icon in config.theme.icon.tag.items() %} 21 | {% import ".icons/" ~ icon ~ ".svg" as icon %} 22 | {% if type != "default" %} 23 | {% set modifier = "--" ~ type %} 24 | {% endif %} 25 | {% set _ = style.append( 26 | ".md-tag-icon" ~ modifier ~ "{" ~ 27 | "--md-tag-icon:" ~ 28 | "url('data:image/svg+xml;charset=utf-8," ~ 29 | icon | replace("\n", "") ~ 30 | "');" ~ 31 | "}" 32 | ) %} 33 | {% endfor %} 34 | {% set _ = style.append("\x3c/style\x3e") %} 35 | {{ style | join }} 36 | {% endif %} 37 | -------------------------------------------------------------------------------- /overrides/partials/integrations/analytics.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if config.extra.analytics %} 5 | {% set provider = config.extra.analytics.provider %} 6 | {% endif %} 7 | {% if provider %} 8 | {% include "partials/integrations/analytics/" ~ provider ~ ".html" %} 9 | {% if config.extra.consent %} 10 | 11 | {% else %} 12 | 13 | {% endif %} 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /overrides/partials/integrations/analytics/google.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if config.extra.analytics %} 5 | {% set property = config.extra.analytics.property | d("", true) %} 6 | {% endif %} 7 | {% if property.startswith("G-") %} 8 | 9 | {% elif property.startswith("UA-") %} 10 | 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/announce.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/base.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/consent.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/content.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if "content.tabs.link" in features %} 5 | 6 | {% endif %} 7 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/outdated.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 | -------------------------------------------------------------------------------- /overrides/partials/javascripts/palette.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 | -------------------------------------------------------------------------------- /overrides/partials/language.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% import "partials/languages/" ~ config.theme.language ~ ".html" as lang %} 5 | {% import "partials/languages/en.html" as fallback %} 6 | {% macro t(key) %}{{ lang.t(key) or fallback.t(key) }}{% endmacro %} 7 | -------------------------------------------------------------------------------- /overrides/partials/languages/af.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "af", 6 | "clipboard.copy": "Kopieer na knipbord", 7 | "clipboard.copied": "gekopieer na knipbord", 8 | "edit.link.title": "Wysig hierdie bladsy", 9 | "footer.previous": "Vorige", 10 | "footer.next": "Volgende", 11 | "meta.comments": "Kommentaar", 12 | "meta.source": "Bron", 13 | "search.config.lang": "nl", 14 | "search.placeholder": "Soek", 15 | "search.result.placeholder": "Tik om te begin soek", 16 | "search.result.none": "Geen ooreenstemmende dokumente", 17 | "search.result.one": "1 ooreenstemmende dokument", 18 | "search.result.other": "# ooreenstemmende dokumente", 19 | "skip.link.title": "Slaan oor na inhoud", 20 | "source.link.title": "Slaan oor na inhoud", 21 | "source.file.date.updated": "Laaste opdatering", 22 | "source.file.date.created": "Geskep", 23 | "toc.title": "Inhoudsopgawe" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/ar.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ar", 6 | "direction": "rtl", 7 | "clipboard.copy": "نسخ إلى الحافظة", 8 | "clipboard.copied": "تم النسخ الى الحافظة", 9 | "edit.link.title": "عدل الصفحة", 10 | "footer.previous": "السابقة", 11 | "footer.next": "التالية", 12 | "meta.comments": "التعليقات", 13 | "meta.source": "المصدر", 14 | "search.config.pipeline": " ", 15 | "search.placeholder": "بحث", 16 | "search.result.placeholder": "اكتب لبدء البحث", 17 | "search.result.none": "لا توجد نتائج", 18 | "search.result.one": "نتائج البحث مستند واحد", 19 | "search.result.other": "نتائج البحث # مستندات", 20 | "skip.link.title": "انتقل إلى المحتوى", 21 | "source.link.title": "اذهب إلى المصدر", 22 | "source.file.date.updated": "اخر تحديث", 23 | "source.file.date.created": "خلقت", 24 | "toc.title": "جدول المحتويات" 25 | }[key] }}{% endmacro %} 26 | -------------------------------------------------------------------------------- /overrides/partials/languages/bg.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "bg", 6 | "clipboard.copy": "Копирай", 7 | "clipboard.copied": "Копирано", 8 | "edit.link.title": "Редактирай тази страница", 9 | "footer.previous": "Предишна", 10 | "footer.next": "Следваща", 11 | "footer.title": "Долен колонтитул", 12 | "header.title": "Горен колонтитул", 13 | "meta.comments": "Коментари", 14 | "meta.source": "Код", 15 | "nav.title": "Навигация", 16 | "search.config.lang": "ru", 17 | "search.placeholder": "Търси", 18 | "search.reset": "Изчисти", 19 | "search.result.placeholder": "Започнете да пишете, за да търсите", 20 | "search.result.none": "Няма резултати", 21 | "search.result.one": "1 резултат", 22 | "search.result.other": "# резултата", 23 | "search.result.more.one": "още 1 на тази страница", 24 | "search.result.more.other": "още # на тази страница", 25 | "skip.link.title": "Към съдържанието", 26 | "source.link.title": "Към хранилището", 27 | "source.file.date.updated": "Последна промяна", 28 | "source.file.date.created": "Създаден", 29 | "tabs.title": "Табове", 30 | "toc.title": "Съдържание" 31 | }[key] }}{% endmacro %} 32 | -------------------------------------------------------------------------------- /overrides/partials/languages/bn.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "bn", 6 | "clipboard.copy": "ক্লিপবোর্ডে কপি করুন", 7 | "clipboard.copied": "ক্লিপবোর্ডে কপি হয়েছে", 8 | "edit.link.title": "এই পেজ এডিট করুন", 9 | "footer.previous": "পূর্ববর্তী", 10 | "footer.next": "পরে", 11 | "footer.title": "ফুটার", 12 | "header.title": "হেডার", 13 | "meta.comments": "কমেন্ট", 14 | "meta.source": "সোর্স", 15 | "nav.title": "ন্যাভিগেশন", 16 | "search.config.pipeline": " ", 17 | "search.placeholder": "সার্চ", 18 | "search.reset": "মুছে ফেলুন", 19 | "search.result.placeholder": "সার্চ টাইপ করুন", 20 | "search.result.none": "কিছু পাওয়া যায়নি", 21 | "search.result.one": "১ টা ডকুমেন্ট", 22 | "search.result.other": "# টা ডকুমেন্ট", 23 | "skip.link.title": "কনটেন্টে যান", 24 | "source.link.title": "রিপোজিটরিতে যান", 25 | "source.file.date.updated": "শেষ আপডেট", 26 | "source.file.date.created": "তৈরি হয়েছে", 27 | "tabs.title": "ট্যাব", 28 | "toc.title": "টেবিল অফ কনটেন্ট" 29 | }[key] }}{% endmacro %} 30 | -------------------------------------------------------------------------------- /overrides/partials/languages/ca.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ca", 6 | "clipboard.copy": "Còpia al porta-retalls", 7 | "clipboard.copied": "Copiat al porta-retalls", 8 | "edit.link.title": "Edita aquesta pàgina", 9 | "footer.previous": "Anterior", 10 | "footer.next": "Següent", 11 | "meta.comments": "Comentaris", 12 | "meta.source": "Codi font", 13 | "search.placeholder": "Cerca", 14 | "search.result.placeholder": "Escriu per a començar a cercar", 15 | "search.result.none": "Cap document coincideix", 16 | "search.result.one": "1 document coincident", 17 | "search.result.other": "# documents coincidents", 18 | "skip.link.title": "Salta el contingut", 19 | "source.link.title": "Ves al repositori", 20 | "source.file.date.updated": "Darrera actualització", 21 | "source.file.date.created": "Creada", 22 | "toc.title": "Taula de continguts" 23 | }[key] }}{% endmacro %} 24 | -------------------------------------------------------------------------------- /overrides/partials/languages/cs.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "cs", 6 | "clipboard.copy": "Kopírovat do schránky", 7 | "clipboard.copied": "Zkopírováno do schránky", 8 | "edit.link.title": "Upravit tuto stránku", 9 | "footer.previous": "Předchozí", 10 | "footer.next": "Další", 11 | "meta.comments": "Komentáře", 12 | "meta.source": "Zdroj", 13 | "search.placeholder": "Hledat", 14 | "search.result.placeholder": "Pište co se má vyhledat", 15 | "search.result.none": "Nenalezeny žádné dokumenty", 16 | "search.result.one": "Nalezený dokument: 1", 17 | "search.result.other": "Nalezené dokumenty: #", 18 | "skip.link.title": "Přeskočit obsah", 19 | "source.link.title": "Přejít do repozitáře", 20 | "source.file.date.updated": "Poslední aktualizace", 21 | "source.file.date.created": "Vytvořeno", 22 | "toc.title": "Obsah" 23 | }[key] }}{% endmacro %} 24 | -------------------------------------------------------------------------------- /overrides/partials/languages/da.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "da", 6 | "clipboard.copy": "Kopiér til udklipsholderen", 7 | "clipboard.copied": "Kopieret til udklipsholderen", 8 | "edit.link.title": "Redigér denne side", 9 | "footer.previous": "Forrige", 10 | "footer.next": "Næste", 11 | "meta.comments": "Kommentarer", 12 | "meta.source": "Kilde", 13 | "search.config.lang": "da", 14 | "search.placeholder": "Søg", 15 | "search.result.placeholder": "Indtast søgeord", 16 | "search.result.none": "Ingen resultater fundet", 17 | "search.result.one": "1 resultat", 18 | "search.result.other": "# resultater", 19 | "skip.link.title": "Gå til indholdet", 20 | "source.link.title": "Åbn arkiv", 21 | "source.file.date.updated": "Sidste ændring", 22 | "source.file.date.created": "Oprettet", 23 | "toc.title": "Indholdsfortegnelse" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/de.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "de", 6 | "announce.dismiss": "Nicht mehr anzeigen", 7 | "clipboard.copy": "In Zwischenablage kopieren", 8 | "clipboard.copied": "In Zwischenablage kopiert", 9 | "consent.accept": "Akzeptieren", 10 | "consent.manage": "Einstellungen", 11 | "consent.reject": "Ablehnen", 12 | "edit.link.title": "Seite editieren", 13 | "footer.previous": "Zurück", 14 | "footer.next": "Weiter", 15 | "footer.title": "Fußzeile", 16 | "header.title": "Kopfzeile", 17 | "meta.comments": "Kommentare", 18 | "meta.source": "Quellcode", 19 | "nav.title": "Navigation", 20 | "search.config.lang": "de", 21 | "search.placeholder": "Suche", 22 | "search.share": "Teilen", 23 | "search.reset": "Zurücksetzen", 24 | "search.result.initializer": "Suche wird initialisiert", 25 | "search.result.placeholder": "Suchbegriff eingeben", 26 | "search.result.none": "Keine Suchergebnisse", 27 | "search.result.one": "1 Suchergebnis", 28 | "search.result.other": "# Suchergebnisse", 29 | "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", 30 | "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", 31 | "search.result.term.missing": "Es fehlt", 32 | "search.title": "Suche", 33 | "select.language.title": "Sprache wechseln", 34 | "select.version.title": "Version auswählen", 35 | "skip.link.title": "Zum Inhalt", 36 | "source.link.title": "Zum Repository", 37 | "source.file.date.updated": "Letztes Update", 38 | "source.file.date.created": "Erstellt", 39 | "tabs.title": "Hauptnavigation", 40 | "toc.title": "Inhaltsverzeichnis", 41 | "top.title": "Zurück zum Seitenanfang" 42 | }[key] }}{% endmacro %} 43 | -------------------------------------------------------------------------------- /overrides/partials/languages/el.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "el", 6 | "clipboard.copy": "Αντιγραφή στο πρόχειρο", 7 | "clipboard.copied": "Αντιγράφηκε στο πρόχειρο", 8 | "edit.link.title": "Επεξεργασία αυτής της σελίδας", 9 | "footer.previous": "Προηγούμενο", 10 | "footer.next": "Επόμενο", 11 | "footer.title": "Υποσέλιδο", 12 | "header.title": "Κεφαλίδα", 13 | "meta.comments": "Σχόλια", 14 | "meta.source": "Πηγή", 15 | "nav.title": "Πλοήγηση", 16 | "search.config.pipeline": "stopWordFilter", 17 | "search.placeholder": "Αναζήτηση", 18 | "search.share": "Διαμοίραση", 19 | "search.reset": "Καθαρισμός", 20 | "search.result.initializer": "Αρχικοποίηση αναζήτησης", 21 | "search.result.placeholder": "Πληκτρολογήστε για να αρχίσει η αναζήτηση", 22 | "search.result.none": "Δεν βρέθηκαν αντίστοιχα αρχεία", 23 | "search.result.one": "1 έγγραφο ταιριάζει", 24 | "search.result.other": "# έγγραφα ταιριάζουν", 25 | "search.result.more.one": "1 ακόμα σε αυτήν τη σελίδα", 26 | "search.result.more.other": "# ακόμα σε αυτήν τη σελίδα", 27 | "search.result.term.missing": "Λείπει", 28 | "search.title": "Αναζήτηση", 29 | "select.language.title": "Επιλογή γλώσσας", 30 | "select.version.title": "Επιλογή έκδοσης", 31 | "skip.link.title": "Μετάβαση στο περιεχόμενο", 32 | "source.link.title": "Μετάβαση στο αποθετήριο", 33 | "source.file.date.updated": "τελευταία ενημέρωση", 34 | "source.file.date.created": "Δημιουργήθηκε", 35 | "tabs.title": "Καρτέλες", 36 | "toc.title": "Πίνακας περιεχομένων", 37 | "top.title": "Επιστροφή στην αρχή" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/en.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "en", 6 | "direction": "ltr", 7 | "announce.dismiss": "Don't show this again", 8 | "clipboard.copy": "Copy to clipboard", 9 | "clipboard.copied": "Copied to clipboard", 10 | "consent.accept": "Accept", 11 | "consent.manage": "Manage settings", 12 | "consent.reject": "Reject", 13 | "edit.link.title": "Edit this page", 14 | "footer.previous": "Previous", 15 | "footer.next": "Next", 16 | "footer.title": "Footer", 17 | "header.title": "Header", 18 | "meta.comments": "Comments", 19 | "meta.source": "Source", 20 | "nav.title": "Navigation", 21 | "search.config.lang": "en", 22 | "search.config.pipeline": "trimmer, stopWordFilter", 23 | "search.config.separator": "[\\s\\-]+", 24 | "search.placeholder": "Search", 25 | "search.share": "Share", 26 | "search.reset": "Clear", 27 | "search.result.initializer": "Initializing search", 28 | "search.result.placeholder": "Type to start searching", 29 | "search.result.none": "No matching documents", 30 | "search.result.one": "1 matching document", 31 | "search.result.other": "# matching documents", 32 | "search.result.more.one": "1 more on this page", 33 | "search.result.more.other": "# more on this page", 34 | "search.result.term.missing": "Missing", 35 | "search.title": "Search", 36 | "select.language.title": "Select language", 37 | "select.version.title": "Select version", 38 | "skip.link.title": "Skip to content", 39 | "source.link.title": "Go to repository", 40 | "source.file.date.updated": "Last update", 41 | "source.file.date.created": "Created", 42 | "tabs.title": "Tabs", 43 | "toc.title": "Table of contents", 44 | "top.title": "Back to top" 45 | }[key] }}{% endmacro %} 46 | -------------------------------------------------------------------------------- /overrides/partials/languages/eo.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "eo", 6 | "clipboard.copy": "Kopii al tondujo", 7 | "clipboard.copied": "Kopiado al klipo", 8 | "edit.link.title": "Redakti ĉi tiun paĝon", 9 | "footer.previous": "Antaŭa", 10 | "footer.next": "Sekva", 11 | "footer.title": "Piedlinio", 12 | "header.title": "Kaplinio", 13 | "meta.comments": "Komentoj", 14 | "meta.source": "Fontkodo", 15 | "nav.title": "Navigado", 16 | "search.config.lang": "es", 17 | "search.placeholder": "Serĉo", 18 | "search.reset": "Klara", 19 | "search.result.placeholder": "Tajpu por komenci serĉadon", 20 | "search.result.none": "Neniuj kongruaj dokumentoj", 21 | "search.result.one": "1 kongrua dokumento", 22 | "search.result.other": "# kongruaj dokumentoj", 23 | "skip.link.title": "Saltu al enhavo", 24 | "source.link.title": "Iru al deponejo", 25 | "source.file.date.updated": "Lasta ĝisdatigo", 26 | "source.file.date.created": "Kreita", 27 | "tabs.title": "Langetoj", 28 | "toc.title": "Enhavtabelo" 29 | }[key] }}{% endmacro %} 30 | -------------------------------------------------------------------------------- /overrides/partials/languages/es.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "es", 6 | "clipboard.copy": "Copiar al portapapeles", 7 | "clipboard.copied": "Copiado al portapapeles", 8 | "consent.accept": "Aceptar", 9 | "consent.manage": "Gestionar cookies", 10 | "edit.link.title": "Editar esta página", 11 | "footer.previous": "Anterior", 12 | "footer.next": "Siguiente", 13 | "footer.title": "Pie", 14 | "header.title": "Cabecera", 15 | "meta.comments": "Comentarios", 16 | "meta.source": "Fuente", 17 | "nav.title": "Navegación", 18 | "search.config.lang": "es", 19 | "search.placeholder": "Búsqueda", 20 | "search.reset": "Limpiar", 21 | "search.result.initializer": "Inicializando búsqueda", 22 | "search.result.placeholder": "Teclee para comenzar búsqueda", 23 | "search.result.none": "No se encontraron documentos", 24 | "search.result.one": "1 documento encontrado", 25 | "search.result.other": "# documentos encontrados", 26 | "search.result.more.one": "1 más en esta página", 27 | "search.result.more.other": "# más en esta página", 28 | "search.result.term.missing": "Falta", 29 | "select.language.title": "Seleccionar idioma", 30 | "select.version.title": "Seleccionar versión", 31 | "skip.link.title": "Saltar a contenido", 32 | "source.link.title": "Ir al repositorio", 33 | "source.file.date.updated": "Última actualización", 34 | "source.file.date.created": "Creado", 35 | "tabs.title": "Pestañas", 36 | "toc.title": "Tabla de contenidos", 37 | "top.title": "Volver al principio" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/et.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "et", 6 | "clipboard.copy": "Kopeeri lõikelauale", 7 | "clipboard.copied": "Kopeeritud", 8 | "edit.link.title": "Muuda seda lehte", 9 | "footer.previous": "Eelmine", 10 | "footer.next": "Järgmine", 11 | "meta.comments": "Kommentaarid", 12 | "meta.source": "Lähtekood", 13 | "search.placeholder": "Otsi", 14 | "search.result.placeholder": "Otsimiseks kirjuta siia", 15 | "search.result.none": "Otsingule ei leitud ühtegi vastet", 16 | "search.result.one": "Leiti üks tulemus", 17 | "search.result.other": "Leiti # tulemust", 18 | "skip.link.title": "Keri sisuni", 19 | "source.link.title": "Ava repositooriumis", 20 | "source.file.date.updated": "Viimane uuendus", 21 | "source.file.date.created": "Loodud", 22 | "toc.title": "Sisukord" 23 | }[key] }}{% endmacro %} 24 | -------------------------------------------------------------------------------- /overrides/partials/languages/fa.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "fa", 6 | "direction": "rtl", 7 | "clipboard.copy": "کپی کردن", 8 | "clipboard.copied": "کپی شد", 9 | "edit.link.title": "این صفحه را ویرایش کنید", 10 | "footer.previous": "قبلی", 11 | "footer.next": "بعدی", 12 | "meta.comments": "نظرات", 13 | "meta.source": "منبع", 14 | "search.config.pipeline": " ", 15 | "search.placeholder": "جستجو", 16 | "search.result.placeholder": "برای شروع جستجو تایپ کنید", 17 | "search.result.none": "سندی یافت نشد", 18 | "search.result.one": "1 سند یافت شد", 19 | "search.result.other": "# سند یافت شد", 20 | "skip.link.title": "پرش به محتویات", 21 | "source.link.title": "رفتن به مخزن", 22 | "source.file.date.updated": "اخرین بروزرسانی", 23 | "source.file.date.created": "ایجاد شده", 24 | "toc.title": "فهرست موضوعات" 25 | }[key] }}{% endmacro %} 26 | -------------------------------------------------------------------------------- /overrides/partials/languages/fi.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "fi", 6 | "clipboard.copy": "Kopioi leikepöydälle", 7 | "clipboard.copied": "Kopioitu leikepöydälle", 8 | "edit.link.title": "Muokkaa tätä sivua", 9 | "footer.previous": "Edellinen", 10 | "footer.next": "Seuraava", 11 | "meta.comments": "Kommentit", 12 | "meta.source": "Lähdekodi", 13 | "search.config.lang": "fi", 14 | "search.placeholder": "Hae", 15 | "search.result.placeholder": "Kirjoita aloittaaksesi haun", 16 | "search.result.none": "Ei täsmääviä dokumentteja", 17 | "search.result.one": "1 täsmäävä dokumentti", 18 | "search.result.other": "# täsmäävää dokumenttia", 19 | "skip.link.title": "Hyppää sisältöön", 20 | "source.link.title": "Mene repositoryyn", 21 | "source.file.date.updated": "Viimeisin päivitys", 22 | "source.file.date.created": "Luotu", 23 | "toc.title": "Sisällysluettelo" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/fr.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "fr", 6 | "clipboard.copy": "Copier dans le presse-papier", 7 | "clipboard.copied": "Copié dans le presse-papier", 8 | "consent.accept": "Accepter", 9 | "consent.manage": "Paramétrer vos choix", 10 | "consent.reject": "Refuser", 11 | "edit.link.title": "Editer cette page", 12 | "footer.previous": "Précédent", 13 | "footer.next": "Suivant", 14 | "footer.title": "Pied de page", 15 | "header.title": "En-tête", 16 | "meta.comments": "Commentaires", 17 | "meta.source": "Source", 18 | "nav.title": "Navigation", 19 | "search.config.lang": "fr", 20 | "search.placeholder": "Rechercher", 21 | "search.reset": "Effacer", 22 | "search.result.initializer": "Initialisation de la recherche", 23 | "search.result.placeholder": "Taper pour démarrer la recherche", 24 | "search.result.none": "Aucun document trouvé", 25 | "search.result.one": "1 document trouvé", 26 | "search.result.other": "# documents trouvés", 27 | "search.result.more.one": "1 de plus sur cette page", 28 | "search.result.more.other": "# de plus sur cette page", 29 | "search.result.term.missing": "Non trouvé", 30 | "select.language.title": "Sélectionner la langue", 31 | "select.version.title": "Sélectionner la version", 32 | "skip.link.title": "Aller au contenu", 33 | "source.link.title": "Aller au dépôt", 34 | "source.file.date.updated": "Dernière mise à jour", 35 | "source.file.date.created": "Créé", 36 | "tabs.title": "Onglets", 37 | "toc.title": "Table des matières", 38 | "top.title": "Retour en haut de la page" 39 | }[key] }}{% endmacro %} 40 | -------------------------------------------------------------------------------- /overrides/partials/languages/gl.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "gl", 6 | "clipboard.copy": "Copiar no cortapapeis", 7 | "clipboard.copied": "Copiado no cortapapeis", 8 | "edit.link.title": "Editar esta páxina", 9 | "footer.previous": "Anterior", 10 | "footer.next": "Seguinte", 11 | "footer.title": "Pé", 12 | "header.title": "Cabeceira", 13 | "meta.comments": "Comentarios", 14 | "meta.source": "Fonte", 15 | "nav.title": "Navegación", 16 | "search.config.lang": "es", 17 | "search.placeholder": "Procura", 18 | "search.reset": "Limpar", 19 | "search.result.initializer": "Inicializando procura", 20 | "search.result.placeholder": "Insira un termo", 21 | "search.result.none": "Sen resultados", 22 | "search.result.one": "1 resultado atopado", 23 | "search.result.other": "# resultados atopados", 24 | "search.result.more.one": "1 máis nesta páxina", 25 | "search.result.more.other": "# máis nesta páxina", 26 | "search.result.term.missing": "Falta", 27 | "select.language.title": "Seleccionar idioma", 28 | "select.version.title": "Seleccionar version", 29 | "skip.link.title": "Ir ao contido", 30 | "source.link.title": "Ir ao repositorio", 31 | "source.file.date.updated": "Última actualización", 32 | "source.file.date.created": "Creada", 33 | "tabs.title": "Pestanas", 34 | "toc.title": "Táboa de contidos", 35 | "top.title": "Volver ao principio" 36 | }[key] }}{% endmacro %} 37 | -------------------------------------------------------------------------------- /overrides/partials/languages/he.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "he", 6 | "direction": "rtl", 7 | "announce.dismiss": "לא להציג את זה שוב", 8 | "clipboard.copy": "העתקה ללוח", 9 | "clipboard.copied": "הועתק ללוח", 10 | "consent.accept": "לקבל", 11 | "consent.manage": "לנהל הגדרות", 12 | "consent.reject": "לדחות", 13 | "edit.link.title": "עריכת הדף הזה", 14 | "footer.previous": "הקודם", 15 | "footer.next": "הבא", 16 | "footer.title": "כותרת תחתונה", 17 | "header.title": "כותרת עליונה", 18 | "meta.comments": "הערות", 19 | "meta.source": "מקור", 20 | "nav.title": "ניווט", 21 | "search.config.pipeline": " ", 22 | "search.placeholder": "חיפוש", 23 | "search.share": "שיתוף", 24 | "search.reset": "ניקוי", 25 | "search.result.initializer": "אתחול חיפוש", 26 | "search.result.placeholder": "יש להקליד כדי להתחיל לחפש", 27 | "search.result.none": "אין מסמכים תואמים", 28 | "search.result.one": "1 מסמך תואם", 29 | "search.result.other": "# מסמך תואם", 30 | "search.result.more.one": "עוד אחד בדף הזה", 31 | "search.result.more.other": "עוד # בדף הזה", 32 | "search.result.term.missing": "חסר", 33 | "search.title": "חיפוש", 34 | "select.language.title": "בחירת שפה", 35 | "select.version.title": "בחירת גרסה", 36 | "skip.link.title": "לדלג לתוכן", 37 | "source.link.title": "לעבור אל המאגר", 38 | "source.file.date.updated": "עדכון אחרון", 39 | "source.file.date.created": "נוצר", 40 | "tabs.title": "לשוניות", 41 | "toc.title": "תוכן העניינים", 42 | "top.title": "חזרה למעלה" 43 | }[key] }}{% endmacro %} 44 | -------------------------------------------------------------------------------- /overrides/partials/languages/hi.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "hi", 6 | "clipboard.copy": "क्लिपबोर्ड पर कॉपी करें", 7 | "clipboard.copied": "क्लिपबोर्ड पर कॉपी कर दिया गया", 8 | "edit.link.title": "इस पृष्ठ को संपादित करें", 9 | "footer.previous": "पिछला", 10 | "footer.next": "आगामी", 11 | "meta.comments": "टिप्पणियाँ", 12 | "meta.source": "स्रोत", 13 | "search.config.lang": "hi", 14 | "search.placeholder": "खोज", 15 | "search.result.placeholder": "खोज शुरू करने के लिए टाइप करें", 16 | "search.result.none": "कोई मिलान डॉक्यूमेंट नहीं", 17 | "search.result.one": "1 मिलान डॉक्यूमेंट", 18 | "search.result.other": "# मिलान डाक्यूमेंट्स", 19 | "skip.link.title": "विषय पर बढ़ें", 20 | "source.link.title": "रिपॉजिटरी पर जाएं", 21 | "source.file.date.updated": "आखिरी अपडेट", 22 | "source.file.date.created": "बनाया था", 23 | "toc.title": "विषय - सूची" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/hr.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "hr", 6 | "announce.dismiss": "Ne prikazuj ovo opet", 7 | "clipboard.copy": "Kopirajte u međuspremnik", 8 | "clipboard.copied": "Kopirano u međuspremnik", 9 | "consent.accept": "Prihvati", 10 | "consent.manage": "Upravljaj postavkama", 11 | "consent.reject": "Odbij", 12 | "edit.link.title": "Uredi stranicu", 13 | "footer.previous": "Prethodno", 14 | "footer.next": "Sljedeće", 15 | "footer.title": "Podnožje", 16 | "header.title": "Zaglavlje", 17 | "meta.comments": "Komentari", 18 | "meta.source": "Izvor", 19 | "nav.title": "Navigacija", 20 | "search.placeholder": "Pretraživanje", 21 | "search.share": "Podijeli", 22 | "search.reset": "Očisti", 23 | "search.result.initializer": "Inicijaliziranje pretraživanja", 24 | "search.result.placeholder": "Unesite pojam pretraživanja", 25 | "search.result.none": "Ništa nije pronađeno", 26 | "search.result.one": "1 rezultat pretraživanja", 27 | "search.result.other": "# rezultata pretraživanja", 28 | "search.result.more.one": "1 rezultat na ovoj stranici", 29 | "search.result.more.other": "# rezultata na ovoj stranici", 30 | "search.result.term.missing": "Nedostaje", 31 | "search.title": "Pretraživanje", 32 | "select.language.title": "Odabir jezika", 33 | "select.version.title": "Odabir verzije", 34 | "skip.link.title": "Preskočite na sadržaj", 35 | "source.link.title": "Idite u repozitorij", 36 | "source.file.date.updated": "Zadnje ažuriranje", 37 | "source.file.date.created": "Stvoreno", 38 | "tabs.title": "Kartice", 39 | "toc.title": "Sadržaj", 40 | "top.title": "Vratite se na vrh" 41 | }[key] }}{% endmacro %} 42 | -------------------------------------------------------------------------------- /overrides/partials/languages/hu.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "hu", 6 | "clipboard.copy": "Másolás vágólapra", 7 | "clipboard.copied": "Vágólapra másolva", 8 | "edit.link.title": "Oldal szerkesztése", 9 | "footer.previous": "Előző", 10 | "footer.next": "Következő", 11 | "footer.title": "Élőláb", 12 | "header.title": "Élőfej", 13 | "meta.comments": "Hozzászólások", 14 | "meta.source": "Forrás", 15 | "nav.title": "Navigáció", 16 | "search.config.lang": "hu", 17 | "search.placeholder": "Keresés", 18 | "search.reset": "Törlés", 19 | "search.result.initializer": "Keresés inicializálása", 20 | "search.result.placeholder": "Kereséshez írj ide valamit", 21 | "search.result.none": "Nincs találat", 22 | "search.result.one": "1 egyező dokumentum", 23 | "search.result.other": "# egyező dokumentum", 24 | "search.result.more.one": "1 további találat az oldalon", 25 | "search.result.more.other": "# további találat az oldalon", 26 | "search.result.term.missing": "Üres", 27 | "skip.link.title": "Kihagyás", 28 | "source.link.title": "Főoldalra ugrás", 29 | "source.file.date.updated": "Utolsó frissítés", 30 | "source.file.date.created": "Létrehozva", 31 | "tabs.title": "Lapok", 32 | "toc.title": "Tartalomjegyzék" 33 | }[key] }}{% endmacro %} 34 | -------------------------------------------------------------------------------- /overrides/partials/languages/hy.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "hy", 6 | "clipboard.copy": "Պատճենել", 7 | "clipboard.copied": "Պատճենված է", 8 | "edit.link.title": "Խմբագրել այս էջը", 9 | "footer.previous": "Նախորդը", 10 | "footer.next": "Հաջորդը", 11 | "footer.title": "Վերջնագիր", 12 | "header.title": "Գլխագիր", 13 | "meta.comments": "Մեկնաբանությունները", 14 | "meta.source": "Աղբյուր", 15 | "nav.title": "Տեղորոշում", 16 | "search.config.pipeline": " ", 17 | "search.placeholder": "Փնտրել", 18 | "search.share": "Կիսվել", 19 | "search.reset": "Ջնջել", 20 | "search.result.initializer": "Փնտրում", 21 | "search.result.placeholder": "Մուտքագրեք փնտրելու համար", 22 | "search.result.none": "Համապատասխանություններ չկան", 23 | "search.result.one": "1 համապատասխանություն", 24 | "search.result.other": "# համապատասխանություններ", 25 | "search.result.more.one": "ևս 1-ը այս էջում", 26 | "search.result.more.other": "ևս #-ը այս էջում", 27 | "search.result.term.missing": "Բացակայում է", 28 | "search.title": "Փնտրում", 29 | "select.language.title": "Ընտրել լեզուն", 30 | "select.version.title": "Ընտրել տարբերակը", 31 | "skip.link.title": "Անցնել պարունակությանը", 32 | "source.link.title": "Դեպի պահոց", 33 | "source.file.date.updated": "Վերջին թարմացումը", 34 | "source.file.date.created": "Ստեղծված է", 35 | "tabs.title": "Ներդիրներ", 36 | "toc.title": "Բովանդակություն", 37 | "top.title": "Վերադառնալ սկիզբ" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/id.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "id", 6 | "clipboard.copy": "Salin ke memori", 7 | "clipboard.copied": "Tersalin ke memori", 8 | "edit.link.title": "Ubah halaman ini", 9 | "footer.previous": "Sebelumnya", 10 | "footer.next": "Selanjutnya", 11 | "meta.comments": "Komentar", 12 | "meta.source": "Sumber", 13 | "search.config.pipeline": " ", 14 | "search.placeholder": "Cari", 15 | "search.result.placeholder": "Ketik untuk mulai pencarian", 16 | "search.result.none": "Tidak ada dokumen yang sesuai", 17 | "search.result.one": "1 dokumen ditemukan", 18 | "search.result.other": "# dokumen ditemukan", 19 | "skip.link.title": "Lewati ke isi", 20 | "source.link.title": "Menuju repositori", 21 | "source.file.date.created": "Dibuat", 22 | "toc.title": "Daftar isi" 23 | }[key] }}{% endmacro %} 24 | -------------------------------------------------------------------------------- /overrides/partials/languages/is.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "is", 6 | "clipboard.copy": "Afrita í klemmuspjald", 7 | "clipboard.copied": "Afritað í klemmuspjald", 8 | "edit.link.title": "Ritvinna þessa síðu", 9 | "footer.previous": "Fyrra", 10 | "footer.next": "Næsta", 11 | "footer.title": "Síðufótur", 12 | "header.title": "Haus", 13 | "meta.comments": "Athugasemdir", 14 | "meta.source": "Grunnur", 15 | "nav.title": "Valmynd", 16 | "search.placeholder": "Leit", 17 | "search.reset": "Hreinsa", 18 | "search.result.placeholder": "Sláðu inn til að hefja leit", 19 | "search.result.none": "Engin skjöl fundust", 20 | "search.result.one": "1 skjal fannst", 21 | "search.result.other": "# skjöl fundust", 22 | "search.result.more.one": "1 til viðbótar á þessari síðu", 23 | "search.result.more.other": "# til viðbótar á þessari síðu", 24 | "skip.link.title": "Hoppa yfir í efni", 25 | "source.link.title": "Fara í gagnahirslu (e. repository)", 26 | "source.file.date.updated": "Síðasta uppfærsla", 27 | "source.file.date.created": "Búið til", 28 | "tabs.title": "Flipar", 29 | "toc.title": "Efnisyfirlit" 30 | }[key] }}{% endmacro %} 31 | -------------------------------------------------------------------------------- /overrides/partials/languages/it.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "it", 6 | "clipboard.copy": "Copia", 7 | "clipboard.copied": "Copiato", 8 | "edit.link.title": "Modifica", 9 | "footer.previous": "Precedente", 10 | "footer.next": "Prossimo", 11 | "footer.title": "Piede", 12 | "header.title": "Intestazione", 13 | "meta.comments": "Commenti", 14 | "meta.source": "Sorgente", 15 | "nav.title": "Navigazione", 16 | "search.config.lang": "it", 17 | "search.placeholder": "Cerca", 18 | "search.share": "Condividi", 19 | "search.reset": "Cancella", 20 | "search.result.initializer": "Inizializza la ricerca", 21 | "search.result.placeholder": "Scrivi per iniziare a cercare", 22 | "search.result.none": "Nessun documento trovato", 23 | "search.result.one": "1 documento trovato", 24 | "search.result.other": "# documenti trovati", 25 | "search.result.more.one": "1 altro in questa pagina", 26 | "search.result.more.other": "# altri in questa pagina", 27 | "search.result.term.missing": "Non presente", 28 | "search.title": "Cerca", 29 | "select.language.title": "Seleziona la lingua", 30 | "select.version.title": "Seleziona la versione", 31 | "skip.link.title": "Vai al contenuto", 32 | "source.link.title": "Apri repository", 33 | "source.file.date.updated": "Ultimo aggiornamento", 34 | "source.file.date.created": "Creata", 35 | "tabs.title": "Tabs", 36 | "toc.title": "Indice", 37 | "top.title": "Torna su" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/ja.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ja", 6 | "clipboard.copy": "クリップボードへコピー", 7 | "clipboard.copied": "コピーしました", 8 | "edit.link.title": "編集", 9 | "footer.previous": "前", 10 | "footer.next": "次", 11 | "footer.title": "フッター", 12 | "header.title": "ヘッダー", 13 | "meta.comments": "コメント", 14 | "meta.source": "ソース", 15 | "nav.title": "ナビゲーション", 16 | "search.config.lang": "ja", 17 | "search.config.pipeline": "trimmer, stemmer", 18 | "search.config.separator": "[\\s\\- 、。,.]+", 19 | "search.placeholder": "検索", 20 | "search.reset": "クリア", 21 | "search.result.initializer": "検索を初期化", 22 | "search.result.placeholder": "検索キーワードを入力してください", 23 | "search.result.none": "何も見つかりませんでした", 24 | "search.result.one": "1件見つかりました", 25 | "search.result.other": "#件見つかりました", 26 | "search.result.more.one": "このページ内にもう1件見つかりました", 27 | "search.result.more.other": "このページ内にあと#件見つかりました", 28 | "search.result.term.missing": "検索に含まれない", 29 | "skip.link.title": "コンテンツにスキップ", 30 | "source.link.title": "リポジトリへ", 31 | "source.file.date.updated": "最終更新日", 32 | "source.file.date.created": "作成した", 33 | "tabs.title": "タブ", 34 | "toc.title": "目次" 35 | }[key] }}{% endmacro %} 36 | -------------------------------------------------------------------------------- /overrides/partials/languages/ka.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ka", 6 | "clipboard.copy": "კოპირება", 7 | "clipboard.copied": "კოპირებულია", 8 | "edit.link.title": "გვერდის რედარქირება", 9 | "footer.previous": "წინა", 10 | "footer.next": "შემდეგი", 11 | "meta.comments": "კომენტარები", 12 | "meta.source": "წყარო", 13 | "nav.title": "ნავიგაცია", 14 | "search.config.pipeline": " ", 15 | "search.placeholder": "ძებნა", 16 | "search.reset": "გასუფთავება", 17 | "search.result.placeholder": "ჩაწერე ძებნის დასაწყებად", 18 | "search.result.none": "დოკუმენტი ვერ მოიძებნა", 19 | "search.result.one": "მოიძებნა 1 დოკუმენტი", 20 | "search.result.other": "მოიძებნა # დოკუმენტი", 21 | "search.result.more.one": "კიდევ 1 ამ გვერდზე", 22 | "search.result.more.other": "კიდევ # ამ გვერდზე", 23 | "skip.link.title": "კონტენტზე გადასვლა", 24 | "source.link.title": "საცავში გადასვლა", 25 | "source.file.date.updated": "ბოლო განახლება", 26 | "source.file.date.created": "შეიქმნა", 27 | "tabs.title": "ტაბები", 28 | "toc.title": "სარჩევი" 29 | }[key] }}{% endmacro %} 30 | -------------------------------------------------------------------------------- /overrides/partials/languages/kr.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "kr", 6 | "clipboard.copy": "클립보드로 복사", 7 | "clipboard.copied": "클립보드에 복사됨", 8 | "edit.link.title": "이 페이지를 편집", 9 | "footer.previous": "이전", 10 | "footer.next": "다음", 11 | "meta.comments": "댓글", 12 | "meta.source": "출처", 13 | "search.config.pipeline": " ", 14 | "search.placeholder": "검색", 15 | "search.share": "공유", 16 | "search.reset": "지우기", 17 | "search.result.initializer": "검색 초기화", 18 | "search.result.placeholder": "검색어를 입력하세요", 19 | "search.result.none": "검색어와 일치하는 문서가 없습니다", 20 | "search.result.one": "1개의 일치하는 문서", 21 | "search.result.other": "#개의 일치하는 문서", 22 | "search.result.more.one": "이 문서에서 1개의 검색 결과 더 보기", 23 | "search.result.more.other": "이 문서에서 #개의 검색 결과 더 보기", 24 | "search.result.term.missing": "포함되지 않은 검색어", 25 | "search.title": "검색", 26 | "select.language.title": "언어설정", 27 | "select.version.title": "버전 선택", 28 | "skip.link.title": "콘텐츠로 이동", 29 | "source.link.title": "저장소로 이동", 30 | "source.file.date.updated": "마지막 업데이트", 31 | "source.file.date.created": "작성일", 32 | "toc.title": "목차", 33 | "top.title": "맨위로" 34 | }[key] }}{% endmacro %} 35 | -------------------------------------------------------------------------------- /overrides/partials/languages/lt.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "lt", 6 | "clipboard.copy": "Kopijuoti į iškarpinę", 7 | "clipboard.copied": "Nukopijuota į iškarpinę", 8 | "edit.link.title": "Redaguoti šį puslapį", 9 | "footer.previous": "Ankstesnis", 10 | "footer.next": "Sekantis", 11 | "footer.title": "Poraštė", 12 | "header.title": "Antraštė", 13 | "meta.comments": "Komentarai", 14 | "meta.source": "Išeitinis kodas", 15 | "nav.title": "Navigacija", 16 | "search.config.pipeline": " ", 17 | "search.placeholder": "Paieška", 18 | "search.share": "Dalintis", 19 | "search.reset": "Išvalyti", 20 | "search.result.initializer": "Paieškos inicijavimas", 21 | "search.result.placeholder": "Įveskite norėdami pradėti paiešką", 22 | "search.result.none": "Atitinkančių dokumentų nerasta", 23 | "search.result.one": "1 atitinkantis dokumentas", 24 | "search.result.other": "# atitinkantys dokumentai", 25 | "search.result.more.one": "Dar 1 šiame puslapyje", 26 | "search.result.more.other": "Dar # šiame puslapyje", 27 | "search.result.term.missing": "Nerasta", 28 | "search.title": "Paieška", 29 | "select.language.title": "Pasirinkti kalbą", 30 | "select.version.title": "Pasrinkti versiją", 31 | "skip.link.title": "Pereiti prie turinio", 32 | "source.link.title": "Eiti į saugyklą", 33 | "source.file.date.updated": "Paskutinis atnaujinimas", 34 | "source.file.date.created": "Sukurta", 35 | "tabs.title": "Skirtukai", 36 | "toc.title": "Turinys", 37 | "top.title": "Grįžti į viršų" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/lv.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "lv", 6 | "clipboard.copy": "Kopēt starpliktuvē", 7 | "clipboard.copied": "Kopēts starpliktuvē", 8 | "edit.link.title": "Rediģēt šo lapu", 9 | "footer.previous": "Iepriekšējais", 10 | "footer.next": "Nākamais", 11 | "footer.title": "Kājene", 12 | "header.title": "Galvene", 13 | "meta.comments": "Komentārs", 14 | "meta.source": "Avots", 15 | "nav.title": "Navigācija", 16 | "search.placeholder": "Meklēt", 17 | "search.reset": "Notīrīt", 18 | "search.result.initializer": "Notiek meklēšanas inicializācija", 19 | "search.result.placeholder": "Ierakstiet, lai sāktu meklēšanu", 20 | "search.result.none": "Nav atbilstošu dokumentu", 21 | "search.result.one": "1 atbilstošs dokuments", 22 | "search.result.other": "# atbilstoši dokumenti ", 23 | "search.result.more.one": "1 šajā lapā", 24 | "search.result.more.other": "# un vairāk šajā lapā", 25 | "search.result.term.missing": "Trūkstošs", 26 | "select.language.title": "Izvēlies valodu", 27 | "select.version.title": "Izvēlies versiju", 28 | "skip.link.title": "Pāriet uz saturu", 29 | "source.link.title": "Doties uz repozitoriju", 30 | "source.file.date.updated": "Pēdējoreiz atjaunots", 31 | "source.file.date.created": "Izveidots", 32 | "tabs.title": "Cilnes", 33 | "toc.title": "Satura rādītājs", 34 | "top.title": "Atpakaļ uz augšu" 35 | }[key] }}{% endmacro %} 36 | -------------------------------------------------------------------------------- /overrides/partials/languages/mk.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "mk", 6 | "clipboard.copy": "Копирај во таблата", 7 | "clipboard.copied": "Копирано", 8 | "edit.link.title": "Уредете ја оваа страница", 9 | "footer.previous": "Претходно", 10 | "footer.next": "Следно", 11 | "footer.title": "Подножје", 12 | "header.title": "Заглавје", 13 | "meta.comments": "Коментари", 14 | "meta.source": "Извор", 15 | "nav.title": "Наслов за навигација", 16 | "search.config.lang": "ru", 17 | "search.placeholder": "Пребарување", 18 | "search.reset": "Чисти", 19 | "search.result.initializer": "Иницијализирање на пребарувањето", 20 | "search.result.placeholder": "Напишете за да започнете со пребарување", 21 | "search.result.none": "Нема соодветни документи", 22 | "search.result.one": "1 документ што се совпаѓа", 23 | "search.result.other": "# соодветни документи", 24 | "search.result.more.one": "Уште 1 на оваа страница", 25 | "search.result.more.other": "Уште # на оваа страница", 26 | "search.result.term.missing": "Недостасува", 27 | "select.language.title": "Изберете јазик", 28 | "select.version.title": "Изберете верзија", 29 | "skip.link.title": "Прескокнете до содржината", 30 | "source.link.title": "Одете до складиштето", 31 | "source.file.date.updated": "Последно ажурирање", 32 | "source.file.date.created": "Создаден", 33 | "tabs.title": "Јазичиња", 34 | "toc.title": "Содржина", 35 | "top.title": "Вратете се на почетокот" 36 | }[key] }}{% endmacro %} 37 | -------------------------------------------------------------------------------- /overrides/partials/languages/mn.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "mn", 6 | "clipboard.copy": "Хуулах", 7 | "clipboard.copied": "Санах ойд хуулах", 8 | "edit.link.title": "Хуудас засварлах", 9 | "footer.previous": "Өмнөх", 10 | "footer.next": "Дараах", 11 | "footer.title": "Хөл", 12 | "header.title": "Толгой", 13 | "meta.comments": "Сэтгэгдэл", 14 | "meta.source": "Эх үүсвэр", 15 | "nav.title": "Чиглүүлэгч", 16 | "search.config.lang": "ru", 17 | "search.placeholder": "Хайлт", 18 | "search.reset": "Цэвэрлэх", 19 | "search.result.placeholder": "Хайлтын үгээ бичнэ үү", 20 | "search.result.none": "Таарц илэрсэнгүй", 21 | "search.result.one": "1 таарц илэрлээ", 22 | "search.result.other": "# Тохирох баримт бичиг", 23 | "search.result.more.one": "1 илүү хуудас байна", 24 | "search.result.more.other": "# илүү хуудас байна", 25 | "skip.link.title": "Агуулгыг алгасах", 26 | "source.link.title": "Хадгалах сан руу очих", 27 | "source.file.date.updated": "Сүүлийн шинэчлэлт", 28 | "source.file.date.created": "Үүсгэсэн", 29 | "tabs.title": "Табууд", 30 | "toc.title": "Агуулга" 31 | }[key] }}{% endmacro %} 32 | -------------------------------------------------------------------------------- /overrides/partials/languages/ms.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ms", 6 | "clipboard.copy": "Salin ke papan keratan", 7 | "clipboard.copied": "Disalin ke papan keratan", 8 | "edit.link.title": "Edit halaman ini", 9 | "footer.previous": "Sebelumnya", 10 | "footer.next" : "Seterusnya", 11 | "footer.title": "Pengaki", 12 | "header.title": "Pengepala", 13 | "meta.comments": "Komen", 14 | "meta.source": "Sumber", 15 | "nav.title": "Navigasi", 16 | "search.placeholder": "Cari", 17 | "search.reset": "Padam", 18 | "search.result.initializer": "Siap carian", 19 | "search.result.placeholder": "Taip untuk mula mencari", 20 | "search.result.none": "Tiada dokumen yang sepadan", 21 | "search.result.one": "1 dokumen yang sepadan", 22 | "search.result.other": "# dokumen yang sepadan", 23 | "search.result.more.one": "1 lagi di halaman ini", 24 | "search.result.more.other": "# lagi di halaman ini", 25 | "search.result.term.missing": "Hilang", 26 | "select.language.title": "Pilih bahasa", 27 | "select.version.title": "Pilih versi", 28 | "skip.link.title": "Langkau tajuk talian", 29 | "source.link.title": "tajuk talian asal", 30 | "source.file.date.updated": "Tarikh fil dikemas kini", 31 | "source.file.date.created": "tarikh fil asal dicipta", 32 | "tabs.title": "Tab", 33 | "toc.title": "Jadual kandungan", 34 | "top.title": "Kembali ke atas" 35 | }[key] }}{% endmacro %} 36 | -------------------------------------------------------------------------------- /overrides/partials/languages/my.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "my", 6 | "clipboard.copy": "ကလစ်ဘုတ် သို့ ကူးယူရန်", 7 | "clipboard.copied": "ကလစ်ဘုတ် သို့ ကူယူပြီး", 8 | "edit.link.title": "ဤ စာမျက်နှာကို ပြင်ရန်", 9 | "footer.previous": "နောက်သို့", 10 | "footer.next": "ရှေ့သို့", 11 | "footer.title": "အောက်ခြေ", 12 | "header.title": "ခေါင်းပိုင်း", 13 | "meta.comments": "မှတ်ချက်များ", 14 | "meta.source": "ရင်းမြစ်", 15 | "nav.title": "လမ်းညွှန်", 16 | "search.config.pipeline": " ", 17 | "search.placeholder": "ရှာရန်", 18 | "search.reset": "ရှင်းလင်း", 19 | "search.result.placeholder": "ရှာဖွေခြင်းစရန် စာရိုက်ပါ", 20 | "search.result.none": "တူညီသော စာရွက်စာတမ်းများ မရှိပါ", 21 | "search.result.one": "စာရွက်စာတမ်း ၁ ခု တူညီသည်", 22 | "search.result.other": "စာရွက်စာတမ်း # ခု တူညီသည်", 23 | "skip.link.title": "မာတိကာ သို့ သွားရန်", 24 | "source.link.title": "repository သို့ သွားရန်", 25 | "source.file.date.updated": "နောက်ဆုံး ထုတ်ပြန်ချက်", 26 | "source.file.date.created": "နေပြည်တော်", 27 | "tabs.title": "တက်များ", 28 | "toc.title": "ပါဝင်အကြောင်းအရာများ" 29 | }[key] }}{% endmacro %} 30 | -------------------------------------------------------------------------------- /overrides/partials/languages/nl.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "nl", 6 | "clipboard.copy": "Kopiëren naar klembord", 7 | "clipboard.copied": "Gekopieerd naar klembord", 8 | "edit.link.title": "Wijzig deze pagina", 9 | "footer.previous": "Vorige", 10 | "footer.next": "Volgende", 11 | "meta.comments": "Reacties", 12 | "meta.source": "Bron", 13 | "search.config.lang": "nl", 14 | "search.placeholder": "Zoeken", 15 | "search.result.placeholder": "Typ om te beginnen met zoeken", 16 | "search.result.none": "Geen overeenkomende documenten", 17 | "search.result.one": "1 overeenkomende document", 18 | "search.result.other": "# overeenkomende documenten", 19 | "skip.link.title": "Ga naar inhoud", 20 | "source.link.title": "Ga naar repository", 21 | "source.file.date.updated": "Laatst geüpdatet", 22 | "source.file.date.created": "Gecreëerd", 23 | "toc.title": "Inhoudsopgave" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/nn.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "nn", 6 | "clipboard.copy": "Kopier til utklippstavla", 7 | "clipboard.copied": "Kopiert til utklippstavla", 8 | "edit.link.title": "Rediger denne sida", 9 | "footer.previous": "Førre", 10 | "footer.next": "Neste", 11 | "meta.comments": "Kommentarar", 12 | "meta.source": "Kjelde", 13 | "search.config.lang": "no", 14 | "search.placeholder": "Søk", 15 | "search.result.placeholder": "Skriv søkeord", 16 | "search.result.none": "Ingen treff", 17 | "search.result.one": "1 treff", 18 | "search.result.other": "# treff", 19 | "skip.link.title": "Gå til innhald", 20 | "source.link.title": "Gå til kjelde", 21 | "source.file.date.updated": "Siste oppdatering", 22 | "source.file.date.created": "Laget", 23 | "toc.title": "Innhaldsliste" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/no.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "no", 6 | "clipboard.copy": "Kopier til utklippstavlen", 7 | "clipboard.copied": "Kopiert til utklippstavlen", 8 | "edit.link.title": "Rediger denne siden", 9 | "footer.previous": "Forrige", 10 | "footer.next": "Neste", 11 | "meta.comments": "Kommentarer", 12 | "meta.source": "Kilde", 13 | "search.config.lang": "no", 14 | "search.placeholder": "Søk", 15 | "search.result.placeholder": "Skriv søkeord", 16 | "search.result.none": "Ingen treff", 17 | "search.result.one": "1 treff", 18 | "search.result.other": "# treff", 19 | "skip.link.title": "Gå til innhold", 20 | "source.link.title": "Gå til kilde", 21 | "source.file.date.updated": "Siste oppdatering", 22 | "source.file.date.created": "Created", 23 | "toc.title": "Innholdsfortegnelse" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/pl.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "pl", 6 | "clipboard.copy": "Kopiuj do schowka", 7 | "clipboard.copied": "Skopiowane", 8 | "edit.link.title": "Edytuj tę stronę", 9 | "footer.previous": "Poprzednia strona", 10 | "footer.next": "Następna strona", 11 | "footer.title": "Stopka", 12 | "header.title": "Nagłówek", 13 | "meta.comments": "Komentarze", 14 | "meta.source": "Kod źródłowy", 15 | "search.config.pipeline": " ", 16 | "nav.title": "Nawigacja", 17 | "search.placeholder": "Szukaj", 18 | "search.reset": "Wyczyść", 19 | "search.result.initializer": "Inicjowanie wyszukiwania", 20 | "search.result.placeholder": "Zacznij pisać, aby szukać", 21 | "search.result.none": "Brak wyników wyszukiwania", 22 | "search.result.one": "Wyniki wyszukiwania: 1", 23 | "search.result.other": "Wyniki wyszukiwania: #", 24 | "search.result.more.one": "1 więcej na tej stronie", 25 | "search.result.more.other": "# więcej na tej stronie", 26 | "search.result.term.missing": "Brak", 27 | "skip.link.title": "Przejdź do treści", 28 | "source.link.title": "Idź do repozytorium", 29 | "source.file.date.updated": "Ostatnia aktualizacja", 30 | "source.file.date.created": "Utworzony", 31 | "tabs.title": "Zakładki", 32 | "toc.title": "Spis treści" 33 | }[key] }}{% endmacro %} 34 | -------------------------------------------------------------------------------- /overrides/partials/languages/pt-BR.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "pt", 6 | "clipboard.copy": "Copiar para área de Transferência", 7 | "clipboard.copied": "Copiado para área de Transferência", 8 | "edit.link.title": "Editar esta página", 9 | "footer.previous": "Anterior", 10 | "footer.next": "Próximo", 11 | "footer.title": "Rodapé", 12 | "header.title": "Cabeçalho", 13 | "meta.comments": "Comentários", 14 | "meta.source": "Origem", 15 | "nav.title": "Navegação", 16 | "search.config.lang": "pt", 17 | "search.placeholder": "Buscar", 18 | "search.reset": "Limpar", 19 | "search.result.initializer": "Inicializando busca", 20 | "search.result.placeholder": "Digite para iniciar a busca", 21 | "search.result.none": "Nenhum documento encontrado", 22 | "search.result.one": "1 documento encontrado", 23 | "search.result.other": "# documentos encontrados", 24 | "search.result.more.one": "1 more on this page", 25 | "search.result.more.other": "# more on this page", 26 | "search.result.term.missing": "Perdido", 27 | "search.title": "Pesquisar", 28 | "select.language.title": "Selecione a linguagem", 29 | "select.version.title": "Selecione a versão", 30 | "skip.link.title": "Pular para conteúdo", 31 | "source.link.title": "Ir para repositório", 32 | "source.file.date.updated": "Ultima atualização", 33 | "source.file.date.created": "Criado em", 34 | "tabs.title": "Abas", 35 | "toc.title": "Indice", 36 | "top.title": "Voltar para o topo" 37 | }[key] }}{% endmacro %} 38 | -------------------------------------------------------------------------------- /overrides/partials/languages/pt.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "pt", 6 | "clipboard.copy": "Copiar para área de transferência", 7 | "clipboard.copied": "Copiado para área de transferência", 8 | "edit.link.title": "Editar esta página", 9 | "footer.previous": "Anterior", 10 | "footer.next": "Próximo", 11 | "footer.title": "Rodapé", 12 | "header.title": "Cabeçalho", 13 | "meta.comments": "Comentários", 14 | "meta.source": "Fonte", 15 | "nav.title": "Navegação", 16 | "search.config.lang": "pt", 17 | "search.placeholder": "Buscar", 18 | "search.share": "Compartilhar", 19 | "search.reset": "Limpar", 20 | "search.result.initializer": "Inicializando a pesquisa", 21 | "search.result.placeholder": "Digite para iniciar a busca", 22 | "search.result.none": "Nenhum resultado encontrado", 23 | "search.result.one": "1 resultado encontrado", 24 | "search.result.other": "# resultados encontrados", 25 | "search.result.more.one": "Mais 1 nesta página", 26 | "search.result.more.other": "Mais # nesta página", 27 | "search.result.term.missing": "Ausente", 28 | "search.title": "Pesquisar", 29 | "select.language.title": "Selecione o idioma", 30 | "select.version.title": "Selecione a versão", 31 | "skip.link.title": "Ir para o conteúdo", 32 | "source.link.title": "Ir ao repositório", 33 | "source.file.date.updated": "Última atualização", 34 | "source.file.date.created": "Criada", 35 | "tabs.title": "Abas", 36 | "toc.title": "Índice", 37 | "top.title": "Voltar ao topo" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/ro.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ro", 6 | "clipboard.copy": "Copiază în clipboard", 7 | "clipboard.copied": "Copiat în clipboard", 8 | "edit.link.title": "Editeaza această pagină", 9 | "footer.previous": "Anterior", 10 | "footer.next": "Următor", 11 | "meta.comments": "Comentarii", 12 | "meta.source": "Sursă", 13 | "search.config.lang": "ro", 14 | "search.placeholder": "Căutare", 15 | "search.result.placeholder": "Tastează pentru a începe căutarea", 16 | "search.result.none": "Nu a fost găsit niciun document", 17 | "search.result.one": "1 document găsit", 18 | "search.result.other": "# documente găsite", 19 | "skip.link.title": "Sari la conținut", 20 | "source.link.title": "Accesează repository-ul", 21 | "source.file.date.updated": "Ultima actualizare", 22 | "source.file.date.created": "Creată", 23 | "toc.title": "Cuprins" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/ru.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ru", 6 | "clipboard.copy": "Копировать в буфер", 7 | "clipboard.copied": "Скопировано в буфер", 8 | "edit.link.title": "Редактировать страницу", 9 | "footer.previous": "Назад", 10 | "footer.next": "Вперед", 11 | "footer.title": "Нижний колонтитул", 12 | "header.title": "Верхний колонтитул", 13 | "meta.comments": "Комментарии", 14 | "meta.source": "Исходный код", 15 | "nav.title": "Навигация", 16 | "search.config.lang": "ru", 17 | "search.placeholder": "Поиск", 18 | "search.share": "Поделиться", 19 | "search.reset": "Очистить", 20 | "search.result.initializer": "Инициализация поиска", 21 | "search.result.placeholder": "Начните печатать для поиска", 22 | "search.result.none": "Совпадений не найдено", 23 | "search.result.one": "Найдено 1 совпадение", 24 | "search.result.other": "Найдено совпадений: #", 25 | "search.result.more.one": "Ещё 1 на этой странице", 26 | "search.result.more.other": "Ещё # на этой странице", 27 | "search.result.term.missing": "Отсутствует", 28 | "search.title": "Поиск", 29 | "select.language.title": "Выберите язык", 30 | "select.version.title": "Выберите версию", 31 | "skip.link.title": "Перейти к содержанию", 32 | "source.link.title": "Перейти к репозиторию", 33 | "source.file.date.updated": "Последнее обновление", 34 | "source.file.date.created": "Дата создания", 35 | "tabs.title": "Вкладки", 36 | "toc.title": "Содержание раздела", 37 | "top.title": "К началу" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/sh.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "sh", 6 | "clipboard.copy": "Kopiraj u klipbord", 7 | "clipboard.copied": "Iskopirano u klipbord", 8 | "edit.link.title": "Ažuriraj stranicu", 9 | "footer.previous": "Prethodno", 10 | "footer.next": "Sledeće", 11 | "footer.title": "Podnožje", 12 | "header.title": "Zaglavlje", 13 | "meta.comments": "Komentari", 14 | "meta.source": "Izvor", 15 | "nav.title": "Navigacija", 16 | "search.placeholder": "Pretraga", 17 | "search.share": "Deljenje", 18 | "search.reset": "Očisti", 19 | "search.result.initializer": "Inicijalizujem pretragu", 20 | "search.result.placeholder": "Unesite pojam pretrage", 21 | "search.result.none": "Ništa nije pronađeno", 22 | "search.result.one": "1 rezultat pretrage", 23 | "search.result.other": "# rezultata pretrage", 24 | "search.result.more.one": "još 1 na ovoj strani", 25 | "search.result.more.other": "još # na ovoj strani", 26 | "search.result.term.missing": "Nedostaje", 27 | "search.title": "Pretraga", 28 | "select.language.title": "Izaberi jezik", 29 | "select.version.title": "Izaberi verziju", 30 | "skip.link.title": "Idi na tekst", 31 | "source.link.title": "Idi u repozitorijum", 32 | "source.file.date.updated": "Ažuriran", 33 | "source.file.date.created": "Kreiran", 34 | "tabs.title": "Tabovi", 35 | "toc.title": "Sadržaj", 36 | "top.title": "Nazad na vrh" 37 | }[key] }}{% endmacro %} 38 | -------------------------------------------------------------------------------- /overrides/partials/languages/si.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "si", 6 | "clipboard.copy": "කොපි කරන්න", 7 | "clipboard.copied": "කොපි කළා", 8 | "edit.link.title": "පිටුව සංස්කරණය", 9 | "footer.previous": "පසුගිය", 10 | "footer.next": "මීළඟ", 11 | "footer.title": "පාදම", 12 | "header.title": "ශීර්ෂය", 13 | "meta.comments": "ප්‍රතිචාර", 14 | "meta.source": "මූලාශ්‍රය", 15 | "nav.title": "යාත්‍රණය", 16 | "search.config.pipeline": " ", 17 | "search.placeholder": "සොයන්න", 18 | "search.reset": "මකන්න", 19 | "search.result.placeholder": "සෙවීමට ටයිප් කරන්න", 20 | "search.result.none": "කිසිවක් හමු නොවුණි", 21 | "search.result.one": "1 ගැලපෙන ගොනුවක්", 22 | "search.result.other": "ගැලපෙන ගොනු # ක්", 23 | "search.result.more.one": "තව 1 ප්‍රතිඵලයක්", 24 | "search.result.more.other": "තව ප්‍රතිඵල # ක්", 25 | "skip.link.title": "අන්තර්ගතය වෙත යන්න", 26 | "source.link.title": "රිපොසිටරියට යන්න", 27 | "source.file.date.updated": "අවසන් යාවත්කාලීන වීම", 28 | "source.file.date.created": "ٺاھيو ويو", 29 | "tabs.title": "ටැබ්ස්", 30 | "toc.title": "පටුන" 31 | }[key] }}{% endmacro %} 32 | -------------------------------------------------------------------------------- /overrides/partials/languages/sk.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "sk", 6 | "clipboard.copy": "Kopírovať do schránky", 7 | "clipboard.copied": "Skopírované do schránky", 8 | "edit.link.title": "Upraviť túto stránku", 9 | "footer.previous": "Späť", 10 | "footer.next": "Ďalej", 11 | "meta.comments": "Komentáre", 12 | "meta.source": "Zdroj", 13 | "search.placeholder": "Hľadať", 14 | "search.result.placeholder": "Pre vyhľadávanie začni písať", 15 | "search.result.none": "Žiadne vyhovujúce dokumenty", 16 | "search.result.one": "Vyhovujúci dokument: 1", 17 | "search.result.other": "Vyhovujúce dokumenty: #", 18 | "skip.link.title": "Preskočiť na obsah", 19 | "source.link.title": "Zobraziť repozitár", 20 | "source.file.date.updated": "Posledná aktualizácia", 21 | "source.file.date.created": "Vytvorené", 22 | "toc.title": "Obsah" 23 | }[key] }}{% endmacro %} 24 | -------------------------------------------------------------------------------- /overrides/partials/languages/sl.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "sl", 6 | "announce.dismiss": "Ne prikaži več", 7 | "clipboard.copy": "Kopiraj v odložišče", 8 | "clipboard.copied": "Kopirano v odložišče", 9 | "consent.accept": "Sprejmi", 10 | "consent.manage": "Uredi nastavitve", 11 | "consent.reject": "Zavrni", 12 | "edit.link.title": "Uredi stran", 13 | "footer.previous": "Prejšnja stran", 14 | "footer.next": "Naslednja stran", 15 | "footer.title": "Glava", 16 | "header.title": "Noga", 17 | "meta.comments": "Komentarji", 18 | "meta.source": "Izvorna koda", 19 | "nav.title": "Navigacija", 20 | "search.config.lang": "sl", 21 | "search.placeholder": "Išči", 22 | "search.share": "Deli", 23 | "search.reset": "Počisti", 24 | "search.result.initializer": "Inicializacija iskanja", 25 | "search.result.placeholder": "Vpiši iskalni niz", 26 | "search.result.none": "Ni zadetkov", 27 | "search.result.one": "1 zadetek", 28 | "search.result.other": "# zadetkov", 29 | "search.result.more.one": "Še 1 na tej strani", 30 | "search.result.more.other": "Še # na tej strani", 31 | "search.result.term.missing": "Manjka", 32 | "search.title": "Iskanje", 33 | "select.language.title": "Izberi jezik", 34 | "select.version.title": "Izberi različico", 35 | "skip.link.title": "Skoči na vsebino", 36 | "source.link.title": "Pojdi na repozitorij", 37 | "source.file.date.updated": "Zadnja posodobitev", 38 | "source.file.date.created": "Ustvarjeno", 39 | "tabs.title": "Zavihki", 40 | "toc.title": "Kazalo", 41 | "top.title": "Nazaj na vrh" 42 | }[key] }}{% endmacro %} 43 | -------------------------------------------------------------------------------- /overrides/partials/languages/sr.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "sr", 6 | "clipboard.copy": "Копирај у клипборд", 7 | "clipboard.copied": "Ископирано у клипборд", 8 | "edit.link.title": "Ажурирај страницу", 9 | "footer.previous": "Претходно", 10 | "footer.next": "Следеће", 11 | "footer.title": "Подножје", 12 | "header.title": "Заглавље", 13 | "meta.comments": "Коментари", 14 | "meta.source": "Извор", 15 | "nav.title": "Навигација", 16 | "search.placeholder": "Претрага", 17 | "search.share": "Дељење", 18 | "search.reset": "Очисти", 19 | "search.result.initializer": "Иницијализујем претрагу", 20 | "search.result.placeholder": "Унесите појам претраге", 21 | "search.result.none": "Ништа није пронађено", 22 | "search.result.one": "1 резултат претраге", 23 | "search.result.other": "# резултата претраге", 24 | "search.result.more.one": "још 1 на овој страни", 25 | "search.result.more.other": "још # на овој страни", 26 | "search.result.term.missing": "Недостаје", 27 | "search.title": "Претрага", 28 | "select.language.title": "Изабери језик", 29 | "select.version.title": "Изабери верзију", 30 | "skip.link.title": "Иди на текст", 31 | "source.link.title": "Иди у репозиторијум", 32 | "source.file.date.updated": "Ажуриран", 33 | "source.file.date.created": "Креиран", 34 | "tabs.title": "Табови", 35 | "toc.title": "Садржај", 36 | "top.title": "Назад на врх" 37 | }[key] }}{% endmacro %} 38 | -------------------------------------------------------------------------------- /overrides/partials/languages/sv.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "sv", 6 | "clipboard.copy": "Kopiera till urklipp", 7 | "clipboard.copied": "Kopierat till urklipp", 8 | "consent.accept": "Acceptera", 9 | "consent.manage": "Hantera inställningar", 10 | "edit.link.title": "Redigera sidan", 11 | "footer.previous": "Föregående", 12 | "footer.next": "Nästa", 13 | "footer.title": "Sidfot", 14 | "header.title": "Sidhuvud", 15 | "meta.comments": "Kommentarer", 16 | "meta.source": "Källa", 17 | "nav.title": "Navigation", 18 | "search.config.lang": "sv", 19 | "search.placeholder": "Sök", 20 | "search.share": "Dela", 21 | "search.reset": "Rensa", 22 | "search.result.initializer": "Initialiserar sök", 23 | "search.result.placeholder": "Skriv sökord", 24 | "search.result.none": "Inga sökresultat", 25 | "search.result.one": "1 sökresultat", 26 | "search.result.other": "# sökresultat", 27 | "search.result.more.one": "1 till på denna sidan", 28 | "search.result.more.other": "# till på denna sidan", 29 | "search.result.term.missing": "Saknas", 30 | "search.title": "Sök", 31 | "select.language.title": "Välj språk", 32 | "select.version.title": "Välj version", 33 | "skip.link.title": "Gå till innehållet", 34 | "source.link.title": "Gå till datakatalog", 35 | "source.file.date.updated": "Senaste uppdaterad", 36 | "source.file.date.created": "Skapad", 37 | "tabs.title": "Flikar", 38 | "toc.title": "Innehållsförteckning", 39 | "top.title": "Tillbaka till toppen" 40 | }[key] }}{% endmacro %} 41 | -------------------------------------------------------------------------------- /overrides/partials/languages/th.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "th", 6 | "clipboard.copy": "คัดลอก", 7 | "clipboard.copied": "คัดลอกแล้ว", 8 | "edit.link.title": "แก้ไขหน้านี้", 9 | "footer.previous": "ก่อนหน้า", 10 | "footer.next": "ต่อไป", 11 | "meta.comments": "ความคิดเห็น", 12 | "meta.source": "แหล่งที่มา", 13 | "search.config.lang": "th", 14 | "search.placeholder": "ค้นหา", 15 | "search.result.placeholder": "พิมพ์เพื่อเริ่มค้นหา", 16 | "search.result.none": "ไม่พบเอกสารที่ตรงกัน", 17 | "search.result.one": "พบเอกสารที่ตรงกัน", 18 | "search.result.other": "พบ # เอกสารที่ตรงกัน", 19 | "skip.link.title": "ข้ามไปที่เนื้อหา", 20 | "source.link.title": "ไปที่ Repository", 21 | "source.file.date.updated": "สร้าง", 22 | "source.file.date.created": "สร้าง", 23 | "toc.title": "สารบัญ" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/tl.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "tl", 6 | "clipboard.copy": "Kopyahin sa clipboard", 7 | "clipboard.copied": "Nakopya mula sa clipboard", 8 | "edit.link.title": "I-edit ang pahinang ito", 9 | "footer.previous": "Nakaraan", 10 | "footer.next": "Susunod", 11 | "footer.title": "Lagdang Pangwakas", 12 | "header.title": "Pamuhatan", 13 | "meta.comments": "Mga Komento", 14 | "meta.source": "Pinagmulan", 15 | "nav.title": "Nabigasyon", 16 | "search.placeholder": "Hanapin", 17 | "search.share": "Ibahagi", 18 | "search.reset": "Tanggalin", 19 | "search.result.initializer": "Sinisimulan ang paghahanap", 20 | "search.result.placeholder": "Mag-type upang simulan ang paghahanap", 21 | "search.result.none": "Walang nahanap na dokumento", 22 | "search.result.one": "1 magkatugmang dokumento", 23 | "search.result.other": "# magkatugmang mga dokumento", 24 | "search.result.more.one": "1 meron sa pahina na ito", 25 | "search.result.more.other": "# meron sa pahina na ito", 26 | "search.result.term.missing": "Nawawala", 27 | "search.title": "Hanapin", 28 | "select.language.title": "Pumili ng lenguwahe", 29 | "select.version.title": "Pumili ng bersyon", 30 | "skip.link.title": "I-skip tungo sa nilalaman", 31 | "source.link.title": "Pumunta sa repository", 32 | "source.file.date.updated": "Huling update", 33 | "source.file.date.created": "Nagawa", 34 | "tabs.title": "Mga tala", 35 | "toc.title": "Talaan ng nilalaman", 36 | "top.title": "Bumalik sa taas" 37 | }[key] }}{% endmacro %} 38 | -------------------------------------------------------------------------------- /overrides/partials/languages/tr.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "tr", 6 | "clipboard.copy": "Kopyala", 7 | "clipboard.copied": "Kopyalandı", 8 | "edit.link.title": "Düzenle", 9 | "footer.previous": "Önceki", 10 | "footer.next": "Sonraki", 11 | "meta.comments": "Yorumlar", 12 | "meta.source": "Kaynak", 13 | "search.config.lang": "tr", 14 | "search.placeholder": "Ara", 15 | "search.result.placeholder": "Aramaya başlamak için yazın", 16 | "search.result.none": "Eşleşen doküman bulunamadı", 17 | "search.result.one": "1 doküman bulundu", 18 | "search.result.other": "# doküman bulundu", 19 | "skip.link.title": "Ana içeriğe geç", 20 | "source.link.title": "Depoya git", 21 | "source.file.date.updated": "Son Güncelleme", 22 | "source.file.date.created": "Oluşturuldu", 23 | "toc.title": "İçindekiler" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/uk.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "uk", 6 | "clipboard.copy": "Скопіювати в буфер", 7 | "clipboard.copied": "Скопійовано в буфер", 8 | "edit.link.title": "Редагувати сторінку", 9 | "footer.previous": "Назад", 10 | "footer.next": "Вперед", 11 | "meta.comments": "Коментарі", 12 | "meta.source": "Вихідний код", 13 | "search.config.lang": "ru", 14 | "search.placeholder": "Пошук", 15 | "search.result.placeholder": "Розпочніть писати для пошуку", 16 | "search.result.none": "Збігів не знайдено", 17 | "search.result.one": "Знайдено 1 збіг", 18 | "search.result.other": "Знайдено # збігів", 19 | "skip.link.title": "Перейти до змісту", 20 | "source.link.title": "Перейти до репозиторію", 21 | "source.file.date.updated": "Останнє оновлення", 22 | "source.file.date.created": "Створено", 23 | "toc.title": "Зміст" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/ur.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "ur", 6 | "direction": "rtl", 7 | "clipboard.copy": "کلِپ بورڈ میں نقل کریں", 8 | "clipboard.copied": "کلِپ بورڈ میں نقل کر دیا گیا", 9 | "edit.link.title": "اس صفحے میں ترمیم کریں", 10 | "footer.previous": "پچھلا", 11 | "footer.next": "اگلا", 12 | "footer.title": "ذیلی تحریر", 13 | "header.title": "سر تحریر", 14 | "meta.comments": "تبصرے", 15 | "meta.source": "ذریعہ", 16 | "nav.title": "رہنمائی", 17 | "search.config.pipeline": " ", 18 | "search.placeholder": "تلاش کریں", 19 | "search.share": "اشتراک کریں", 20 | "search.reset": "صاف کریں", 21 | "search.result.initializer": "تلاش کا آغاز ہو رہا ہے", 22 | "search.result.placeholder": "تلاش شروع کرنے کے لئے ٹائپ کریں", 23 | "search.result.none": "کوئی ملتی جلتی دستاویزات نہیں", 24 | "search.result.one": "۱ ملتی جلتی دستاویز", 25 | "search.result.other": "# ملتی جلتی دستاویزات", 26 | "search.result.more.one": "اِس صفحے پر مزید ۱", 27 | "search.result.more.other": "اِس صفحے پر مزید #", 28 | "search.result.term.missing": "گمشدہ", 29 | "search.title": "تلاش", 30 | "select.language.title": "زبان کا انتخاب کریں", 31 | "select.version.title": "ورژن کا انتخاب کریں", 32 | "skip.link.title": "براہِ راست مواد پر جائیں", 33 | "source.link.title": "ریپازٹری پر جائیں", 34 | "source.file.date.updated": "آخری بار تجدید", 35 | "source.file.date.created": "تخلیق", 36 | "tabs.title": "ٹیبز", 37 | "toc.title": "فہرست", 38 | "top.title": "واپس اوپر جائیں" 39 | }[key] }}{% endmacro %} 40 | -------------------------------------------------------------------------------- /overrides/partials/languages/uz.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "uz", 6 | "clipboard.copy": "Buferga nusxalash", 7 | "clipboard.copied": "Buferga nusxalandi", 8 | "edit.link.title": "Ushbu sahifani tahrirlash", 9 | "footer.previous": "Oldingi sahifa", 10 | "footer.next": "Keyingi sahifa", 11 | "footer.title": "Pastgi qism", 12 | "header.title": "Sarlavha", 13 | "meta.comments": "Izohlar", 14 | "meta.source": "Manba", 15 | "nav.title": "Navigatsiya", 16 | "search.config.lang": "tr", 17 | "search.placeholder": "Qidirish", 18 | "search.share": "Ulashish", 19 | "search.reset": "Tozalash", 20 | "search.result.initializer": "Qidiruv ishga tushirilmoqda", 21 | "search.result.placeholder": "Qidiruvni boshlash uchun kiriting", 22 | "search.result.none": "Mos natijalar yo'q", 23 | "search.result.one": "1 ta mos natija", 24 | "search.result.other": "# ta mos keladigan natijalar", 25 | "search.result.more.one": "Ushbu sahifada yana 1 ta natija", 26 | "search.result.more.other": "Bu sahifada yana # ta natija", 27 | "search.result.term.missing": "To'ldirilmagan", 28 | "search.title": "Qidirish", 29 | "select.language.title": "Tilni tanlang", 30 | "select.version.title": "Versiyani tanlang", 31 | "skip.link.title": "Tarkibga o'tish", 32 | "source.link.title": "Repozitoriyga o'tish", 33 | "source.file.date.updated": "Oxirgi yangilanish", 34 | "source.file.date.created": "Yaratildi", 35 | "tabs.title": "Yorliqlar", 36 | "toc.title": "Mundarija", 37 | "top.title": "Yuqoriga qaytish" 38 | }[key] }}{% endmacro %} 39 | -------------------------------------------------------------------------------- /overrides/partials/languages/vi.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "vi", 6 | "clipboard.copy": "Sao chép vào bộ nhớ", 7 | "clipboard.copied": "Sao chép xong", 8 | "edit.link.title": "Chỉnh sửa", 9 | "footer.previous": "Trước", 10 | "footer.next": "Sau", 11 | "meta.comments": "Bình luận", 12 | "meta.source": "Mã nguồn", 13 | "search.config.lang": "vi", 14 | "search.placeholder": "Tìm kiếm", 15 | "search.result.placeholder": "Nhập để bắt đầu tìm kiếm", 16 | "search.result.none": "Không tìm thấy tài liệu liên quan", 17 | "search.result.one": "1 tài liệu liên quan", 18 | "search.result.other": "# tài liệu liên quan", 19 | "skip.link.title": "Vào thẳng nội dung", 20 | "source.link.title": "Đến kho lưu trữ mã nguồn", 21 | "source.file.date.updated": "Cập nhật cuối cùng", 22 | "source.file.date.created": "Tạo", 23 | "toc.title": "Mục lục" 24 | }[key] }}{% endmacro %} 25 | -------------------------------------------------------------------------------- /overrides/partials/languages/zh-Hant.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "zh-Hant", 6 | "clipboard.copy": "拷貝", 7 | "clipboard.copied": "已拷貝", 8 | "edit.link.title": "編輯此頁", 9 | "footer.previous": "上一頁", 10 | "footer.next": "下一頁", 11 | "meta.comments": "評論", 12 | "meta.source": "來源", 13 | "search.config.lang": "ja", 14 | "search.config.pipeline": "trimmer, stemmer", 15 | "search.config.separator": "[\\s\\-,。]+", 16 | "search.placeholder": "搜尋", 17 | "search.result.initializer": "正在初始化搜尋引擎", 18 | "search.result.placeholder": "鍵入以開始檢索", 19 | "search.result.none": "沒有找到符合條件的結果", 20 | "search.result.one": "找到 1 个符合條件的結果", 21 | "search.result.other": "# 個符合條件的結果", 22 | "skip.link.title": "跳轉至", 23 | "source.link.title": "前往倉庫", 24 | "source.file.date.updated": "最後更新", 25 | "source.file.date.created": "建立日期", 26 | "toc.title": "目錄" 27 | }[key] }}{% endmacro %} 28 | -------------------------------------------------------------------------------- /overrides/partials/languages/zh-TW.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "zh-Hant", 6 | "announce.dismiss": "不再顯示此訊息", 7 | "clipboard.copy": "複製", 8 | "clipboard.copied": "已複製", 9 | "consent.accept": "同意", 10 | "consent.manage": "管理設定", 11 | "consent.reject": "拒絕", 12 | "edit.link.title": "編輯此頁", 13 | "footer.previous": "上一頁", 14 | "footer.next": "下一頁", 15 | "meta.comments": "留言", 16 | "meta.source": "來源", 17 | "search.config.lang": "ja", 18 | "search.config.pipeline": "trimmer, stemmer", 19 | "search.config.separator": "[\\s\\- 、。,.?;]+", 20 | "search.placeholder": "搜尋", 21 | "search.result.initializer": "正在初始化搜尋引擎", 22 | "search.result.placeholder": "打字進行搜尋", 23 | "search.result.none": "沒有符合的項目", 24 | "search.result.one": "找到 1 個符合的項目", 25 | "search.result.other": "找到 # 個符合的項目", 26 | "search.result.more.one": "此頁尚有 1 個符合的項目", 27 | "search.result.more.other": "此頁尚有 # 個符合的項目", 28 | "skip.link.title": "跳轉到", 29 | "source.link.title": "前往倉庫", 30 | "source.file.date.updated": "最後更新", 31 | "source.file.date.created": "建立日期", 32 | "toc.title": "目錄" 33 | }[key] }}{% endmacro %} 34 | -------------------------------------------------------------------------------- /overrides/partials/languages/zh.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro t(key) %}{{ { 5 | "language": "zh", 6 | "announce.dismiss": "不再显示此消息", 7 | "clipboard.copy": "复制", 8 | "clipboard.copied": "已复制", 9 | "consent.accept": "同意", 10 | "consent.manage": "管理设定", 11 | "consent.reject": "拒绝", 12 | "edit.link.title": "编辑此页", 13 | "footer.previous": "上一页", 14 | "footer.next": "下一页", 15 | "footer.title": "页脚", 16 | "header.title": "页眉", 17 | "meta.comments": "评论", 18 | "meta.source": "来源", 19 | "nav.title": "导航栏", 20 | "search.config.lang": "ja", 21 | "search.config.pipeline": "trimmer, stemmer", 22 | "search.config.separator": "[\\s\\-,。]+", 23 | "search.placeholder": "搜索", 24 | "search.share": "分享", 25 | "search.reset": "清空当前内容", 26 | "search.result.initializer": "正在初始化搜索引擎", 27 | "search.result.placeholder": "键入以开始搜索", 28 | "search.result.none": "没有找到符合条件的结果", 29 | "search.result.one": "找到 1 个符合条件的结果", 30 | "search.result.other": "# 个符合条件的结果", 31 | "search.result.more.one": "在该页上还有 1 个符合条件的结果", 32 | "search.result.more.other": "在该页上还有 # 个符合条件的结果", 33 | "search.result.term.missing": "缺少", 34 | "search.title": "查找", 35 | "select.language.title": "选择当前语言", 36 | "select.version.title": "选择当前版本", 37 | "skip.link.title": "跳转至", 38 | "source.link.title": "前往仓库", 39 | "source.file.date.updated": "最后更新", 40 | "source.file.date.created": "创建日期", 41 | "tabs.title": "标签", 42 | "toc.title": "目录", 43 | "top.title": "回到页面顶部" 44 | }[key] }}{% endmacro %} 45 | -------------------------------------------------------------------------------- /overrides/partials/logo.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if config.theme.logo %} 5 | logo 6 | {% else %} 7 | {% set icon = config.theme.icon.logo or "material/library" %} 8 | {% include ".icons/" ~ icon ~ ".svg" %} 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /overrides/partials/nav-item.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro render(nav_item, path, level) %} 5 | {% set class = "md-nav__item" %} 6 | {% if nav_item.active %} 7 | {% set class = class ~ " md-nav__item--active" %} 8 | {% endif %} 9 | {% if nav_item.children %} 10 | {% if "navigation.sections" in features and level == 1 + ( 11 | "navigation.tabs" in features 12 | ) %} 13 | {% set class = class ~ " md-nav__item--section" %} 14 | {% endif %} 15 |
  • 16 | {% set checked = "checked" if nav_item.active %} 17 | {% if "navigation.expand" in features and not checked %} 18 | 19 | {% else %} 20 | 21 | {% endif %} 22 | {% set indexes = [] %} 23 | {% if "navigation.indexes" in features %} 24 | {% for nav_item in nav_item.children %} 25 | {% if nav_item.is_index and not index is defined %} 26 | {% set _ = indexes.append(nav_item) %} 27 | {% endif %} 28 | {% endfor %} 29 | {% endif %} 30 | {% if not indexes %} 31 | 35 | {% else %} 36 | {% set index = indexes | first %} 37 | {% set class = "md-nav__link--active" if index == page %} 38 | 46 | {% endif %} 47 | 60 |
  • 61 | {% elif nav_item == page %} 62 |
  • 63 | {% set toc = page.toc %} 64 | 65 | {% set first = toc | first %} 66 | {% if first and first.level == 1 %} 67 | {% set toc = first.children %} 68 | {% endif %} 69 | {% if toc %} 70 | 74 | {% endif %} 75 | 76 | {{ nav_item.title }} 77 | 78 | {% if toc %} 79 | {% include "partials/toc.html" %} 80 | {% endif %} 81 |
  • 82 | {% else %} 83 |
  • 84 | 85 | {{ nav_item.title }} 86 | 87 |
  • 88 | {% endif %} 89 | {% endmacro %} 90 | {{ render(nav_item, path, level) }} 91 | -------------------------------------------------------------------------------- /overrides/partials/nav.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% set class = "md-nav md-nav--primary" %} 5 | {% if "navigation.tabs" in features %} 6 | {% set class = class ~ " md-nav--lifted" %} 7 | {% endif %} 8 | {% if "toc.integrate" in features %} 9 | {% set class = class ~ " md-nav--integrated" %} 10 | {% endif %} 11 | 31 | -------------------------------------------------------------------------------- /overrides/partials/palette.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% macro primary(key) %}{{ { 5 | "red": "#ef5552", 6 | "pink": "#e92063", 7 | "purple": "#ab47bd", 8 | "deep-purple": "#7e56c2", 9 | "indigo": "#4051b5", 10 | "blue": "#2094f3", 11 | "light-blue": "#02a6f2", 12 | "cyan": "#00bdd6", 13 | "teal": "#009485", 14 | "green": "#4cae4f", 15 | "light-green": "#8bc34b", 16 | "lime": "#cbdc38", 17 | "yellow": "#ffec3d", 18 | "amber": "#ffc105", 19 | "orange": "#ffa724", 20 | "deep-orange": "#ff6e42", 21 | "brown": "#795649", 22 | "grey": "#757575", 23 | "blue-grey": "#546d78", 24 | "black": "#000000", 25 | "white": "#ffffff" 26 | }[key] }}{% endmacro %} 27 | {% macro accent(key) %}{{ { 28 | "red": "#ff1a47", 29 | "pink": "#f50056", 30 | "purple": "#df41fb", 31 | "deep-purple": "#7c4dff", 32 | "indigo": "#526cfe", 33 | "blue": "#4287ff", 34 | "light-blue": "#0091eb", 35 | "cyan": "#00bad6", 36 | "teal": "#00bda4", 37 | "green": "#00c753", 38 | "light-green": "#63de17", 39 | "lime": "#b0eb00", 40 | "yellow": "#ffd500", 41 | "amber": "#ffaa00", 42 | "orange": "#ff9100", 43 | "deep-orange": "#ff6e42" 44 | }[key] }}{% endmacro %} 45 | -------------------------------------------------------------------------------- /overrides/partials/search.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 39 | -------------------------------------------------------------------------------- /overrides/partials/social.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 |
    5 | {% for social in config.extra.social %} 6 | {% set title = social.name %} 7 | {% if not title and "//" in social.link %} 8 | {% set _, url = social.link.split("//") %} 9 | {% set title = url.split("/")[0] %} 10 | {% endif %} 11 | 12 | {% include ".icons/" ~ social.icon ~ ".svg" %} 13 | 14 | {% endfor %} 15 |
    16 | -------------------------------------------------------------------------------- /overrides/partials/source-file.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 |
    5 |
    6 | 7 | {% if page.meta.git_revision_date_localized %} 8 | {{ lang.t("source.file.date.updated") }}: 9 | {{ page.meta.git_revision_date_localized }} 10 | {% if page.meta.git_creation_date_localized %} 11 |
    12 | {{ lang.t("source.file.date.created") }}: 13 | {{ page.meta.git_creation_date_localized }} 14 | {% endif %} 15 | {% elif page.meta.revision_date %} 16 | {{ lang.t("source.file.date.updated") }}: 17 | {{ page.meta.revision_date }} 18 | {% endif %} 19 |
    20 |
    21 | -------------------------------------------------------------------------------- /overrides/partials/source.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | 5 |
    6 | {% set icon = config.theme.icon.repo or "fontawesome/brands/git-alt" %} 7 | {% include ".icons/" ~ icon ~ ".svg" %} 8 |
    9 |
    10 | {{ config.repo_name }} 11 |
    12 |
    13 | -------------------------------------------------------------------------------- /overrides/partials/tabs-item.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if not class %} 5 | {% set class = "md-tabs__link" %} 6 | {% if nav_item.active %} 7 | {% set class = class ~ " md-tabs__link--active" %} 8 | {% endif %} 9 | {% endif %} 10 | {% if nav_item.children %} 11 | {% set title = title | d(nav_item.title) %} 12 | {% set nav_item = nav_item.children | first %} 13 | {% if nav_item.children %} 14 | {% include "partials/tabs-item.html" %} 15 | {% else %} 16 |
  • 17 | 18 | {{ title }} 19 | 20 |
  • 21 | {% endif %} 22 | {% else %} 23 |
  • 24 | 25 | {{ nav_item.title }} 26 | 27 |
  • 28 | {% endif %} 29 | -------------------------------------------------------------------------------- /overrides/partials/tabs.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% set class = "" %} 5 | 14 | -------------------------------------------------------------------------------- /overrides/partials/tags.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% if page.meta and page.meta.hide %} 5 | {% set hidden = "hidden" if "tags" in page.meta.hide %} 6 | {% endif %} 7 | {% if tags %} 8 | 27 | {% endif %} 28 | -------------------------------------------------------------------------------- /overrides/partials/toc-item.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 |
  • 5 | 6 | {{ toc_item.title }} 7 | 8 | {% if toc_item.children %} 9 | 16 | {% endif %} 17 |
  • 18 | -------------------------------------------------------------------------------- /overrides/partials/toc.html: -------------------------------------------------------------------------------- 1 | {#- 2 | This file was automatically generated - do not edit 3 | -#} 4 | {% set title = lang.t("toc.title") %} 5 | {% if config.mdx_configs.toc and config.mdx_configs.toc.title %} 6 | {% set title = config.mdx_configs.toc.title %} 7 | {% endif %} 8 | 26 | -------------------------------------------------------------------------------- /overrides/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/overrides/plugins/__init__.py -------------------------------------------------------------------------------- /overrides/plugins/search/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/overrides/plugins/search/__init__.py -------------------------------------------------------------------------------- /overrides/plugins/search/plugin.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016-2021 Martin Donath 2 | 3 | # Permission is hereby granted, free of charge, to any person obtaining a copy 4 | # of this software and associated documentation files (the "Software"), to 5 | # deal in the Software without restriction, including without limitation the 6 | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | # sell copies of the Software, and to permit persons to whom the Software is 8 | # furnished to do so, subject to the following conditions: 9 | 10 | # The above copyright notice and this permission notice shall be included in 11 | # all copies or substantial portions of the Software. 12 | 13 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE 16 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | # IN THE SOFTWARE. 20 | 21 | import logging 22 | 23 | from mkdocs.commands.build import DuplicateFilter 24 | from mkdocs.contrib.search import SearchPlugin as BasePlugin 25 | from mkdocs.contrib.search.search_index import SearchIndex as BaseIndex 26 | 27 | # ----------------------------------------------------------------------------- 28 | # Class 29 | # ----------------------------------------------------------------------------- 30 | 31 | # Search plugin with custom search index 32 | class SearchPlugin(BasePlugin): 33 | 34 | # Override to use a custom search index 35 | def on_pre_build(self, config): 36 | super().on_pre_build(config) 37 | self.search_index = SearchIndex(**self.config) 38 | 39 | # ----------------------------------------------------------------------------- 40 | 41 | # Search index with support for additional fields 42 | class SearchIndex(BaseIndex): 43 | 44 | # Override to add additional fields for each page 45 | def add_entry_from_context(self, page): 46 | index = len(self._entries) 47 | super().add_entry_from_context(page) 48 | entry = self._entries[index] 49 | 50 | # Add document tags, if any 51 | if page.meta.get("tags"): 52 | if type(page.meta["tags"]) is list: 53 | entry["tags"] = [ 54 | str(tag) for tag in page.meta["tags"] 55 | ] 56 | else: 57 | log.warning( 58 | "Skipping 'tags' due to invalid syntax [%s]: %s", 59 | page.file.src_path, 60 | page.meta["tags"] 61 | ) 62 | 63 | # Add document boost for search 64 | if "search" in page.meta: 65 | search = page.meta["search"] 66 | if "boost" in search: 67 | entry["boost"] = search["boost"] 68 | 69 | # ----------------------------------------------------------------------------- 70 | # Data 71 | # ----------------------------------------------------------------------------- 72 | 73 | # Set up logging 74 | log = logging.getLogger("mkdocs") 75 | log.addFilter(DuplicateFilter()) 76 | -------------------------------------------------------------------------------- /overrides/plugins/social/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/overrides/plugins/social/__init__.py -------------------------------------------------------------------------------- /overrides/plugins/tags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/overrides/plugins/tags/__init__.py -------------------------------------------------------------------------------- /site/assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/site/assets/images/favicon.png -------------------------------------------------------------------------------- /site/assets/javascripts/lunr/min/lunr.hi.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Za-zA-Z0-90-9",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}}); -------------------------------------------------------------------------------- /site/assets/javascripts/lunr/min/lunr.ja.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursors||e>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor>1),f=0,l=o0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); -------------------------------------------------------------------------------- /site/assets/javascripts/lunr/min/lunr.th.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}}); -------------------------------------------------------------------------------- /site/assets/javascripts/lunr/min/lunr.vi.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}}); -------------------------------------------------------------------------------- /site/assets/javascripts/lunr/min/lunr.zh.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("nodejieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 以 于 上 他 而 后 之 来 及 了 因 下 可 到 由 这 与 也 此 但 并 个 其 已 无 小 我 们 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 从 到 得 打 凡 儿 尔 该 各 给 跟 和 何 还 即 几 既 看 据 距 靠 啦 了 另 么 每 们 嘛 拿 哪 那 您 凭 且 却 让 仍 啥 如 若 使 谁 虽 随 同 所 她 哇 嗡 往 哪 些 向 沿 哟 用 于 咱 则 怎 曾 至 致 着 诸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}}); -------------------------------------------------------------------------------- /site/assets/stylesheets/palette.cbb835fc.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["src/assets/stylesheets/palette/_scheme.scss","../../../src/assets/stylesheets/palette.scss","src/assets/stylesheets/palette/_accent.scss","src/assets/stylesheets/palette/_primary.scss","src/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"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","file":"palette.css"} -------------------------------------------------------------------------------- /site/overrides/assets/stylesheets/main.8a4f01ed.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["src/overrides/assets/stylesheets/main/_typeset.scss","../../../../src/overrides/assets/stylesheets/main.scss","src/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/main/layout/_banner.scss","src/overrides/assets/stylesheets/main/layout/_hero.scss","src/overrides/assets/stylesheets/main/layout/_iconsearch.scss","src/overrides/assets/stylesheets/main/layout/_sponsorship.scss"],"names":[],"mappings":"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","file":"main.css"} -------------------------------------------------------------------------------- /site/sitemap.xml.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sqlsec/Hackintosh/03f082134f278f6f9d7aa6f447c610cc7be4b939/site/sitemap.xml.gz --------------------------------------------------------------------------------