|
|
(未显示3个用户的87个中间版本) |
第1行: |
第1行: |
− | <noinclude> | + | <div style="border: 1px solid #A7D7F9; background: #FFFFFF; margin:0; padding: 1em; text-align:center"><big>'''欢迎来到第一期ARM裸机加强版Wiki教程'''</big> |
− | <languages/>
| + | </div> |
− | </noinclude>{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{ {{TNTN|Ptag}} |{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
| + | *第一期ARM裸机加强版视频教程是基于JZ2440,Ubuntu16.04系统进行视频讲解操作 |
− | {| class="tpl-infobox ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
| + | *考虑到视频教程知识点过多,一时无法全部理解,故将视频内容整理成文档供参考。由于工作量大,文档中难免会出现遗漏或者错误,请大家看到后及时指正 |
− | |unmaintained|archive|milestone|unstable|experimental|beta|stable|magic={{{status}}}
| + | *欢迎大家对wiki提出建议,共同努力,共同成长 |
− | |#default=unknown
| + | |
− | }}" style="float:{{dir|{{pagelang}}|left|right}}; clear:{{dir|{{pagelang}}|left|right}}; margin:{{dir|{{pagelang}}|0 0.5em 0.5em 0|0 0 0.5em 0.5em}}" cellspacing="0"
| + | '''本教程的开发环境''' |
− | |+ '''{{ll|Manual:Extensions|<translate><!--T:1--> MediaWiki extensions manual</translate>}}'''
| + | *电脑系统 Windows7 / Windows10 |
− | |- class="tpl-infobox-header ext-infobox-header" style="text-align:{{dir|{{pagelang}}|right|left}}" | + | *百问网提供的虚拟机系统Ubuntu16.04 |
− | ! colspan="2" style="padding-top: 0.5em;" | [[File:{{#ifeq: {{{status|}}} |unstable|Crystal Clear app error.png|<!--else-->Crystal Clear action run.png}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span style="font-size: 130%;">{{{name|{{IfNotTranslation|{{PAGENAME}}|{{BASEPAGENAME}}}}}}}</span><br /> | + | *视频配套开发板:JZ2440 V3 |
− | {{ll|Extension status|<translate><!--T:2--> Release status:</translate>}} {{#switch: {{lc: {{{status|unknown}}} }}
| + | *如有问题请请注册账户后点击左上角的讨论进入留言。 |
− | |unmaintained=<translate><!--T:3--> unmaintained</translate>
| + | |
− | |archive=<translate><!--T:4--> archive</translate>
| + | {| style="border: 0px" width="100%" |
− | |milestone=<translate><!--T:5--> milestone</translate>
| + | |- align="center" bgcolor="#66CCCC" style="color:black;" |
− | |unstable=<translate><!--T:6--> unstable</translate>
| + | ! height="35" colspan="2" | [[第二期Linux驱动|<span style="color:white;">第一期ARM裸机加强版Wiki教程目录</span>]] |
− | |experimental=<translate><!--T:7--> experimental</translate>
| + | |- align="center" style="background:#CCFFCC;" valign="top" |
− | |beta=<translate><!--T:8--> beta</translate>
| + | ! width="50%" height="35" | '''ARM裸机加强版WiKi''' |
− | |stable=<translate><!--T:9--> stable</translate>
| + | ! width="50%" height="35" | '''ARM裸机加强版WiKi_PDF文档''' |
− | |magic=<translate><!--T:10--> magic</translate>
| |
− | |#default=<translate><!--T:11--> unknown</translate>
| |
− | }}<!-- Category logic -->{{#if:{{{license|}}}|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Extension|getLicenseCategory|{{{license}}}}}}}}}<!--
| |
− | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
| |
− | |unstable|experimental|stable = {{{status}}} extensions
| |
− | |beta = beta status extensions | |
− | |unknown = extensions with unknown status
| |
− | |unmaintained = Not LTS ready
| |
− | |archive = archive extensions
| |
− | |milestone = milestone extensions
| |
− | |#default = extensions with invalid status
| |
− | }}{{#translation:}}]]}}
| |
| |- | | |- |
− | {{#if:{{{image|}}}|
| + | | width="50%" align="left" valign="top" | |
− | {{!}} colspan="2" style="text-align: center;" {{!}} [[File:{{{image}}}|{{{imagesize|350}}}px]]
| + | *[[第001课 不要再用老方法学习单片机和ARM]] |
− | {{!}}-
| + | *[[第002课 ubuntu环境搭建和ubuntu图形界面操作(免费)]] |
− | |{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}}}
| + | *[[第003课 linux入门命令]] |
− | {{#if:{{{type|}}}{{{type1|}}}|
| + | *[[第004课 vi编辑器]] |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#type|'''<translate><!--T:12--> Implementation</translate>'''}}
| + | *[[第005课 linux进阶命令]] |
− | {{!}} {{#invoke:Extension|getTypes}}<!--
| + | *[[第006课 开发板熟悉与体验(免费)]] |
− | -->|<!--else--><!--
| + | *[[第007课 裸机开发步骤和工具使用(免费))]] |
− | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
| + | *[[第008课 第1个ARM裸板程序及引申(部分免费)]] |
− | nothing
| + | *[[第009课 gcc和arm-linux-gcc和Makefile]] |
− | -->|<!--else--><!--
| + | *[[第010课 掌握ARM芯片时钟体系]] |
− | -->{{#invoke:Extension|getType|_missing_}}<!--
| + | *[[第011课 串口(UART)的使用]] |
− | -->}}<!--
| + | *[[第012课 内存控制器与SDRAM]] |
− | -->
| + | *[[第013课 代码重定位]] |
− | {{!}}-
| + | *[[第014课 异常与中断]] |
− | }}
| + | *[[第015课 Nor Flash]] |
− | |-
| + | *[[第016课 Nand Flash]] |
− | {{#if:{{{description|}}}|
| + | *[[第017课 LCD编程]] |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#description|'''<translate><!--T:13--> Description</translate>'''}}
| + | *[[第018课 ADC和触摸屏]] |
− | {{!}} {{{description}}}
| + | *[[第019课 I2C]] |
− | {{!}}-
| + | *[[第020课 SPI裸板]] |
− | }}
| + | *[[第021课 MMU和Cache ]] |
− | {{#if:{{{author|}}}{{{username|}}} |
| + | *[[第022课 传感器 ]] |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#username|'''<translate><!--T:14--> Author(s)</translate>'''}}
| + | | width="50%" align="left" valign="top" | |
− | {{!}} {{#if: {{{username|}}} |<!--
| + | *[[File:第001课 不要再用老方法学习单片机和ARM - 百问网嵌入式Linux wiki.pdf]] |
− | -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
| + | *[[File:第002课 ubuntu环境搭建和ubuntu图形界面操作(免费) - 百问网嵌入式Linux wiki.pdf]] |
− | nothing
| + | *[[File:第003课 linux入门命令 - 百问网嵌入式Linux wiki.pdf]] |
− | -->|<!--else--><!--
| + | *[[File:第004课 vi编辑器 - 百问网嵌入式Linux wiki.pdf]] |
− | -->{{{author}}} (<!--
| + | *[[File:第005课 linux进阶命令 - 百问网嵌入式Linux wiki.pdf]] |
− | -->}}<!--
| + | *[[File:第006课 开发板熟悉与体验(免费) - 百问网嵌入式Linux wiki.pdf]] |
− | -->[[User:{{{username}}}|{{{username}}}]]<!--
| + | *[[File:第007课 裸机开发步骤和工具使用(免费)) - 百问网嵌入式Linux wiki.pdf]] |
− | --><sup>[[User talk:{{{username}}}|{{int:talkpagelinktext}}]]</sup><!--
| + | *[[File:第008课 第1个ARM裸板程序及引申(部分免费) - 百问网嵌入式Linux wiki.pdf]] |
− | -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
| + | *[[File:第009课 gcc和arm-linux-gcc和Makefile - 百问网嵌入式Linux wiki.pdf]] |
− | nothing
| + | *[[File:第010课 掌握ARM芯片时钟体系 - 百问网嵌入式Linux wiki.pdf]] |
− | -->|<!--else--><!--
| + | *[[File:第011课 串口(UART)的使用 - 百问网嵌入式Linux wiki.pdf]] |
− | -->)<!--
| + | *[[File:第012课 内存控制器与SDRAM - 百问网嵌入式Linux wiki.pdf]] |
− | -->}}<!--
| + | *[[File:第013课 代码重定位 - 百问网嵌入式Linux wiki.pdf]] |
− | -->|<!--else--><!--
| + | *[[File:第014课 异常与中断 - 百问网嵌入式Linux wiki.pdf]] |
− | -->{{{author}}}<!--
| + | *[[File:第015课 NOR Flash - 百问网嵌入式Linux wiki.pdf]] |
− | -->}}
| + | *[[File:第016课 Nand Flash - 百问网嵌入式Linux wiki.pdf]] |
− | {{!}}-
| + | *[[File:第017课 LCD - 百问网嵌入式Linux wiki.pdf]] |
− | }}
| + | *[[File:第018课 ADC和触摸屏 - 百问网嵌入式Linux wiki.pdf]] |
− | {{#if:{{{maintainer|}}} |
| + | *[[File:第019课 I2C - 百问网嵌入式Linux wiki.pdf]] |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#maintainer|'''<translate><!--T:46--> Maintainer(s)</translate>'''}}
| + | *[[File:第020课 SPI裸板 - 百问网嵌入式Linux wiki.pdf]] |
− | {{!}} {{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int:talkpagelinktext}}]]</sup>|{{{maintainer}}}}}
| + | *[[File:第021课 MMU和Cache - 百问网嵌入式Linux wiki.pdf]] |
− | {{!}}-
| + | *[[File:第022课 传感器 - 百问网嵌入式Linux wiki.pdf]] |
− | }}
| + | |} |
− | {{#if:{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}|
| + | |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#version|'''<translate><!--T:15--> Latest version</translate>'''}}
| + | |
− | {{!}} {{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}})}}}}}}}}
| + | 学习目标 |
− | {{!}}-
| + | 掌握写汇编代码的能力,可以分析任意裸板包括 u-boot、内核里的相关汇编代码 |
− | }}
| + | 掌握常用的硬件部件操作,比如 GPIO,UART,I2C,LCD,触摸屏; |
− | {{#if:{{{latest preview version|{{{latest_peview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
| + | 可以写出这些硬件部件的裸板程序 |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#version|'''<translate><!--T:16--> Latest preview version</translate>'''}}
| + | 深入理解 ARM 体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构 CPU,内核及应用程序 |
− | {{!}} {{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview version|{{{latest_preview_version|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview version|{{{latest_preview_version|{{{update_preview|{{{update preview}}}}}}}}}}}})}}
| + | 熟悉裸板程序的结构,给你一个 bootloader 就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等 |
− | {{!}}-
| + | 掌握 bootloader 启动内核的原理,能完全自己写出一个 bootloader、字符设备驱动 |
− | }}
| |
− | {{#if:{{{compatibility policy|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Compatibility#mediawiki_extensions|'''<translate><!--T:43--> Compatibility policy</translate>'''}}
| |
− | {{!}} {{#switch:{{{compatibility policy}}}<!--
| |
− | -->|master=<translate><!--T:44--> master</translate><!--
| |
− | -->|rel=<translate><!--T:45--> release branches</translate><!--
| |
− | -->|#default=<span class="error"><translate><!--T:47--> invalid</translate></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
| |
− | -->}}
| |
− | {{!}}-
| |
− | |{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
| |
− | }}
| |
− | {{#if:{{{mediawiki|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#mediawiki|'''MediaWiki'''}}
| |
− | {{!}} {{{mediawiki}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{php|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#php|'''PHP'''}}
| |
− | {{!}} {{{php}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{needs-updatephp|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#needs-updatephp|2=<abbr title="<translate><!--T:17--> <tvar|com>'php update.php'</> needed after installation</translate>" style="white-space:nowrap;">'''<translate><!--T:18--> Database changes</translate>'''</abbr>}}
| |
− | {{!}} {{#switch:{{{needs-updatephp}}}|yes|Yes=<translate><!--T:38--> Yes</translate>|no|No=<translate><!--T:39--> No</translate>|{{{needs-updatephp}}}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{composer|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Composer|2=<abbr title="<translate><!--T:19--> Supports 'Composer' for installation</translate>">'''Composer'''</abbr>}}
| |
− | {{!}} [https://packagist.org/packages/{{{composer}}} {{{composer}}}] {{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{composer|}}}|[[Category:Extensions supporting Composer{{#translation:}}]]|}} }}
| |
− | }}
| |
− | {{!}}-
| |
− | {{#if:{{{table1|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#table1|'''<translate><!--T:20--> Tables</translate>'''}}
| |
− | {{!}} {{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
| |
− | -->{{#if:{{{table2|}}}|<br />{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table3|}}}|<br />{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table4|}}}|<br />{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table5|}}}|<br />{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table6|}}}|<br />{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table7|}}}|<br />{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table8|}}}|<br />{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table9|}}}|<br />{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{table10|}}}|<br />{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}
| |
− | {{!}}-
| |
− | }}
| |
− | |-
| |
− | | style="vertical-align: top" {{!}} {{ll|Template:Extension#license|'''<translate><!--T:21--> License</translate>'''}}
| |
− | | {{#if:{{{license|}}}|{{#invoke:Extension|getFormattedLicense|{{{license}}}}}|<translate><!--T:22--> No license specified</translate> {{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:Extensions with no license specified{{#translation:}}]]}}}}
| |
− | |- | |
− | | style="vertical-align: top" | '''<translate><!--T:23--> Download</translate>'''
| |
− | | <!--
| |
− | -->{{#if:{{{download|}}}|{{{download}}}|''<translate><!--T:24--> No link</translate>''}}<!--
| |
− | -->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
| |
− | -->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}
| |
− | |-
| |
− | {{#if:{{{example|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#example|'''<translate><!--T:25--> Example</translate>'''}}
| |
− | {{!}} {{{example}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{namespace|}}}|
| |
− | {{!}} style="vertical-align: top" {{!}} {{ll|Template:Extension#namespace|'''<translate><!--T:26--> Namespace</translate>'''}}
| |
− | {{!}}
| |
− | {{{namespace|}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{parameters|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}<!--
| |
− | -->
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#parameters|'''<translate><!--T:27--> Parameters</translate>'''}}
| |
− | {{!}}-
| |
− | {{!}}
| |
− | {{{parameters}}}
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{tags|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#tags|'''<translate><!--T:28--> Tags</translate>'''}}
| |
− | {{!}}-
| |
− | {{!}} {{{tags}}}
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{rights|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#rights|'''<translate><!--T:29--> Added rights</translate>'''}}
| |
− | {{!}}-
| |
− | {{!}}
| |
− | {{{rights}}}
| |
− | {{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{service1|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#service|'''Services defined'''}}
| |
− | {{!}}-
| |
− | {{!}}{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]
| |
− | {{#if:{{{service2|}}}|
| |
− | {{!}}-
| |
− | {{!}}{{{service2|}}}
| |
− | }}
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{hook1|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#hook|'''<translate><!--T:30--> Hooks used</translate>'''}}
| |
− | {{!}}-
| |
− | {{!}}<!--
| |
− | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
| |
− | -->{{Foreach|Extension/HookInUseNoCats|delim=<br/>|<!--
| |
− | -->{{{hook1}}}|{{{hook2|}}}|{{{hook3|}}}|{{{hook4|}}}|{{{hook5|}}}|{{{hook6|}}}|<!--
| |
− | -->{{{hook7|}}}|{{{hook8|}}}|{{{hook9|}}}|{{{hook10|}}}|{{{hook11|}}}|{{{hook12|}}}|<!--
| |
− | -->{{{hook13|}}}|{{{hook14|}}}|{{{hook15|}}}|{{{hook16|}}}|{{{hook17|}}}|{{{hook18|}}}|<!--
| |
− | -->{{{hook19|}}}|{{{hook20|}}}|{{{hook21|}}}|{{{hook22|}}}|{{{hook23|}}}|{{{hook24|}}}|<!--
| |
− | -->{{{hook25|}}}|{{{hook26|}}}|{{{hook27|}}}|{{{hook28|}}}|{{{hook29|}}}|{{{hook30|}}}|<!--
| |
− | -->{{{hook31|}}}|{{{hook32|}}}|{{{hook33|}}}|{{{hook34|}}}|{{{hook35|}}}|{{{hook36|}}}|<!--
| |
− | -->{{{hook37|}}}|{{{hook38|}}}|{{{hook39|}}}|{{{hook40|}}}|{{{hook41|}}}|{{{hook42|}}}|<!--
| |
− | -->{{{hook43|}}}|{{{hook44|}}}|{{{hook45|}}}|{{{hook46|}}}|{{{hook47|}}}|{{{hook48|}}}<!--
| |
− | -->}}<!--
| |
− | -->|<!--else--><!--
| |
− | -->{{Foreach|Extension/HookInUse|delim=<br/>|<!--
| |
− | -->{{{hook1}}}|{{{hook2|}}}|{{{hook3|}}}|{{{hook4|}}}|{{{hook5|}}}|{{{hook6|}}}|<!--
| |
− | -->{{{hook7|}}}|{{{hook8|}}}|{{{hook9|}}}|{{{hook10|}}}|{{{hook11|}}}|{{{hook12|}}}|<!--
| |
− | -->{{{hook13|}}}|{{{hook14|}}}|{{{hook15|}}}|{{{hook16|}}}|{{{hook17|}}}|{{{hook18|}}}|<!--
| |
− | -->{{{hook19|}}}|{{{hook20|}}}|{{{hook21|}}}|{{{hook22|}}}|{{{hook23|}}}|{{{hook24|}}}|<!--
| |
− | -->{{{hook25|}}}|{{{hook26|}}}|{{{hook27|}}}|{{{hook28|}}}|{{{hook29|}}}|{{{hook30|}}}|<!--
| |
− | -->{{{hook31|}}}|{{{hook32|}}}|{{{hook33|}}}|{{{hook34|}}}|{{{hook35|}}}|{{{hook36|}}}|<!--
| |
− | -->{{{hook37|}}}|{{{hook38|}}}|{{{hook39|}}}|{{{hook40|}}}|{{{hook41|}}}|{{{hook42|}}}|<!--
| |
− | -->{{{hook43|}}}|{{{hook44|}}}|{{{hook45|}}}|{{{hook46|}}}|{{{hook47|}}}|{{{hook48|}}}<!--
| |
− | -->}}<!--
| |
− | -->}}<!--
| |
− | -->
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{newhook1|}}}|
| |
− | {{!}} style="padding: 0pt;" colspan="2" {{!}}
| |
− | {{{!}} class="mw-collapsible mw-collapsed" style="border-collapse: collapse; width: 100%;"
| |
− | {{!}}-
| |
− | ! style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|Template:Extension#newhook|'''<translate><!--T:31--> Hooks provided</translate>'''}}
| |
− | {{!}}-
| |
− | {{!}}<!--
| |
− | -->{{Foreach|Extension/HookProvided|delim=<br/>|<!--
| |
− | -->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
| |
− | -->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
| |
− | -->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
| |
− | -->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
| |
− | -->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
| |
− | -->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
| |
− | -->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
| |
− | -->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}<!--
| |
− | -->}}<!--
| |
− | -->
| |
− | {{!}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{#if:{{{compatibility|}}}|
| |
− | {{!}} colspan="2" {{!}}
| |
− | {{{compatibility}}}
| |
− | {{!}}-
| |
− | }}
| |
− | {{!}} colspan="2" style="text-align:center;" {{!}}
| |
− | <translate><!--T:32--> [[<tvar|1>translatewiki:Special:Translate/{{{translate|ext-{{lc:{{#invoke:String/enwiki|replace|{{BASEPAGENAME}}| |}}}}}}}</>|Translate the <tvar|2>{{BASEPAGENAME}}</> extension]] {{<tvar|3>#if:{{{translate|}}}|</>|if it is available at translatewiki.net}}</translate>
| |
− | {{!}}-
| |
− | {{!}} colspan="2" style="text-align:center;" {{!}}<!--
| |
− | Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
| |
− | -->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
| |
− | |no usage
| |
− | |{{#ifeq:{{NAMESPACE}}|{{ns:102}}
| |
− | |
| |
− | |no usage
| |
− | }}
| |
− | {{#ifeq:{{{templatemode|}}}|nousage
| |
− | |no usage
| |
− | }}
| |
− | }}}}}
| |
− | |<!-- no usage -->|
| |
− | <span style="white-space:nowrap"><translate><!--T:33-->
| |
− | [[<tvar|1>wikiapiary:Extension:{{{CheckUsageNameOverride|{{BASEPAGENAMEE}}}}}</>|Check usage and version matrix.]] | |
− | </translate></span>
| |
− | <!--
| |
− | -->}}
| |
− | {{#if:{{{vagrant-role|}}} |
| |
− | {{!}}-
| |
− | {{!}} style="vertical-align:top; text-align:{{dir|{{pagelang}}|right|left}}; padding:0.2em 0.5em" {{!}} {{ll|MediaWiki-Vagrant#Using roles|'''<translate><!--T:34--> Vagrant role</translate>'''}}
| |
− | {{!}} [https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]
| |
− | }}
| |
− | {{!}}-
| |
− | {{#if: {{{phabricator|{{{bugzilla|}}}}}} |
| |
− | {{!}} style="vertical-align: top" {{!}}
| |
− | '''{{ll|Phabricator|<translate><!--T:35--> Issues</translate>}}'''
| |
− | {{!}}[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<translate><!--T:36--> Open tasks</translate>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} <translate><!--T:37--> Report a bug</translate>]
| |
− | {{!}}-
| |
− | }}
| |
| | | |
− | {{#if: {{{github|}}} |
| |
− | {{!}} style="vertical-align: top" {{!}}
| |
− | '''{{ll|Github|<translate><!--T:40--> Issues</translate>}}'''
| |
− | {{!}}[https://www.github.com/{{{github}}}/issues <translate><!--T:41--> Open issues</translate>] · [https://www.github.com/{{{github}}}/issues/new <translate><!--T:42--> Report a bug</translate>]
| |
− | {{!}}-
| |
− | }}
| |
| | | |
− | |}<!--
| |
− | -->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
| |
− | nothing--><!--
| |
− | -->|<!--else--><!--
| |
− | -->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
| |
− | -->{{uc:{{{name}}}<!-- -->}}<!--
| |
− | -->|<!--else--><!--
| |
− | -->{{uc:{{PAGENAME}}<!-- -->}}<!--
| |
− | -->}}<!-- -->}}<!--
| |
− | -->[[Category:All extensions{{#translation:}}]]<!--
| |
− | -->}}<!--
| |
− | --><!--Check if the source page was deleted or not-->{{IfTranslation
| |
− | |{{#if:{{#invoke:String|match|pattern=Category:Deleted extensions with security vulnerabilities|s=<span style="display:none">{{ {{translatable}} }}</span>|nomatch=}}
| |
− | |<span style="display:none">[[Template:Extension/vulnerabilities]]</span>
| |
− | }}
| |
− | }}<!--Check if the source page was archived or not-->{{IfTranslation
| |
− | |{{#if:{{#invoke:String|match|pattern=Category:Archived extensions|s=<span style="display:none">{{ {{translatable}} }}</span>|nomatch=}}
| |
− | |<span style="display:none">[[Template:Extension/archived]]</span>
| |
− | }}
| |
− | }}<noinclude>{{ {{TNTN|Documentation}} }}
| |
− | Maintenance:
| |
− | [[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
| |
− | [[Special:WhatLinksHere/Template:Extension/archived|archived]]
| |
| | | |
− | [[Category:Info templates{{#translation:}}|{{PAGENAME}}]] | + | [https://item.taobao.com/item.htm?spm=a1z10.1-c.w5001-1253507018.8.160b9c604FHl8B&id=557849520459&scene=taobao_shop 产品详情介绍] |
− | [[Category:Extension creation{{#translation:}}]] | + | [http://bbs.100ask.org/forum.php?mod=forumdisplay&fid=32 ARM裸机加强版论坛] |
− | [[Category:Categorizing templates{{#translation:}}|{{PAGENAME}}]]
| |
− | [[Category:Extension templates{{#translation:}}]]
| |
− | </noinclude>
| |