mm upgrade and feature updates

This commit is contained in:
Plailect 2017-09-28 17:42:38 -04:00
parent 4e3910236d
commit 747107cb73
No known key found for this signature in database
GPG key ID: F8A415C5EA602A41
232 changed files with 10723 additions and 8990 deletions

13
.editorconfig Normal file
View file

@ -0,0 +1,13 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false
[*.md]
trim_trailing_whitespace = false

5
.gitattributes vendored Normal file
View file

@ -0,0 +1,5 @@
_assets/css/vendor/* linguist-vendored
_assets/js/plugins/* linguist-vendored
_assets/js/vendor/* linguist-vendored
assets/fonts/* linguist-vendored
assets/js/vendor/* linguist-vendored

View file

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2016 Michael Rose
Copyright (c) 2017 Michael Rose
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

76
Rakefile Normal file
View file

@ -0,0 +1,76 @@
require "bundler/gem_tasks"
require "jekyll"
require "listen"
def listen_ignore_paths(base, options)
[
/_config\.ya?ml/,
/_site/,
/\.jekyll-metadata/
]
end
def listen_handler(base, options)
site = Jekyll::Site.new(options)
Jekyll::Command.process_site(site)
proc do |modified, added, removed|
t = Time.now
c = modified + added + removed
n = c.length
relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s }
print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ")
begin
Jekyll::Command.process_site(site)
puts "regenerated in #{Time.now - t} seconds."
rescue => e
puts "error:"
Jekyll.logger.warn "Error:", e.message
Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information."
end
end
end
task :preview do
base = Pathname.new('.').expand_path
options = {
"source" => base.join('test').to_s,
"destination" => base.join('test/_site').to_s,
"force_polling" => false,
"serving" => true,
"theme" => "minimal-mistakes-jekyll"
}
options = Jekyll.configuration(options)
ENV["LISTEN_GEM_DEBUGGING"] = "1"
listener = Listen.to(
base.join("_data"),
base.join("_includes"),
base.join("_layouts"),
base.join("_sass"),
base.join("assets"),
options["source"],
:ignore => listen_ignore_paths(base, options),
:force_polling => options['force_polling'],
&(listen_handler(base, options))
)
begin
listener.start
Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'"
unless options['serving']
trap("INT") do
listener.stop
puts " Halting auto-regeneration."
exit 0
end
loop { sleep 1000 }
end
rescue ThreadError
# You pressed Ctrl-C, oh my!
end
Jekyll::Commands::Serve.process(options)
end

View file

@ -5,6 +5,8 @@
# For technical reasons, this file is *NOT* reloaded automatically when you use
# `jekyll serve`. If you change this file, please restart the server process.
minimal_mistakes_skin : "nord"
# Site Settings
locale : "en-US"
title : "3DS Guide"
@ -142,28 +144,28 @@ exclude: [
_pages/ca_ES,
_pages/cs_CZ,
_pages/da_DK,
# _pages/de_DE,
_pages/de_DE,
_pages/el_GR,
_pages/en_PT,
# _pages/en_US,
_pages/es_EM,
# _pages/es_ES,
# _pages/fi_FI,
# _pages/fr_FR,
# _pages/he_IL,
_pages/es_ES,
_pages/fi_FI,
_pages/fr_FR,
_pages/he_IL,
_pages/hu_HU,
_pages/id_ID,
# _pages/it_IT,
_pages/it_IT,
_pages/ja_JP,
_pages/ko_KR,
_pages/ms_MY,
_pages/no_NO,
_pages/nl_NL,
_pages/pl_PL,
# _pages/pt_BR,
_pages/pt_BR,
_pages/pt_PT,
# _pages/ro_RO,
# _pages/ru_RU,
_pages/ro_RO,
_pages/ru_RU,
_pages/sr_SP,
_pages/sv_SE,
_pages/th_TH,
@ -171,7 +173,7 @@ exclude: [
_pages/uk_UA,
_pages/vi_VN,
_pages/zh_CN,
# _pages/zh_TW,
_pages/zh_TW,
]
keep_files:
@ -207,7 +209,7 @@ sass:
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Plugins
gems:
plugins:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
@ -269,6 +271,7 @@ defaults:
values:
layout: single
author_profile: false
sidebar: true
- scope:
path: "_pages/af_ZA"
type: pages

12
_data/navigation.yml Normal file
View file

@ -0,0 +1,12 @@
# main links
main:
- title: "Quick-Start Guide"
url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
# - title: "About"
# url: https://mmistakes.github.io/minimal-mistakes/about/
# - title: "Sample Posts"
# url: /year-archive/
# - title: "Sample Collections"
# url: /collection-archive/
# - title: "Sitemap"
# url: /sitemap/

View file

@ -2,26 +2,37 @@
main:
-
title: Guide
url: /
-
title: FAQ
-
title: Troubleshooting
url: faq
-
title: Donations
url: donations
-
title: Credits
-
title: A9LH to B9S
-
title: Region Changing
-
title: GodMode9 Usage
-
title: Site Navigation
url: credits
-
title: Updating B9S
url: updating-b9s
-
title: A9LH to B9S
url: a9lh-to-b9s
-
title: Troubleshooting
url: troubleshooting
-
title: Region Changing
url: region-changing
-
title: GodMode9 Usage
url: godmode9-usage
-
title: Site Navigation
url: uninstall-cfw
-
title: Uninstall CFW
url: site-navigation
bottom:
-
title: For support in English, ask for help at <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew on Discord</a>.
@ -34,3 +45,79 @@ footer:
title: Site Navigation
-
title: Why Ads?
sidebar_title:
-
title: Overall Progress
sidebar_pages:
-
title: Home
url: /
-
title: Get Started (New 3DS)
url: get-started-(new-3ds)
-
title: Get Started (Old 3DS)
url: get-started-(old-3ds)
-
title: Cart Update
url: cart-update
-
title: ntrboot
url: ntrboot
-
title: Flashing ntrboot (3DS Single System)
url: flashing-ntrboot-(3ds-single-system)
-
title: Flashing ntrboot (3DS Multi System)
url: flashing-ntrboot-(3ds-multi-system)
-
title: Flashing ntrboot (DSi)
url: flashing-ntrboot-(dsi)
-
title: Flashing ntrboot (NDS)
url: flashing-ntrboot-(nds)
-
title: Flashing ntrboot (Powersaves)
url: flashing-ntrboot-(powersaves)
-
title: Homebrew Launcher (Soundhax)
url: homebrew-launcher-(soundhax)
-
title: Homebrew Launcher (Alternatives)
url: homebrew-launcher-(alternatives)
-
title: NTR and Cubic Ninja
url: ntr-and-cubic-ninja
-
title: Installing boot9strap (2xrsa)
url: installing-boot9strap-(2xrsa)
-
title: Installing boot9strap (Browser)
url: installing-boot9strap-(browser)
-
title: Installing boot9strap (DSiWare)
url: installing-boot9strap-(dsiware)
-
title: Installing boot9strap (DSiWare Game Injection)
url: installing-boot9strap-(dsiware-game-injection)
-
title: Installing boot9strap (DSiWare Save Injection)
url: installing-boot9strap-(dsiware-save-injection)
-
title: Installing boot9strap (Hardmod)
url: installing-boot9strap-(hardmod)
-
title: Installing boot9strap (Homebrew Launcher)
url: installing-boot9strap-(homebrew-launcher)
-
title: Installing boot9strap (MSET)
url: installing-boot9strap-(mset)
-
title: Installing boot9strap (ntrboot)
url: installing-boot9strap-(ntrboot)
-
title: NAND Restore
url: godmode9-usage#restoring-a-nand-backup
-
title: Finalizing Setup
url: finalizing-setup

View file

@ -78,17 +78,17 @@ es: &DEFAULT_ES
email_label : "Email"
recent_posts : "Entradas recientes"
undefined_wpm : "Parametro words_per_minute (Palabras por minuto) no definido en _config.yml"
comment_form_info :
comment_form_comment_label :
comment_form_md_info :
comment_form_name_label :
comment_form_email_label :
comment_form_website_label :
comment_btn_submit :
comment_btn_submitted :
comment_success_msg :
comment_error_msg :
loading_label :
comment_form_info : "Su dirección de correo no será publicada. Se han resaltado los campos requeridos"
comment_form_comment_label : "Comentario"
comment_form_md_info : "Markdown está soportado."
comment_form_name_label : "Nombre"
comment_form_email_label : "Dirección de E-mail"
comment_form_website_label : "Sitio web (opcional)"
comment_btn_submit : "Enviar Commentario"
comment_btn_submitted : "Enviado"
comment_success_msg : "Gracias por su comentario!, Este se visualizará en el sitio una vez haya sido aprobado"
comment_error_msg : "Lo sentimos, ha ocurrido un error al enviar su comentario. Por favor asegurese que todos los campos han sido diligenciados e intente de nuevo"
loading_label : "Cargando..."
es-ES:
<<: *DEFAULT_ES
es-CO:
@ -105,7 +105,7 @@ fr: &DEFAULT_FR
menu_label :
toc_label : "Sur cette page"
ext_link_label : "Lien direct"
less_than : "plus petit que"
less_than : "moins de"
minute_read : "minute de lecture"
share_on_label : "Partager sur"
meta_label :
@ -115,8 +115,8 @@ fr: &DEFAULT_FR
comments_label : "Laisser un commentaire"
comments_title :
more_label : "Lire plus"
related_label : "Vous pourriez aimer"
follow_label : "Suivez moi"
related_label : "Vous pourriez aimer aussi"
follow_label : "Contact"
feed_label : "Flux"
powered_by : "Propulsé par"
website_label : "Site"
@ -132,7 +132,7 @@ fr: &DEFAULT_FR
comment_form_website_label : "Site web (optionnel)"
comment_btn_submit : "Envoyer"
comment_btn_submitted : "Envoyé"
comment_success_msg : "Merci pour votre comentaire, il sera visible sur le site une fois approuvé."
comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé."
comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez."
loading_label : "Chargement..."
fr-FR:
@ -318,46 +318,83 @@ zh: &DEFAULT_ZH
pagination_next : "向后"
breadcrumb_home_label : "首页"
breadcrumb_separator : "/"
menu_label :
menu_label : "切换菜单"
toc_label : "在本页上"
ext_link_label : "直接链接"
less_than : "少于"
minute_read : "分钟读"
minute_read : "分钟"
share_on_label : "分享"
meta_label :
tags_label : "标签:"
categories_label : "分类:"
date_label : "最新的:"
date_label : "更新时间:"
comments_label : "留下评论"
comments_title : "评论"
more_label : "了解更多"
related_label : "猜您还喜欢"
follow_label : "关注:"
feed_label : "Feed"
powered_by : "Powered by"
powered_by : "技术来自于"
website_label : "网站"
email_label : "Email"
email_label : "电子邮箱"
recent_posts : "最新文章"
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
comment_form_info : "Your email address will not be published. Required fields are marked"
comment_form_comment_label : "Comment"
comment_form_md_info : "Markdown is supported."
comment_form_name_label : "Name"
comment_form_email_label : "Email address"
comment_form_website_label : "Website (optional)"
comment_btn_submit : "Submit Comment"
comment_btn_submitted : "Submitted"
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
loading_label : "Loading..."
undefined_wpm : "_config.yml配置中words_per_minute字段未定义"
comment_form_info : "您的电子邮箱地址并不会被展示。请填写标记为必须的字段。"
comment_form_comment_label : "评论"
comment_form_md_info : "Markdown语法已支持。"
comment_form_name_label : "姓名"
comment_form_email_label : "电子邮箱"
comment_form_website_label : "网站(可选)"
comment_btn_submit : "提交评论"
comment_btn_submitted : "已提交"
comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。"
comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。"
loading_label : "正在加载..."
zh-CN:
<<: *DEFAULT_ZH
zh-HK:
<<: *DEFAULT_ZH
zh-SG:
<<: *DEFAULT_ZH
# Taiwan (Traditional Chinese)
zh-TW:
<<: *DEFAULT_ZH
page : "頁面"
pagination_previous : "較舊"
pagination_next : "較新"
breadcrumb_home_label : "首頁"
breadcrumb_separator : "/"
menu_label : "切換選單"
toc_label : "本頁"
ext_link_label : "外部連結"
less_than : "少於"
minute_read : "分鐘閱讀"
share_on_label : "分享到"
meta_label :
tags_label : "標籤:"
categories_label : "分類:"
date_label : "更新時間:"
comments_label : "留言"
comments_title : "留言內容"
more_label : "了解更多"
related_label : "猜您有與趣"
follow_label : "追蹤:"
feed_label : "RSS Feed"
powered_by : "Powered by"
website_label : "網站"
email_label : "電子信箱"
recent_posts : "最新文章"
undefined_wpm : "_config.yml 中未定義 words_per_minute"
comment_form_info : "您的電子信箱不會被公開. 必填部份已標記"
comment_form_comment_label : "留言內容"
comment_form_md_info : "支援Markdown語法。"
comment_form_name_label : "名字"
comment_form_email_label : "電子信箱帳號"
comment_form_website_label : "網頁 (可選填)"
comment_btn_submit : "送出留言"
comment_btn_submitted : "已送出"
comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。"
comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。"
loading_label : "載入中..."
# German / Deutsch
# -----------------
@ -412,5 +449,440 @@ de-LI:
de-LU:
<<: *DEFAULT_DE
# Nepali (Nepal)
# -----------------
ne: &DEFAULT_NE
page : "पृष्‍ठ"
pagination_previous : "अघिल्लो"
pagination_next : "अर्को"
breadcrumb_home_label : "गृह"
breadcrumb_separator : "/"
menu_label : "टगल मेनु"
toc_label : "यो पृष्‍ठमा"
ext_link_label : "सिधा सम्पर्क"
less_than : "कम्तिमा"
minute_read : "मिनेट पढ्नुहोस्"
share_on_label : "शेयर गर्नुहोस्"
meta_label :
tags_label : "ट्यागहरू:"
categories_label : "वर्गहरु:"
date_label : "अद्यावधिक:"
comments_label : "टिप्पणी दिनुहोस्"
comments_title : "टिप्पणीहरू"
more_label : "अझै सिक्नुहोस्"
related_label : "तपाईं रुचाउन सक्नुहुन्छ "
follow_label : "पछ्याउनुहोस्:"
feed_label : "फिड"
powered_by : "Powered by"
website_label : "वेबसाइट"
email_label : "इमेल"
recent_posts : "ताजा लेखहरु"
undefined_wpm : "अपरिभाषित प्यारामिटर शब्दहरू_प्रति_मिनेट at _config.yml"
comment_form_info : "तपाइँको इमेल ठेगाना प्रकाशित गरिने छैन।आवश्यक जानकारीहरुमा चिन्ह लगाइको छ"
comment_form_comment_label : "टिप्पणी"
comment_form_md_info : "मार्कडाउन समर्थित छ।"
comment_form_name_label : "नाम"
comment_form_email_label : "इमेल ठेगाना"
comment_form_website_label : "वेबसाइट (वैकल्पिक)"
comment_btn_submit : "टिप्पणी दिनुहोस् "
comment_btn_submitted : "टिप्पणी भयो"
comment_success_msg : "तपाईंको टिप्पणीको लागि धन्यवाद! एक पटक यो अनुमोदन गरेपछी यो साइटमा देखाउनेछ।"
comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"
loading_label : "लोड हुँदैछ ..."
ne-NP:
<<: *DEFAULT_NE
# Korean
# --------------
ko: &DEFAULT_KO
page : "페이지"
pagination_previous : "이전"
pagination_next : "다음"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "토글 메뉴"
toc_label : "On This Page"
ext_link_label : "직접 링크"
less_than : "최대"
minute_read : "분 소요"
share_on_label : "공유하기"
meta_label :
tags_label : "태그:"
categories_label : "카테고리:"
date_label : "업데이트:"
comments_label : "댓글남기기"
comments_title : "댓글"
more_label : "더 보기"
related_label : "참고"
follow_label : "팔로우:"
feed_label : "피드"
powered_by : "Powered by"
website_label : "웹사이트"
email_label : "이메일"
recent_posts : "최근 포스트"
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
comment_form_info : "이메일은 공개되지 않습니다. 작성 필요 필드:"
comment_form_comment_label : "댓글"
comment_form_md_info : "마크다운을 지원합니다."
comment_form_name_label : "이름"
comment_form_email_label : "이메일"
comment_form_website_label : "웹사이트(선택사항)"
comment_btn_submit : "댓글 등록"
comment_btn_submitted : "등록됨"
comment_success_msg : "감사합니다! 댓글이 머지된 후 확인하실 수 있습니다."
comment_error_msg : "댓글 등록에 문제가 있습니다. 필요 필드를 작성했는지 확인하고 다시 시도하세요."
loading_label : "로딩중..."
ko-KR:
<<: *DEFAULT_KO
# Russian / Русский
# -----------------
ru: &DEFAULT_RU
page : "Страница"
pagination_previous : "Предыдущая"
pagination_next : "Следующая"
breadcrumb_home_label : "Главная"
breadcrumb_separator : "/"
menu_label : "Выпадающее меню"
toc_label : "Содержание"
ext_link_label : "Прямая ссылка"
less_than : "менее"
minute_read : "мин на чтение"
share_on_label : "Поделиться"
meta_label :
tags_label : "Метки:"
categories_label : "Разделы:"
date_label : "Дата изменения:"
comments_label : "Оставить комментарий"
comments_title : "Комментарии"
more_label : "Читать далее"
related_label : "Вам также может понравиться"
follow_label : "Связаться со мной:"
feed_label : "RSS-лента"
powered_by : "Сайт работает на"
website_label : "Сайт"
email_label : "Электронная почта"
recent_posts : "Свежие записи"
undefined_wpm : "Не определён параметр words_per_minute в _config.yml"
comment_form_info : "Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены"
comment_form_comment_label : "Комментарий"
comment_form_md_info : "Поддерживается синтаксис Markdown."
comment_form_name_label : "Имя"
comment_form_email_label : "Электронная почта"
comment_form_website_label : "Ссылка на сайт (необязательно)"
comment_btn_submit : "Оставить комментарий"
comment_btn_submitted : "Отправлено"
comment_success_msg : "Спасибо за Ваш комментарий! Он будет опубликован на сайте после проверки."
comment_error_msg : "К сожалению, произошла ошибка с отправкой комментария. Пожалуйста, убедитесь, что все обязательные поля заполнены и попытайтесь снова."
loading_label : "Отправка..."
ru-RU:
<<: *DEFAULT_RU
# Lithuanian / Lietuviškai
# -----------------
lt: &DEFAULT_LT
page : "Puslapis"
pagination_previous : "Ankstesnis"
pagination_next : "Sekantis"
breadcrumb_home_label : "Pagrindinis"
breadcrumb_separator : "/"
menu_label : "Meniu rodymas"
toc_label : "Turinys"
ext_link_label : "Tiesioginė nuoroda"
less_than : "mažiau nei"
minute_read : "min. skaitymo"
share_on_label : "Pasidalinti"
meta_label :
tags_label : "Žymės:"
categories_label : "Kategorijos:"
date_label : "Atnaujinta:"
comments_label : "Palikti komentarą"
comments_title : "Komentaras"
more_label : "Skaityti daugiau"
related_label : "Taip pat turėtų patikti"
follow_label : "Sekti:"
feed_label : "Šaltinis"
powered_by : "Sukurta su"
website_label : "Tinklapis"
email_label : "El. paštas"
recent_posts : "Naujausi įrašai"
undefined_wpm : "Nedeklaruotas parametras words_per_minute faile _config.yml"
comment_form_info : "El. pašto adresas nebus viešinamas. Būtini laukai pažymėti."
comment_form_comment_label : "Komentaras"
comment_form_md_info : "Markdown palaikomas."
comment_form_name_label : "Vardas"
comment_form_email_label : "El. paštas"
comment_form_website_label : "Tinklapis (nebūtina)"
comment_btn_submit : "Komentuoti"
comment_btn_submitted : "Įrašytas"
comment_success_msg : "Ačiū už komentarą! Jis bus parodytas kai bus patvirtintas."
comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą."
loading_label : "Kraunama..."
lt-LT:
<<: *DEFAULT_LT
# Greek
# --------------
gr: &DEFAULT_GR
page : "Σελίδα"
pagination_previous : ροηγούμενo"
pagination_next : "Επόμενo"
breadcrumb_home_label : "Αρχική"
breadcrumb_separator : "/"
menu_label : "Μενού"
toc_label : "Περιεχόμενα"
ext_link_label : "Εξωτερικός Σύνδεσμος"
less_than : "Λιγότερο από"
minute_read : "λεπτά ανάγνωσης"
share_on_label : "Μοιραστείτε το"
meta_label :
tags_label : "Ετικέτες:"
categories_label : "Κατηγορίες:"
date_label : "Ενημερώθηκε:"
comments_label : "Αφήστε ένα σχόλιο"
comments_title : "Σχόλια"
more_label : "Διάβαστε περισσότερα"
related_label : "Σχετικές αναρτήσεις"
follow_label : "Ακολουθήστε:"
feed_label : "RSS Feed"
powered_by : "Δημιουργήθηκε με"
website_label : "Ιστοσελίδα"
email_label : "Email"
recent_posts : "Τελευταίες αναρτήσεις"
undefined_wpm : "Δεν έχει οριστεί η παράμετρος words_per_minute στο αρχείο _config.yml"
comment_form_info : "Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα απαιτούμενα πεδία εμφανίζονται με αστερίσκο"
comment_form_comment_label : "Σχόλιο"
comment_form_md_info : "Το πεδίο υποστηρίζει Markdown."
comment_form_name_label : "Όνομα"
comment_form_email_label : "Διεύθυνση email"
comment_form_website_label : "Ιστοσελίδα (προαιρετικό)"
comment_btn_submit : "Υπόβαλε ένα σχόλιο"
comment_btn_submitted : "Έχει υποβληθεί"
comment_success_msg : "Ευχαριστούμε για το σχόλιό σας! Θα εμφανιστεί στην ιστοσελίδα αφού εγκριθεί."
comment_error_msg : "Λυπούμαστε, παρουσιάστηκε σφάλμα με την υποβολή σας. Παρακαλούμε βεβαιωθείτε ότι έχετε όλα τα απαιτούμενα πεδία συμπληρωμένα και δοκιμάστε ξανά."
loading_label : "Φόρτωση..."
gr-GR:
<<: *DEFAULT_GR
# Swedish
# -----------------
sv: &DEFAULT_SV
page : "Sidan"
pagination_previous : "Föregående"
pagination_next : "Nästa"
breadcrumb_home_label : "Hem"
breadcrumb_separator : "/"
menu_label : "Meny ridå"
toc_label : "På denna sida"
ext_link_label : "Direkt länk"
less_than : "mindre än"
minute_read : "minut läsning"
share_on_label : "Dela på"
meta_label :
tags_label : "Taggar:"
categories_label : "Kategorier:"
date_label : "Uppdaterades:"
comments_label : "Lämna en kommentar"
comments_title : "Kommentarer"
more_label : "Lär dig mer"
related_label : "Du kanske vill även läsa:"
follow_label : "Följ:"
feed_label : "Flöde"
powered_by : "Framställd med"
website_label : "Webbsida"
email_label : "E-post"
recent_posts : "Senaste inlägg"
undefined_wpm : "Odefinerade parametrar words_per_minute i _config.yml"
comment_form_info : "Din e-post adress kommer inte att publiceras. Obligatoriska fält är markerade."
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Använd Markdown för text-formateringen."
comment_form_name_label : "Namn"
comment_form_email_label : "E-post adress"
comment_form_website_label : "Webdsida (valfritt)"
comment_btn_submit : "Skicka en kommentar"
comment_btn_submitted : "Kommentaren har tagits emot"
comment_success_msg : "Tack för din kommentar! Den kommer att visas på sidan så fort den har godkännts."
comment_error_msg : "Tyvärr det har blivit något fel i en av fälten, se till att du fyller i alla rutor och försök igen."
loading_label : "Laddar..."
sv-SE:
<<: *DEFAULT_SV
sv-FI:
<<: *DEFAULT_SV
# Dutch
# -----------------
nl: &DEFAULT_NL
page : "Pagina"
pagination_previous : "Vorige"
pagination_next : "Volgende"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Wissel Menu"
toc_label : "Op deze pagina"
ext_link_label : "Directe Link"
less_than : "minder dan"
minute_read : "minuut gelezen"
share_on_label : "Deel op"
meta_label :
tags_label : "Labels:"
categories_label : "Categorieën:"
date_label : "Bijgewerkt:"
comments_label : "Laat een reactie achter"
comments_title : "Commentaren"
more_label : "Meer informatie"
related_label : "Bekijk ook eens"
follow_label : "Volg:"
feed_label : "Feed"
powered_by : "Aangedreven door"
website_label : "Website"
email_label : "Email"
recent_posts : "Recente berichten"
undefined_wpm : "Niet gedefinieerde parameter words_per_minute bij _config.yml"
comment_form_info : "Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd"
comment_form_comment_label : "Commentaar"
comment_form_md_info : "Markdown wordt ondersteund."
comment_form_name_label : "Naam"
comment_form_email_label : "E-mailadres"
comment_form_website_label : "Website (optioneel)"
comment_btn_submit : "Commentaar toevoegen"
comment_btn_submitted : "Toegevoegd"
comment_success_msg : "Bedankt voor uw reactie! Het zal op de site worden weergegeven zodra het is goedgekeurd."
comment_error_msg : "Sorry, er is een fout opgetreden bij uw inzending. Zorg ervoor dat alle vereiste velden zijn voltooid en probeer het opnieuw."
loading_label : "Laden..."
nl-BE:
<<: *DEFAULT_NL
nl-NL:
<<: *DEFAULT_NL
# Indonesian
# -----------------
id: &DEFAULT_ID
page : "Halaman"
pagination_previous : "Kembali"
pagination_next : "Maju"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Menu Toggle"
toc_label : "Pada Halaman Ini"
ext_link_label : "Link langsung"
less_than : "Kurang dari"
minute_read : "Waktu baca"
share_on_label : "Berbagi di"
meta_label :
tags_label : "Golongan:"
categories_label : "Kategori:"
date_label : "Diupdate:"
comments_label : "Tinggalkan komentar"
comments_title : "Komentar"
more_label : "Pelajari lagi"
related_label : "Anda juga akan suka"
follow_label : "Ikuti:"
feed_label : "Feed"
powered_by : "Didukung oleh"
website_label : "Website"
email_label : "Email"
recent_posts : "Posting terbaru"
undefined_wpm : "Parameter terdeskripsi words_per_minute di _config.yml"
comment_form_info : "Email Anda tidak akan dipublish. Kolom yang diperlukan ditandai"
comment_form_comment_label : "Komentar"
comment_form_md_info : "Markdown disupport."
comment_form_name_label : "Nama"
comment_form_email_label : "Alamat email"
comment_form_website_label : "Website (opsional)"
comment_btn_submit : "Submit Komentar"
comment_btn_submitted : "Telah disubmit"
comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui."
comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali."
loading_label : "Sedang meload..."
id-ID:
<<: *DEFAULT_ID
# Vietnamese
# -----------------
vi: &DEFAULT_VI
page : "Trang"
pagination_previous : "Trước"
pagination_next : "Sau"
breadcrumb_home_label : "Trang chủ"
breadcrumb_separator : "/"
menu_label : "Menu"
toc_label : "Tại trang này"
ext_link_label : "Đường dẫn trực tiếp"
less_than : "nhỏ hơn"
minute_read : "phút đọc"
share_on_label : "Chia sẻ tại"
meta_label :
tags_label : "Nhãn:"
categories_label : "Chủ đề:"
date_label : "Cập nhật:"
comments_label : "Để lại bình luận"
comments_title : "Bình luận"
more_label : "Mở rộng"
related_label : "Có thể bạn cũng thích"
follow_label : "Theo dõi:"
feed_label : "Feed"
powered_by : "Được hỗ trợ bởi"
website_label : "Website"
email_label : "Email"
recent_posts : "Bài viết mới"
undefined_wpm : "Chưa định nghĩa thông số words_per_minute tại _config.yml"
comment_form_info : "Email của bạn sẽ được giữ bí mật. Các phần bắt buộc được đánh dấu."
comment_form_comment_label : "Bình luận"
comment_form_md_info : "Hỗ trợ Markdown."
comment_form_name_label : "Tên"
comment_form_email_label : "Địa chỉ email"
comment_form_website_label : "Website (không bắt buộc)"
comment_btn_submit : "Gửi bình luận"
comment_btn_submitted : "Đã được gửi"
comment_success_msg : "Cảm ơn bạn đã bình luận! Bình luận sẽ xuất hiện sau khi được duyệt."
comment_error_msg : "Rất tiếc, có lỗi trong việc gửi bình luận. Hãy đảm bảo toàn bộ các phần bắt buộc đã được điền đầy đủ và thử lại."
loading_label : "Đang tải..."
vi-VN:
<<: *DEFAULT_VI
# Danish
# ------
da: &DEFAULT_DA
page : "Side"
pagination_previous : "Forrige"
pagination_next : "Næste"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Vis/skjul menu"
toc_label : "På denne side"
ext_link_label : "Direkte link"
less_than : "mindre end"
minute_read : "minutters læsning"
share_on_label : "Del på"
meta_label :
tags_label : "Nøgleord:"
categories_label : "Kategorier:"
date_label : "Opdateret:"
comments_label : "Skriv en kommentar"
comments_title : "Kommentarer"
more_label : "Lær mere"
related_label : "Måske kan du også lide"
follow_label : "Følg:"
feed_label : "Feed"
powered_by : "Drives af"
website_label : "Website"
email_label : "E-mail"
recent_posts : "Seneste indlæg"
undefined_wpm : "Parameteren words_per_minute er ikke defineret i _config.yml"
comment_form_info : "Din e-mail bliver ikke offentliggjort. Obligatoriske felter er markeret"
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Markdown er understøttet."
comment_form_name_label : "Navn"
comment_form_email_label : "E-mail"
comment_form_website_label : "Website (frivillig)"
comment_btn_submit : "Send kommentar"
comment_btn_submitted : "Sendt"
comment_success_msg : "Tak for din kommentar! Den bliver vist på siden, så snart den er godkendt."
comment_error_msg : "Desværre skete der en fejl. Prøv igen, mens du sørger for at alle obligatoriske felter er udfyldt."
loading_label : "Indlæser..."
da-DK:
<<: *DEFAULT_DA
# Another locale
# --------------
#

View file

@ -2,7 +2,7 @@
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
ga('send', 'pageview');

View file

@ -0,0 +1,7 @@
<!--
<li>
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs">
<i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link
</a>
</li>
-->

View file

@ -30,16 +30,14 @@
<ul class="author__urls social-icons">
{% if author.location %}
<li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place">
<i class="fa fa-fw fa-map-marker" aria-hidden="true"></i>
<span itemprop="name"> {{ author.location }} </span>
<i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
</li>
{% endif %}
{% if author.uri %}
<li>
<a href="{{ author.uri }}" itemprop="url">
<i class="fa fa-fw fa-chain" aria-hidden="true"></i>
{{ site.data.ui-text[site.locale].website_label | default: "Website" }}
<i class="fa fa-fw fa-chain" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}
</a>
</li>
{% endif %}
@ -47,145 +45,205 @@
{% if author.email %}
<li>
<a href="mailto:{{ author.email }}">
<i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i>
<meta itemprop="email" content="{{ author.email }}" />
{{ site.data.ui-text[site.locale].email_label | default: "Email" }}
<i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }}
</a>
</li>
{% endif %}
{% if author.keybase %}
<li><a href="https://keybase.io/{{ author.keybase }} " itemprop="sameAs">
<i class="fa fa-fw fa-key" aria-hidden="true"></i>
Keybase
</a></li>
<li>
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs">
<i class="fa fa-fw fa-key" aria-hidden="true"></i> Keybase
</a>
</li>
{% endif %}
{% if author.twitter %}
<li><a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs">
<i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i>
Twitter
</a></li>
<li>
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs">
<i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter
</a>
</li>
{% endif %}
{% if author.facebook %}
<li><a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs">
<i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i>
Facebook
</a></li>
<li>
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs">
<i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook
</a>
</li>
{% endif %}
{% if author.google_plus %}
<li><a href="https://plus.google.com/+{{ author.google_plus }}" itemprop="sameAs">
<i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i>
Google+
</a></li>
<li>
<a href="https://plus.google.com/+{{ author.google_plus }}" itemprop="sameAs">
<i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
</a>
</li>
{% endif %}
{% if author.linkedin %}
<li><a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs">
<i class="fa fa-fw fa-linkedin-square" aria-hidden="true"></i>
LinkedIn
</a></li>
<li>
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs">
<i class="fa fa-fw fa-linkedin-square" aria-hidden="true"></i> LinkedIn
</a>
</li>
{% endif %}
{% if author.xing %}
<li><a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs">
<i class="fa fa-fw fa-xing-square" aria-hidden="true"></i>
XING
</a></li>
<li>
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs">
<i class="fa fa-fw fa-xing-square" aria-hidden="true"></i> XING
</a>
</li>
{% endif %}
{% if author.instagram %}
<li><a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs">
<i class="fa fa-fw fa-instagram" aria-hidden="true"></i>
Instagram
</a></li>
<li>
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs">
<i class="fa fa-fw fa-instagram" aria-hidden="true"></i> Instagram
</a>
</li>
{% endif %}
{% if author.tumblr %}
<li><a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs">
<i class="fa fa-fw fa-tumblr-square" aria-hidden="true"></i>
Tumblr
</a></li>
<li>
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs">
<i class="fa fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr
</a>
</li>
{% endif %}
{% if author.bitbucket %}
<li><a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs">
<i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i>
Bitbucket
</a></li>
<li>
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs">
<i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket
</a>
</li>
{% endif %}
{% if author.github %}
<li><a href="https://github.com/{{ author.github }}" itemprop="sameAs">
<i class="fa fa-fw fa-github" aria-hidden="true"></i>
Github
</a></li>
<li>
<a href="https://github.com/{{ author.github }}" itemprop="sameAs">
<i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub
</a>
</li>
{% endif %}
{% if author.gitlab %}
<li>
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs">
<i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab
</a>
</li>
{% endif %}
{% if author.stackoverflow %}
<li><a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i>
Stackoverflow
</a></li>
<li>
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow
</a>
</li>
{% endif %}
{% if author.lastfm %}
<li><a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs">
<i class="fa fa-fw fa-lastfm-square" aria-hidden="true"></i>
Last.fm
</a></li>
<li>
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs">
<i class="fa fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm
</a>
</li>
{% endif %}
{% if author.dribbble %}
<li><a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs">
<i class="fa fa-fw fa-dribbble" aria-hidden="true"></i>
Dribbble
</a></li>
<li>
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs">
<i class="fa fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble
</a>
</li>
{% endif %}
{% if author.pinterest %}
<li><a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs">
<i class="fa fa-fw fa-pinterest" aria-hidden="true"></i>
Pinterest
</a></li>
<li>
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs">
<i class="fa fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest
</a>
</li>
{% endif %}
{% if author.foursquare %}
<li><a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs">
<i class="fa fa-fw fa-foursquare" aria-hidden="true"></i>
Foursquare
</a></li>
<li>
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs">
<i class="fa fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare
</a>
</li>
{% endif %}
{% if author.steam %}
<li><a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs">
<i class="fa fa-fw fa-steam-square" aria-hidden="true"></i>
Steam
</a></li>
<li>
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs">
<i class="fa fa-fw fa-steam-square" aria-hidden="true"></i> Steam
</a>
</li>
{% endif %}
{% if author.youtube %}
<li><a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs">
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i>
YouTube
</a></li>
{% if author.youtube contains "://" %}
<li>
<a href="{{ author.youtube }}" itemprop="sameAs">
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube
</a>
</li>
{% else author.youtube %}
<li>
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs">
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube
</a>
</li>
{% endif %}
{% endif %}
{% if author.soundcloud %}
<li><a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
<i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i>
Soundcloud
</a></li>
<li>
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
<i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> Soundcloud
</a>
</li>
{% endif %}
{% if author.weibo %}
<li><a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs">
<i class="fa fa-fw fa-weibo" aria-hidden="true"></i>
Weibo
</a></li>
<li>
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs">
<i class="fa fa-fw fa-weibo" aria-hidden="true"></i> Weibo
</a>
</li>
{% endif %}
{% if author.flickr %}
<li><a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs">
<i class="fa fa-fw fa-flickr" aria-hidden="true"></i>
Flickr
</a></li>
<li>
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs">
<i class="fa fa-fw fa-flickr" aria-hidden="true"></i> Flickr
</a>
</li>
{% endif %}
{% if author.codepen %}
<li><a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs">
<i class="fa fa-fw fa-codepen" aria-hidden="true"></i>
CodePen
</a></li>
<li>
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs">
<i class="fa fa-fw fa-codepen" aria-hidden="true"></i> CodePen
</a>
</li>
{% endif %}
{% if author.vine %}
<li><a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs">
<i class="fa fa-fw fa-vine" aria-hidden="true"></i>
Vine
</a></li>
<li>
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs">
<i class="fa fa-fw fa-vine" aria-hidden="true"></i> Vine
</a>
</li>
{% endif %}
{% include author-profile-custom-links.html %}
</ul>
</div>
</div>

View file

@ -1,4 +1,4 @@
{% case site.categories.type %}
{% case site.category_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
@ -9,7 +9,7 @@
{% assign path_type = nil %}
{% assign crumb_path = '/' %}
{% else %}
{% assign crumb_path = site.categories.path %}
{% assign crumb_path = site.category_archive.path %}
{% endif %}
<nav class="breadcrumbs">

View file

@ -11,7 +11,7 @@
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_hashes = (page_categories | split: ',' | sort:0) %}
{% assign category_hashes = page_categories | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fa fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>

View file

@ -1,6 +1,6 @@
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
<div class="comment__avatar-wrapper">
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80">
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
</div>
<div class="comment__content-wrapper">
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person">

View file

@ -9,5 +9,5 @@
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
<noscript>Please enable JavaScript to view the comments powered by [Discourse](http://forum.beta-europe.org/c/beta/website).</a></noscript>
<noscript>Please enable JavaScript to view the comments powered by <a href="https://www.discourse.org/">Discourse.</a></noscript>
{% endif %}

View file

@ -1,22 +1,15 @@
{% if site.comments.disqus.shortname %}
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '{{ site.comments.disqus.shortname }}';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
<script>
var disqus_config = function () {
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endif %}

View file

@ -1,18 +1,16 @@
{% if site.comments.provider and page.comments %}
{% case site.comments.provider %}
{% when "disqus" %}
{% include /comments-providers/disqus.html %}
{% when "discourse" %}
{% include /comments-providers/discourse.html %}
{% when "facebook" %}
{% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "staticman" %}
{% include /comments-providers/staticman.html %}
{% when "custom" %}
{% include /comments-providers/custom.html %}
{% endcase %}
{% case site.comments.provider %}
{% when "disqus" %}
{% include /comments-providers/disqus.html %}
{% when "discourse" %}
{% include /comments-providers/discourse.html %}
{% when "facebook" %}
{% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "staticman" %}
{% include /comments-providers/staticman.html %}
{% when "custom" %}
{% include /comments-providers/custom.html %}
{% endcase %}
{% endif %}

View file

@ -1,80 +1,97 @@
<div class="page__comments">
{% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %}
{% case site.comments.provider %}
{% when "disqus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="disqus_thread"></section>
{% when "facebook" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
{% when "google-plus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section class="g-comments" data-href="{{ page.url | absolute_url }}" data-first_party_property="BLOGGER" data-view_type="FILTERED_POSTMOD">Loading Google+ Comments ...</section>
{% when "staticman" %}
<section id="static-comments">
{% if site.repository and site.staticman.branch %}
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
{% assign comments = site.data.comments[page.slug] | sort %}
{% case site.comments.provider %}
{% when "discourse" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="discourse-comments"></section>
{% when "disqus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="disqus_thread"></section>
{% when "facebook" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
{% when "google-plus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
<script>
function initComment() {
gapi.comments.render("g-comments", {
href: "{{ page.url | absolute_url }}",
width: "624",
first_party_property: "BLOGGER",
view_type: "FILTERED_POSTMOD"
})
}
</script>
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
{% when "staticman" %}
<section id="static-comments">
{% if site.repository and site.staticman.branch %}
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
{% assign comments = site.data.comments[page.slug] | sort %}
{% for comment in comments %}
{% assign email = comment[1].email %}
{% assign name = comment[1].name %}
{% assign url = comment[1].url %}
{% assign date = comment[1].date %}
{% assign message = comment[1].message %}
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% for comment in comments %}
{% assign email = comment[1].email %}
{% assign name = comment[1].name %}
{% assign url = comment[1].url %}
{% assign date = comment[1].date %}
{% assign message = comment[1].message %}
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<div class="page__comments-form">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
<div class="form__spinner">
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
</div>
<fieldset>
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</fieldset>
<fieldset>
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</fieldset>
<fieldset>
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</fieldset>
<fieldset>
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</fieldset>
<fieldset class="hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
</fieldset>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text"></strong>
</p>
<!-- End comment form alert messaging -->
<fieldset>
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</fieldset>
</form>
</div>
<!-- End new comment form -->
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
<div class="form__spinner">
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
</div>
<fieldset>
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</fieldset>
<fieldset>
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</fieldset>
<fieldset>
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</fieldset>
<fieldset>
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</fieldset>
<fieldset class="hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
</fieldset>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text"></strong>
</p>
<!-- End comment form alert messaging -->
<fieldset>
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</fieldset>
</form>
<!-- End new comment form -->
{% endif %}
</section>
{% when "custom" %}
<section id="custom-comments"></section>
</section>
{% when "custom" %}
<section id="custom-comments"></section>
{% endcase %}
</div>

View file

@ -1,5 +1,5 @@
{% if include.id %}
{% assign feature_row = page.[include.id] %}
{% assign feature_row = page[include.id] %}
{% else %}
{% assign feature_row = page.feature_row %}
{% endif %}

View file

@ -1,2 +1,3 @@
<!-- start custom footer snippets -->
<!-- end custom footer snippets -->

View file

@ -1,5 +1,5 @@
{% if include.id %}
{% assign gallery = page.[include.id] %}
{% assign gallery = page[include.id] %}
{% else %}
{% assign gallery = page.gallery %}
{% endif %}

View file

@ -18,7 +18,7 @@
<!-- Uniq -->
{% assign __names = __names | sort %}
{% for name in __names | sort %}
{% for name in __names %}
<!-- If not equal to previous then it must be unique as sorted -->
{% unless name == previous %}

View file

@ -2,7 +2,7 @@
{% include seo.html %}
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ base_path }}/feed.xml{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
@ -16,4 +16,28 @@
<!-- For all browsers -->
<link rel="stylesheet" href="{{ '/assets/css/main.css' | absolute_url }}">
<meta http-equiv="cleartype" content="on">
<!--[if lte IE 9]>
<style>
/* old IE unsupported flexbox fixes */
.greedy-nav .site-title {
padding-right: 3em;
}
.greedy-nav button {
position: absolute;
top: 0;
right: 0;
height: 100%;
}
</style>
<![endif]-->
{% if site.head_scripts %}
{% for script in site.head_scripts %}
{% if script contains "://" %}
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %}
{% endif %}

View file

@ -11,17 +11,13 @@
{% else %}
{% assign locale_var = locale | prepend:'/' | append:'/' %}
{% endif %}
<li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ domain }}{{ locale_var }}">{{ titles[0].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}faq">{{ titles[1].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}donations">{{ titles[3].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}credits">{{ titles[4].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}updating-b9s">{{ titles[9].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}a9lh-to-b9s">{{ titles[5].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}troubleshooting">{{ titles[2].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}region-changing">{{ titles[6].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}godmode9-usage">{{ titles[7].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}uninstall-cfw">{{ titles[10].title }}</a></li>
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}site-navigation">{{ titles[8].title }}</a></li>
{% for link in site.data.navigation[locale].main %}
{% if link.url == "/" %}
<li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ domain }}{{ locale_var }}">{{ link.title }}</a></li>
{% else %}
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}{{ link.url }}">{{ link.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
<ul class="hidden-links links-menu hidden"></ul>
<ul class="hidden-links lang-menu hidden">
@ -67,8 +63,8 @@
<!-- <li class="masthead__menu-item"><a href="{{ site.url }}/cs_CZ/{{ langless_url }}">Čeština</a></li> -->
<!-- <li class="masthead__menu-item"><a href="{{ site.url }}/en_PT/{{ langless_url }}">Pirate English</a></li> -->
</ul>
<button class="lang-selector"><div class="langicon"><i class="fa fa-language fa-lg" aria-hidden="true"></i></div></button>
<button class="nav-selector" id="toggle-nav"><div class="navicon"></div></button>
<button class="navsel"><div class="navicon"></div></button>
<button class="langsel"><div class="langicon"><i class="fa fa-language fa-lg" aria-hidden="true"></i></div></button>
</nav>
</div>
</div>

View file

@ -1,47 +1,30 @@
{% assign navigation = site.data.navigation[include.nav] %}
{% assign split_path = page.path | split: "/" %}
{% assign locale = split_path[1] %}
{% if locale == 'en_US' %}
{% assign locale_var = '/' %}
{% else %}
{% assign locale_var = locale | prepend:'/' | append:'/' %}
{% endif %}
{% assign title = site.data.navigation[locale].sidebar_title %}
{% assign navigation = site.data.navigation[locale].sidebar_pages %}
<nav class="nav__list">
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
<input id="ac-toc" name="accordion-toc" type="checkbox" />
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
<ul class="nav__items">
{% for nav in navigation %}
<li>
{% if nav.url %}
{% comment %} internal/external URL check {% endcomment %}
{% if nav.url contains "://" %}
{% assign domain = "" %}
<li>
<span class="nav__sub-title">{{ title[0].title }}</span>
<ol>
{% for link in site.data.navigation[locale].sidebar_pages %}
{% if link.url == "/" %}
<li style="display: none;" data-name="home"><a href='{{ domain }}{{ locale_var }}'>{{ link.title }}</a></li>
{% else %}
{% assign domain = site.url | append: site.baseurl %}
<li style="display: none;" data-name="{{ site.data.navigation.en_US.sidebar_pages[forloop.index0].url }}"><a href='{{ domain }}{{ locale_var }}{{ link.url }}'>{{ link.title }}</a></li>
{% endif %}
<a href="{{ domain }}{{ nav.url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
{% else %}
<span class="nav__sub-title">{{ nav.title }}</span>
{% endif %}
{% if nav.children != null %}
<ul>
{% for child in nav.children %}
{% comment %} internal/external URL check {% endcomment %}
{% if child.url contains "://" %}
{% assign domain = "" %}
{% else %}
{% assign domain = site.url | append: site.baseurl %}
{% endif %}
{% comment %} set "active" class on current page {% endcomment %}
{% if child.url == page.url %}
{% assign active = "active" %}
{% else %}
{% assign active = "" %}
{% endif %}
<li><a href="{{ domain }}{{ child.url }}" class="{{ active }}">{{ child.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
{% endfor %}
</ol>
</li>
</ul>
</nav>

View file

@ -22,13 +22,21 @@
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
{% endif %}
{% if page.header.image_description %}
{% assign image_description = page.header.image_description %}
{% else %}
{% assign image_description = page.title %}
{% endif %}
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
>
{% if page.header.overlay_color or page.header.overlay_image %}
<div class="wrapper">
<h1 class="page__title" itemprop="headline">
{% if paginator %}
{% if paginator and site.paginate_show_page_num %}
{{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}
{% else %}
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
@ -45,7 +53,7 @@
{% endif %}
</div>
{% else %}
<img src="{{ img_path }}" alt="{{ page.title }}" class="page__hero-image">
<img src="{{ img_path }}" alt="{{ image_description }}" class="page__hero-image">
{% endif %}
{% if page.header.caption %}
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>

View file

@ -0,0 +1,4 @@
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
{% include video id=video_id provider=video_provider %}

View file

@ -1,22 +1,23 @@
{% if paginator.total_pages > 1 %}
<nav class="pagination">
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | absolute_url %}
<ul>
{% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<li><a href="{{ '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% else %}
<li><a href="{{ '/page' | absolute_url }}{{ paginator.previous_page | append: '/' }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% endif %}
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
{% endif %}
{% comment %} First page {% endcomment %}
{% if paginator.page == 1 %}
<li><a href="#" class="disabled current">1</a></li>
{% else %}
<li><a href="{{ '/' | absolute_url }}">1</a></li>
<li><a href="{{ first_page_path }}">1</a></li>
{% endif %}
{% assign page_start = 2 %}
@ -34,7 +35,7 @@
{% for index in (page_start..page_end) %}
{% if index == paginator.page %}
<li><a href="{{ '/page' | absolute_url }}{{ index | append: '/' }}" class="disabled current">{{ index }}</a></li>
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | absolute_url }}" class="disabled current">{{ index }}</a></li>
{% else %}
{% comment %} Distance from current page and this link {% endcomment %}
{% assign dist = paginator.page | minus: index %}
@ -42,7 +43,7 @@
{% comment %} Distance must be a positive value {% endcomment %}
{% assign dist = 0 | minus: dist %}
{% endif %}
<li><a href="{{ '/page' | absolute_url }}{{ index | append: '/' }}">{{ index }}</a></li>
<li><a href="{{ site.paginate_path | replace: ':num', index | absolute_url }}">{{ index }}</a></li>
{% endif %}
{% endfor %}
@ -54,12 +55,12 @@
{% if paginator.page == paginator.total_pages %}
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
{% else %}
<li><a href="{{ '/page' | absolute_url }}{{ paginator.total_pages }}/">{{ paginator.total_pages }}</a></li>
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | absolute_url }}">{{ paginator.total_pages }}</a></li>
{% endif %}
{% comment %} Link next page {% endcomment %}
{% if paginator.next_page %}
<li><a href="{{ '/page' | absolute_url }}{{ paginator.next_page }}/">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
{% endif %}

View file

@ -6,9 +6,9 @@
{% assign words = page.content | strip_html | number_of_words %}
{% endif %}
{% if words < 180 %}
{% if words < words_per_minute %}
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% elsif words < 360 %}
{% elsif words == words_per_minute %}
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% else %}
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}

View file

@ -1,4 +1,15 @@
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
{% if site.footer_scripts %}
{% for script in site.footer_scripts %}
{% if script contains "://" %}
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %}
{% else %}
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
{% endif %}
{% include analytics.html %}
{% include /comments-providers/scripts.html %}

View file

@ -25,7 +25,7 @@
<meta name="description" content="{{ seo_description }}">
{% assign seo_author = page.author | default: page.author[0] | default: site.author[0] %}
{% assign seo_author = page.author | default: page.author[0] | default: site.author.name %}
{% if seo_author %}
{% if seo_author.twitter %}
{% assign seo_author_twitter = seo_author.twitter %}
@ -39,7 +39,9 @@
{% assign seo_author_twitter = seo_author_twitter | replace: "@", "" %}
{% endif %}
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en" }}">
<meta name="author" content="{{ seo_author }}">
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
<meta property="og:site_name" content="{{ site.title }}">
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
@ -85,7 +87,15 @@
{% endif %}
{% endif %}
<meta property="og:image" content="{{ base_path }}/images/bio-photo.png" />
{% if page.header.image %}
<meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
{% elsif page.header.overlay_image %}
<meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
{% elsif page.header.teaser %}
<meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
{% elsif site.og_image %}
<meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
{% endif %}
{% if page.date %}
<meta property="og:type" content="article">
@ -105,7 +115,7 @@
"@context": "http://schema.org",
"@type": "Organization",
"url": {{ seo_url | jsonify }},
"logo": {{ site.og_image | prepend: "/images/" | prepend: base_path | jsonify }}
"logo": {{ site.og_image | absolute_url | jsonify }}
}
</script>
{% endif %}

View file

@ -1,23 +1,7 @@
{% if page.author_profile or layout.author_profile or page.sidebar %}
<div class="sidebar sticky">
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
{% if page.sidebar %}
{% for s in page.sidebar %}
{% if s.image %}
<img src=
{% if s.image contains "://" %}
"{{ s.image }}"
{% else %}
"{{ s.image | absolute_url }}"
{% endif %}
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
{% endif %}
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
{% if s.text %}{{ s.text | markdownify }}{% endif %}
{% endfor %}
{% if page.sidebar.nav %}
{% include nav_list nav=page.sidebar.nav %}
{% endif %}
{% endif %}
</div>
{% if page.sidebar %}
<div class="sidebar sticky" style="display: none;">
{% include nav_list %}
</div>
{% endif %}

View file

@ -3,11 +3,11 @@
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
{% endif %}
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username }}&{% endif %}text={{ page.title }} {{ page.url | absolute_url }}" class="btn btn--twitter" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url }}" class="btn btn--facebook" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
<a href="https://plus.google.com/share?url={{ page.url | absolute_url }}" class="btn btn--google-plus" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
<a href="https://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}" class="btn btn--linkedin" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
</section>

View file

@ -11,7 +11,7 @@
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_hashes = (page_tags | split: ',' | sort:0) %}
{% assign tag_hashes = page_tags | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>

11
_includes/video Normal file
View file

@ -0,0 +1,11 @@
{% capture video_id %}{{ include.id }}{% endcapture %}
{% capture video_provider %}{{ include.provider }}{% endcapture %}
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
{% if video_provider == "vimeo" %}
<iframe src="https://player.vimeo.com/video/{{ video_id }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
{% elsif video_provider == "youtube" %}
<iframe src="https://www.youtube.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe>
{% endif %}
</div>

View file

@ -4,6 +4,8 @@ layout: default
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}

View file

@ -1,9 +1,13 @@
---
---
{% include base_path %}
<!doctype html>
<!--
Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose
Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
<head>
{% include head.html %}

View file

@ -2,10 +2,10 @@
layout: default
---
{% include base_path %}
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
@ -14,6 +14,14 @@ layout: default
{% endunless %}
{% endif %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-6670011780914577",
enable_page_level_ads: true
});
</script>
<div id="main" role="main">
{% include sidebar.html %}
@ -21,7 +29,7 @@ layout: default
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
@ -35,7 +43,7 @@ layout: default
<section class="page__content" itemprop="text">
{{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
</section>
@ -44,8 +52,8 @@ layout: default
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %}
{% include page__taxonomy.html %}
{% if page.modified %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.modified | date: "%Y-%m-%d" }}">{{ page.modified | date: "%B %d, %Y" }}</time></p>
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
{% elsif page.date %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
{% endif %}
@ -59,20 +67,27 @@ layout: default
{% if site.comments.provider and page.comments %}
{% include comments.html %}
{% endif %}
</article>
{% comment %}<!-- only show related on a post page when not disabled -->{% endcomment %}
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
{% if page.id and page.related and site.related_posts.size > 0 %}
<div class="page__related">
{% if site.data.ui-text[site.locale].related_label %}
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
{% endif %}
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.related_posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
{% elsif page.id and page.related %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% endif %}
</div>

View file

@ -2,10 +2,10 @@
layout: default
---
{% include base_path %}
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
@ -29,7 +29,7 @@ layout: default
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
@ -84,7 +84,7 @@ layout: default
<hr>
{{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
<hr>
@ -116,8 +116,8 @@ layout: default
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %}
{% include page__taxonomy.html %}
{% if page.modified %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.modified | date: "%Y-%m-%d" }}">{{ page.modified | date: "%B %d, %Y" }}</time></p>
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
{% elsif page.date %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
{% endif %}
@ -131,20 +131,27 @@ layout: default
{% if site.comments.provider and page.comments %}
{% include comments.html %}
{% endif %}
</article>
{% comment %}<!-- only show related on a post page when not disabled -->{% endcomment %}
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
{% if page.id and page.related and site.related_posts.size > 0 %}
<div class="page__related">
{% if site.data.ui-text[site.locale].related_label %}
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
{% endif %}
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.related_posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
{% elsif page.id and page.related %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% endif %}
</div>

View file

@ -2,10 +2,10 @@
layout: default
---
{% include base_path %}
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
@ -17,13 +17,11 @@ layout: default
</script>
<div id="main" role="main">
<article class="splash" itemscope itemtype="http://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
<section class="page__content" itemprop="text">
<hr>

View file

@ -2,6 +2,8 @@
title: "A9LH to B9S"
---
{% include toc title="Table of Contents" %}
This page is for existing arm9loaderhax users to update their devices to boot9strap.
All future releases of Luma3DS will only be made in the `.firm` format, which will only be compatible with boot9strap and sighax. This means that to continue receiving the latest updates of Luma3DS, you should use this page to update your installation.
@ -27,7 +29,7 @@ There have been reports of a wave of bans being handed out to CFW users by Ninte
<div class="notice--danger">{{ notice-1 | markdownify }}</div>
#### What you need
### What you need
Note that the following required file named `secret_sector.bin` is the same one that was found in the various `data_input.zip` file versions. If you already have that file on your disk somewhere, you can use that one instead of downloading the one below.
{: .notice--info}
@ -43,12 +45,12 @@ Note that, only on New 3DS, `secret_sector.bin` is needed to revert the arm9load
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
* The latest fork of [Luma3DS Updater](https://github.com/KunoichiZ/lumaupdate/releases/latest)
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
* [`setup_ctrnand_luma3ds.gm9`]({{ base_path }}/gm9_scripts/setup_ctrnand_luma3ds.gm9)
* [`cleanup_sd_card.gm9`]({{ base_path }}/gm9_scripts/cleanup_sd_card.gm9)
* [`setup_ctrnand_luma3ds.gm9`]({{ "/gm9_scripts/setup_ctrnand_luma3ds.gm9" | absolute_url }})
* [`cleanup_sd_card.gm9`]({{ "/gm9_scripts/cleanup_sd_card.gm9" | absolute_url }})
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
For all steps in this section, overwrite any existing files on your SD card.
{: .notice--info}
@ -71,12 +73,12 @@ For all steps in this section, overwrite any existing files on your SD card.
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
1. **New 3DS Users Only:** Copy `secret_sector.bin` to the `/boot9strap/` folder on your SD card
![]({{ base_path }}/images/screenshots/a9lh-to-b9s-file-layout.png)
![]({{ "/images/screenshots/a9lh-to-b9s-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
##### Section II - Installing boot9strap
#### Section II - Installing boot9strap
1. Boot your device while holding (Start) to launch the Luma3DS chainloader menu
+ Some versions of Luma3DS will just directly start whichever payload begins with `start_`
@ -89,7 +91,7 @@ For all steps in this section, overwrite any existing files on your SD card.
1. Once it has completed, press (A) to reboot your device.
+ If your device shuts down on boot, ensure that you have copied `boot.firm` from the Luma3DS `.7z` to the root of your SD card
##### Section III - Configuring Luma3DS
#### Section III - Configuring Luma3DS
This section is only needed if you are prompted with the Luma3DS configuration menu after the reboot.
{: .notice--info}
@ -98,7 +100,7 @@ This section is only needed if you are prompted with the Luma3DS configuration m
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot
##### Section IV - Updating the System
#### Section IV - Updating the System
If, before following this guide, you already had an EmuNAND setup and would like to move the contents of your previous EmuNAND to your new SysNAND CFW, now is the time to [follow Move EmuNAND](move-emunand) before doing this section.
{: .notice--info}
@ -108,7 +110,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
+ If this gives you an error, set your DNS settings to "auto"
+ If this still gives you an error, [follow CTRTransfer](ctrtransfer), then try updating again
##### Section V - Installing Luma3DS Updater
#### Section V - Installing Luma3DS Updater
1. Launch FBI
1. Navigate to `SD` -> `cias`
@ -116,7 +118,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Select the "Install CIA" option, then press (A) to confirm
1. Press (Home) to exit FBI
##### Section VI - CTRNAND Luma3DS
#### Section VI - CTRNAND Luma3DS
1. Launch GodMode9 by holding (Start) during boot
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
@ -130,7 +132,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Press (A) to continue
1. Press (A) to relock write permissions
##### Section VII - Backup SysNAND
#### Section VII - Backup SysNAND
1. Press (Home) to bring up the action menu
1. Select "Scripts..."
@ -147,7 +149,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Delete `<date>_<serialnumber>_sysnand_###.bin` from the `/gm9/out/` folder on your SD card after copying it
1. Reinsert your SD card into your device
##### Section VIII - Cleanup SD Card
#### Section VIII - Cleanup SD Card
Note that this script will remove the `/boot9strap/` and `/cias/` folders from your SD card!
{: .notice--danger}

View file

@ -18,11 +18,11 @@ This also means that a cart update will NOT install a browser if you do not alre
**Updating with a game cart containing the version 9.9.0 or above will remove your browser until a standard online update is performed!**
{: .notice--danger}
#### What you need
### What you need
* A game cart that [contains the version](http://www.3dsdb.com/) you wish to update to
#### Instructions
### Instructions
1. Boot your device into recovery mode by holding (L) + (R) + (A) + (UP) while powering on
1. If prompted, decline the update

View file

@ -2,6 +2,8 @@
title: "CTRTransfer"
---
{% include toc title="Table of Contents" %}
This is add-on section for installing an 11.5.0 CTRTransfer image to your device.
To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on this page, you will need a torrent client like [Deluge](http://dev.deluge-torrent.org/wiki/Download)
@ -11,11 +13,11 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use this.
{: .notice--danger}
#### What you need
### What you need
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
* The latest release of [FBI](https://github.com/Steveice10/FBI/releases/latest) *(the`.3dsx` file)*
* [`ctrtransfer_ticket_copy.gm9`]({{ base_path }}/gm9_scripts/ctrtransfer_ticket_copy.gm9)
* [`ctrtransfer_ticket_copy.gm9`]({{ "/gm9_scripts/ctrtransfer_ticket_copy.gm9" | absolute_url }})
* The 11.5.0 CTRTransfer image for your device and region
*(if your device is not from one of these regions, just pick one that matches your device type)*:
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [New 3DS or 2DS - 11.5.0 - EUR - CTRTransfer](magnet:?xt=urn:btih:465f1048f81e8e5c651ce2a4d9df48fec88d1099&dn=11.5.0-38E_ctrtransfer_n3ds.zip&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce)
@ -27,9 +29,9 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [Old 3DS or 2DS - 11.5.0 - JPN - CTRTransfer](magnet:?xt=urn:btih:d8913b4c0da224e8852fa2f685c41ddbce5310bc&dn=11.5.0-38J_ctrtransfer_o3ds.zip&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce)
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [Old 3DS or 2DS - 11.5.0 - USA - CTRTransfer](magnet:?xt=urn:btih:2708089605ca47387fa64e996a699eedd18031e8&dn=11.5.0-38U_ctrtransfer_o3ds.zip&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -41,7 +43,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
1. Copy `FBI.3dsx` to the `/3ds/` folder on your SD card
1. Reinsert your SD card into your device
##### Section II - CTRTransfer
#### Section II - CTRTransfer
1. Launch GodMode9 by holding (Start) during boot
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
@ -69,7 +71,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
+ Updates while using B9S + Luma (what you have) are safe
+ If this gives you an error, set your DNS settings to "auto"
##### Section III - Launching FBI
#### Section III - Launching FBI
1. Launch the Download Play application
1. Press (L) + (Down) + (Select) at the same time to open the Rosalina menu
@ -82,7 +84,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
1. Launch the Download Play application
1. Your device should load the Homebrew Launcher
##### Section IV - Reinstalling Tickets
#### Section IV - Reinstalling Tickets
If script found no user tickets told you to skip this section, then skip this section
{: .notice--info}
@ -102,7 +104,7 @@ If script found no user tickets told you to skip this section, then skip this se
+ Press (B) to decline installing tickets from CDN.
1. Press (Home) to exit FBI
##### Section V - Remove CTRTransfer image
#### Section V - Remove CTRTransfer image
1. Launch GodMode9 by holding (Start) during boot
1. Navigate to `[0:] SDCARD` -> `gm9`

View file

@ -3,17 +3,17 @@ title: "Donations" #
layout: single-no-ads
---
[![Paypal]({{ base_path }}/images/paypal_white.png){:height="72px" width="256px"}{: style="padding-bottom: .35em"}](https://www.paypal.me/plailectguides/15){: .align-center}
[![Paypal]({{ "/images/paypal_white.png" | absolute_url }}){:height="72px" width="256px"}{: style="padding-bottom: .35em"}](https://www.paypal.me/plailectguides/15){: .align-center}
plailect@gmail.com
{: .text-center}
{: .notice--info}
[![Bitcoin]({{ base_path }}/images/bitcoin_white.png){:height="73px" width="256px"}{: style="padding-bottom: .35em"}](bitcoin:19c89D7NUmJPCE3DsHpV2iSBF7cYMXnhpE){: .align-center}
[![Bitcoin]({{ "/images/bitcoin_white.png" | absolute_url }}){:height="73px" width="256px"}{: style="padding-bottom: .35em"}](bitcoin:19c89D7NUmJPCE3DsHpV2iSBF7cYMXnhpE){: .align-center}
19c89D7NUmJPCE3DsHpV2iSBF7cYMXnhpE
{: .text-center}
{: .notice--info}
[![Ethereum]({{ base_path }}/images/ethereum_white.png){:height="64px" width="256px"}{: style="padding-bottom: .35em"}](https://www.ethereum.org/){: .align-center}
[![Ethereum]({{ "/images/ethereum_white.png" | absolute_url }}){:height="64px" width="256px"}{: style="padding-bottom: .35em"}](https://www.ethereum.org/){: .align-center}
0x0F0131d161f8eFA4B355c5EADd0484FC3ff95B4C
{: .text-center}
{: .notice--info}

View file

@ -8,11 +8,11 @@ Depending on the size of your SD card and the speed of your computer, this proce
This page is for Linux users only. If you are not on Linux, check out the [H2testw (windows)](h2testw-(windows)) or [F3X (mac)](f3x-(mac)) pages.
#### What you need
### What you need
* The latest version of [F3](https://github.com/AltraMayor/f3/archive/v6.0.zip)
#### Instructions
### Instructions
1. Unzip the f3 `.zip` file
1. `cd` into the f3 directory
@ -54,5 +54,5 @@ If the test shows the result `Data LOST: 0.00 Byte (0 sectors)` your SD card is
If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!
{: .notice--danger}
Return to [Get Started](get-started)
### Return to [Get Started](get-started)
{: .notice--primary}

View file

@ -8,11 +8,11 @@ Depending on the size of your SD card and the speed of your computer, this proce
This page is for Mac users only. If you are not on Mac, check out the [H2testw (windows)](h2testw-(windows)) or [F3 (Linux)](f3-(linux)) pages.
#### What you need
### What you need
* The latest release of [F3X](https://github.com/insidegui/F3X/releases/latest)
#### Instructions
### Instructions
1. Unzip the F3X `.zip` file
1. Insert your SD card into your computer
@ -29,5 +29,5 @@ If the test shows the result `Success! Your card is ok!` your SD card is good an
If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!
{: .notice--danger}
Return to [Get Started](get-started)
### Return to [Get Started](get-started)
{: .notice--primary}

View file

@ -2,34 +2,36 @@
title: "File Extensions (Windows)"
---
{% include toc title="Table of Contents" %}
This is an add-on section for disabling Windows's default behavior of hiding file extensions.
This will make it easier for you to find the referenced files in the rest of this guide.
#### Instructions
### Instructions
##### Windows 10 / 8.1 / 8
#### Windows 10 / 8.1 / 8
1. Launch File Explorer by opening any directory, such as your SD card directory
1. Click the "View" option on the ribbon menu
1. Check the box labeled "File name extensions"
![]({{ base_path }}/images/screenshots/windows-10-file-extensions.png)
![]({{ "/images/screenshots/windows-10-file-extensions.png" | absolute_url }})
{: .notice--info}
##### Windows 7
#### Windows 7
1. Open the start menu by clicking on it or using the Windows key
1. Search for "Folder Options" and select the corresponding result
![]({{ base_path }}/images/screenshots/windows-7-folder-options-start-menu.png)
![]({{ "/images/screenshots/windows-7-folder-options-start-menu.png" | absolute_url }})
{: .notice--info}
1. Click the "View" option at the top of the Folder Options menu
1. Uncheck the box labeled "Hide extensions for known file types"
![]({{ base_path }}/images/screenshots/windows-7-folder-options.png)
![]({{ "/images/screenshots/windows-7-folder-options.png" | absolute_url }})
{: .notice--info}
Return to [Get Started](get-started)
### Return to [Get Started](get-started)
{: .notice--primary}

View file

@ -2,6 +2,8 @@
title: "Finalizing Setup"
---
{% include toc title="Table of Contents" %}
#### Overview of steps
The file `boot.firm` is what is launched by boot9strap itself after it finishes loading off of NAND, and can be any valid arm9 payload in the FIRM format. This file can be replaced at any time, although Luma3DS allows for the launch of other arm9 payloads in the FIRM format using the Luma3DS chainloader.
@ -16,7 +18,7 @@ During this process, we also setup programs such as the following:
+ **GodMode9** *(multipurpose tool which can do NAND and cartridge functions)*
+ **Homebrew Launcher Loader** *(launches the Homebrew Launcher as a regular application thanks to Rosalina magic)*
#### What you need
### What you need
* The latest release of [Anemone3DS](https://github.com/astronautlevel2/Anemone3DS/releases/latest) *(the `.cia` file)*
* The latest release of [hblauncher_loader](https://github.com/yellows8/hblauncher_loader/releases/latest)
@ -24,12 +26,12 @@ During this process, we also setup programs such as the following:
* The latest release of [DSP1](https://github.com/zoogie/DSP1/releases/latest)
* The latest release of [FBI](https://github.com/Steveice10/FBI/releases/latest) *(the `.cia` and `.3dsx` files)*
* The latest fork of [Luma3DS Updater](https://github.com/KunoichiZ/lumaupdate/releases/latest) *(the `.cia` file)*
* [`setup_ctrnand_luma3ds.gm9`]({{ base_path }}/gm9_scripts/setup_ctrnand_luma3ds.gm9)
* [`cleanup_sd_card.gm9`]({{ base_path }}/gm9_scripts/cleanup_sd_card.gm9)
* [`setup_ctrnand_luma3ds.gm9`]({{ "/gm9_scripts/setup_ctrnand_luma3ds.gm9" | absolute_url }})
* [`cleanup_sd_card.gm9`]({{ "/gm9_scripts/cleanup_sd_card.gm9" | absolute_url }})
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -41,7 +43,7 @@ During this process, we also setup programs such as the following:
1. Copy `DSP1.cia` to the `/cias/` folder on your SD card
1. Copy `Anemone3DS.cia` to the `/cias/` folder on your SD card
![]({{ base_path }}/images/screenshots/cias-file-layout.png)
![]({{ "/images/screenshots/cias-file-layout.png" | absolute_url }})
{: .notice--info}
1. Create a folder named `payloads` in the `luma` folder on your SD card if it does not already exist
@ -51,15 +53,15 @@ During this process, we also setup programs such as the following:
1. Copy `setup_ctrnand_luma3ds.gm9` to the `/gm9/scripts/` folder on your SD card
1. Copy `cleanup_sd_card.gm9` to the `/gm9/scripts/` folder on your SD card
![]({{ base_path }}/images/screenshots/finalizing-setup-file-layout.png)
![]({{ "/images/screenshots/finalizing-setup-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Power on your device
##### Section II - Updating the System
#### Section II - Updating the System
If, while following a previous version of this guide, you CTRTransfered your *New 3DS* to 2.1.0, now is the time to [restore your NAND backup](godmode9-usage#nand_restore) before doing this section.
If, while following a previous version of this guide, you CTRTransfered your *New 3DS* to 2.1.0, now is the time to [restore your NAND backup](godmode9-usage#restoring-a-nand-backup) before doing this section.
{: .notice--danger}
If, before following this guide, you already had an EmuNAND setup and would like to move the contents of your previous EmuNAND to your new SysNAND CFW, now is the time to [follow Move EmuNAND](move-emunand) before doing this section.
@ -70,7 +72,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
+ If this gives you an error, set your DNS settings to "auto"
+ If this still gives you an error, [follow CTRTransfer](ctrtransfer), then try updating again
##### Section III - Launching FBI
#### Section III - Launching FBI
1. Launch the Download Play application
1. Press (L) + (Down) + (Select) at the same time to open the Rosalina menu
@ -84,19 +86,19 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Your device should load the Homebrew Launcher
1. Launch FBI from the list of homebrew
##### Section IV - Installing CIAs
#### Section IV - Installing CIAs
1. Navigate to `SD` -> `cias`
1. Select "\<current directory>"
1. Select the "Install and delete all CIAs" option, then press (A) to confirm
1. Press (Home), then close Download Play
##### Section V - DSP Dump
#### Section V - DSP Dump
1. Launch the DSP1 application
1. Once it has completed, press (B) to self-delete the app and return to the home menu
##### Section VI - CTRNAND Luma3DS
#### Section VI - CTRNAND Luma3DS
1. Launch GodMode9 by holding (Start) during boot
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
@ -110,7 +112,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Press (A) to continue
1. Press (A) to relock write permissions
##### Section VII - Backup SysNAND
#### Section VII - Backup SysNAND
1. Press (Home) to bring up the action menu
1. Select "Scripts..."
@ -126,7 +128,7 @@ If, before following this guide, you already had an EmuNAND setup and would like
1. Delete `<date>_<serialnumber>_sysnand_###.bin` from the `/gm9/out/` folder on your SD card after copying it
1. Reinsert your SD card into your device
##### Section VIII - Cleanup SD Card
#### Section VIII - Cleanup SD Card
1. Press (Home) to bring up the action menu
1. Select "Scripts..."

View file

@ -2,6 +2,8 @@
title: "Flashing ntrboot (3DS Multi System)"
---
{% include toc title="Table of Contents" %}
Before proceeding, ensure you have read all of the information on [ntrboot](ntrboot)
Note that R4i Gold 3DS RTS flashcarts will not be able to be used for their standard functions (such as launching `.nds` files) while the ntrboot exploit is installed on it. This does not apply to the Acekard 2i.
@ -16,7 +18,7 @@ This method requires temporary access to a second 3DS family device that is alre
Note that in some rare circumstances, it may be possible for the flashing process to **brick** a counterfeit flashcart and render it permanently unusable. This is unlikely, but nevertheless only original listed flashcarts are supported. To reduce the chance of receiving a counterfeit card, it is recommended that you use a reputable site to buy your flashcart (such as [NDS Card](http://www.nds-card.com/))
{: .notice--danger}
#### What you need
### What you need
* Your ntrboot compatible flashcart
* Two 3DS family devices
@ -25,9 +27,9 @@ Note that in some rare circumstances, it may be possible for the flashing proces
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(`ntr` boot9strap; not the `devkit` file)*
* The latest release of [ntrboot_flasher](https://github.com/kitling/ntrboot_flasher/releases/latest)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off **the source 3DS**
1. Insert **the source 3DS**'s SD card into your computer
@ -37,7 +39,7 @@ Note that in some rare circumstances, it may be possible for the flashing proces
1. Reinsert **the source 3DS**'s SD card back into **the source 3DS**
1. Insert your ntrboot compatible DS / DSi flashcart into **the source 3DS**
##### Section II - Flashing ntrboot
#### Section II - Flashing ntrboot
1. Launch the Luma3DS chainloader by holding (Start) during boot on **the source 3DS**
1. Select "ntrboot_flasher"

View file

@ -2,6 +2,8 @@
title: "Flashing ntrboot (3DS Single System)"
---
{% include toc title="Table of Contents" %}
Before proceeding, ensure you have read all of the information on [ntrboot](ntrboot)
This method requires nothing more than your stock unhacked 3DS and a compatible flashcart.
@ -19,14 +21,14 @@ Ensure your flashcart is able to launch correctly before starting. Be sure to ha
Note that in some rare circumstances, it may be possible for the flashing process to **brick** a counterfeit flashcart and render it permanently unusable. This is unlikely, but nevertheless only original listed flashcarts are supported. To reduce the chance of receiving a counterfeit card, it is recommended that you use a reputable site to buy your flashcart (such as [NDS Card](http://www.nds-card.com/))
{: .notice--danger}
#### What you need
### What you need
* Your ntrboot compatible flashcart
* The latest release of [ak2i_ntrcardhax_flasher](https://github.com/d3m3vilurr/ak2i_ntrcardhax_flasher/releases/latest) *(`dsi` flasher; not the standard flasher)*
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your flashcart's SD card into your computer
@ -34,7 +36,7 @@ Note that in some rare circumstances, it may be possible for the flashing proces
1. Reinsert your flashcart's SD card back into your flashcart
1. Insert your ntrboot compatible DS / DSi flashcart into your device
##### Section II - Flashing ntrboot
#### Section II - Flashing ntrboot
1. Launch `ak2i_ntrcardhax_flasher_dsi.nds` on your device using your flashcart
1. Press (A) to continue

View file

@ -2,6 +2,8 @@
title: "Flashing ntrboot (DSi)"
---
{% include toc title="Table of Contents" %}
Before proceeding, ensure you have read all of the information on [ntrboot](ntrboot)
This method requires temporary access to a Nintendo DSi that is compatible with your flashcart.
@ -17,7 +19,7 @@ Note that more recent DSi versions have blocked access to some flashcarts. This
Note that in some rare circumstances, it may be possible for the flashing process to **brick** a counterfeit flashcart and render it permanently unusable. This is unlikely, but nevertheless only original listed flashcarts are supported. To reduce the chance of receiving a counterfeit card, it is recommended that you use a reputable site to buy your flashcart (such as [NDS Card](http://www.nds-card.com/))
{: .notice--danger}
#### What you need
### What you need
* Your ntrboot compatible flashcart
* Two devices
@ -25,9 +27,9 @@ Note that in some rare circumstances, it may be possible for the flashing proces
+ **The target 3DS**: the 3DS family device on stock firmware
* The latest release of [ak2i_ntrcardhax_flasher](https://github.com/d3m3vilurr/ak2i_ntrcardhax_flasher/releases/latest) *(`dsi` flasher; not the standard flasher)*
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off **the source DSi**
1. Insert your flashcart's SD card into your computer
@ -35,7 +37,7 @@ Note that in some rare circumstances, it may be possible for the flashing proces
1. Reinsert your flashcart's SD card back into your flashcart
1. Insert your ntrboot compatible DS / DSi flashcart into **the source DSi**
##### Section II - Flashing ntrboot
#### Section II - Flashing ntrboot
1. Launch `ak2i_ntrcardhax_flasher_dsi.nds` on **the source DSi** using your flashcart
1. Press (A) to continue

View file

@ -2,6 +2,8 @@
title: "Flashing ntrboot (NDS)"
---
{% include toc title="Table of Contents" %}
Before proceeding, ensure you have read all of the information on [ntrboot](ntrboot)
Note that R4i Gold 3DS RTS flashcarts will not be able to be used for their standard functions (such as launching `.nds` files) while the ntrboot exploit is installed on it. This does not apply to the Acekard 2i.
@ -21,7 +23,7 @@ This method requires temporary access to a Nintendo DS or Nintendo DS Lite that
Note that in some rare circumstances, it may be possible for the flashing process to **brick** a counterfeit flashcart and render it permanently unusable. This is unlikely, but nevertheless only original listed flashcarts are supported. To reduce the chance of receiving a counterfeit card, it is recommended that you use a reputable site to buy your flashcart (such as [NDS Card](http://www.nds-card.com/))
{: .notice--danger}
#### What you need
### What you need
* Your ntrboot compatible flashcart
* Two devices
@ -29,9 +31,9 @@ Note that in some rare circumstances, it may be possible for the flashing proces
+ **The target 3DS**: the 3DS family device on stock firmware
* The latest release of [ak2i_ntrcardhax_flasher](https://github.com/d3m3vilurr/ak2i_ntrcardhax_flasher/releases/latest) *(standard flasher; not the `dsi` flasher)*
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off **the source NDS / NDSL**
1. Insert your flashcart's SD card into your computer
@ -39,7 +41,7 @@ Note that in some rare circumstances, it may be possible for the flashing proces
1. Reinsert your flashcart's SD card back into your flashcart
1. Insert your ntrboot compatible DS / DSi flashcart into **the source NDS / NDSL**
##### Section II - Flashing ntrboot
#### Section II - Flashing ntrboot
1. Launch `ak2i_ntrcardhax_flasher.nds` on **the source NDS / NDSL** using your flashcart
1. Press (A) to continue

View file

@ -2,6 +2,10 @@
title: "Get Started (New 3DS)"
---
{% include toc title="Table of Contents" %}
### Required Reading
Select the appropriate page for your version from the chart below. Note that the "from" and "to" fields are inclusive. This means that, for example, the "from 9.0.0 to 9.2.0" row includes 9.0.0, 9.1.0, and 9.2.0.
Additionally, note that the last number of your system version (which is preceded by a dash) refers to your browser version. Currently, the browser version is irrelevant to the New 3DS in this guide.
@ -12,9 +16,11 @@ For all versions you can also [Cart Update](cart-update) (or use a standard syst
Your device version can be found at the bottom right of the top screen of the System Settings.
![]({{ base_path }}/images/screenshots/system-version.png)
![]({{ "/images/screenshots/system-version.png" | absolute_url }})
{: .notice--info}
### Version Table
<table>
<colgroup>
<col span="1" style="width: 10%;">

View file

@ -2,6 +2,10 @@
title: "Get Started (Old 3DS)"
---
{% include toc title="Table of Contents" %}
### Required Reading
Select the appropriate page for your version from the chart below. Note that the "from" and "to" fields are inclusive. This means that, for example, the "from 9.0.0 to 9.2.0" row includes 9.0.0, 9.1.0, and 9.2.0.
Additionally, note that the last two columns of the chart refer to the last number of your version (which corresponds to the browser version installed to the system). If the version is -0 then you do not have a browser, while any number above -0 indicates a browser is installed.
@ -14,12 +18,14 @@ For all versions you can also [Cart Update](cart-update) (or use a standard syst
Your device version can be found at the bottom right of the top screen of the System Settings.
![]({{ base_path }}/images/screenshots/system-version.png)
![]({{ "/images/screenshots/system-version.png" | absolute_url }})
{: .notice--info}
If you updated with a game cart containing the version 9.9.0 or above *(meaning that you have a version on 9.9.0 or above, but your browser is on -25 or lower, such as 10.2.0-24)*, your browser was removed and you will need to use the "No Browser" column.
{: .notice--warning}
### Version Table
<table>
<colgroup>
<col span="1" style="width: 10%;">

View file

@ -2,6 +2,10 @@
title: "Get Started"
---
{% include toc title="Table of Contents" %}
### Required Reading
Different device models and versions will require different steps to achieve the end goal of boot9strap Custom Firmware. This page will help you find where to start for your device.
Click the image of your device to take you to the appropriate page. The colors of the devices in the image may vary, but note the button placement and features of each device carefully to ensure you select the correct one.
@ -31,6 +35,8 @@ There have been reports of a wave of bans being handed out to CFW users by Ninte
{% endcapture %}
### Device Table
<div class="notice--danger">{{ notice-1 | markdownify }}</div>
<table>

View file

@ -2,22 +2,24 @@
title: "GodMode9 Usage"
---
{% include toc title="Table of Contents" %}
GodMode9 is a full access file browser for the Nintendo 3DS console, giving you access to your SD card, the FAT partitions inside your SysNAND and EmuNAND, and basically anything else. Among other functionality, you can copy, delete, rename files, and create folders.
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
GodMode9 is powerful software that has the capability to modify essentially anything on your console. Though many of these modifications are locked behind a permissions system, and it is impossible to accidentally perform dangerous actions without deliberately unlocking permissions, you should still follow instructions carefully and keep backups just in case.
## <a name="update-gm9" /> Updating GodMode9
## Updating GodMode9
Some of the instructions below are only applicable to the latest version of GodMode9, and as such you should follow this section to update your copy before continuing. Overwrite any existing files.
{: .notice--info}
#### What you need
### What you need
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
#### Instructions
### Instructions
1. Power off your device
1. Insert your SD card into your computer
@ -25,7 +27,7 @@ Some of the instructions below are only applicable to the latest version of GodM
1. Copy the `gm9` folder from the GodMode9 `.zip` to the root of your SD card
1. Reinsert your SD card into your device
## <a name="nand_backup" /> Creating a NAND Backup
## Creating a NAND Backup
1. Launch GodMode9 by holding (Start) during boot
1. Press (Home) to bring up the action menu
@ -42,7 +44,7 @@ Some of the instructions below are only applicable to the latest version of GodM
1. Delete `<date>_<serialnumber>_sysnand_###.bin` from the `/gm9/out/` folder on your SD card after copying it
1. Reinsert your SD card into your device
## <a name="nand_restore" /> Restoring a NAND Backup
## Restoring a NAND Backup
1. Launch GodMode9 by holding (Start) during boot
1. Hold (R) and press (B) at the same time to eject your SD card
@ -59,7 +61,7 @@ Some of the instructions below are only applicable to the latest version of GodM
1. Once it has completed, press (A) to continue
1. Press (A) to relock write permissions if prompted
## <a name="injectHS" /> Injecting any .CIA app into Health & Safety
## Injecting any .CIA app into Health & Safety
For organizational purposes, copy the `.cia` file you wish to inject to the `/cias/` folder on your SD card
{: .notice--info}
@ -75,7 +77,7 @@ Note that it is not possible to inject files into Health & Safety that are large
1. Press (A) to continue
1. Press (A) to relock write permissions if prompted
## <a name="restore_hs" /> Restoring Health & Safety after injecting a .CIA app
## Restoring Health & Safety after injecting a .CIA app
This will only work if the Health & Safety injection was performed by GodMode9 (not Decrypt9 or Hourglass9).
{: .notice--info}
@ -87,7 +89,7 @@ This will only work if the Health & Safety injection was performed by GodMode9 (
1. Press (A) to unlock SysNAND (lvl1) writing, then input the key combo given
1. Press (A) to relock write permissions if prompted
## <a name="dump_cart" /> Dumping a Game Cartridge
## Dumping a Game Cartridge
#### Prep Work
@ -106,7 +108,7 @@ This will only work if the Health & Safety injection was performed by GodMode9 (
+ **NDS Game Cartridge:** Press (A) on `[TitleID].trim.nds` to select it, then select "Copy to 0:/gm9/out"
1. Your installable `.cia` or non-installable `.nds` formatted file will be outputted to the `/gm9/out/` folder on your SD card
## <a name="dump_title" /> Dumping a Title
## Dumping a Title
1. Launch GodMode9 by holding (Start) during boot
1. Hover over the drive applicable to the type of title you wish to dump:
@ -118,11 +120,11 @@ This will only work if the Health & Safety injection was performed by GodMode9 (
1. Press (A) on the `.tmd` file to select it, then select "TMD file options...", then select "Build CIA (standard)"
1. Your installable `.cia` formatted file will be outputted to the `/gm9/out/` folder on your SD card
## <a name="convert_3ds" /> Converting a .3DS to .CIA
## Converting a .3DS to .CIA
{% capture notice %}
+ For organizational purposes, copy each `.3ds` file you wish to convert to the `/cias/` folder on your SD card
+ Note that if you wish to convert a `.3ds` file that is already on a flashcart, you should follow [Dumping a Game Cartridge](#dump_cart)
+ Note that if you wish to convert a `.3ds` file that is already on a flashcart, you should follow [Dumping a Game Cartridge](#dumping-a-game-cartridge)
{% endcapture %}
<div class="notice--info">{{ notice | markdownify }}</div>
@ -132,7 +134,7 @@ This will only work if the Health & Safety injection was performed by GodMode9 (
1. Press (A) on your `.3ds` file to select it, then select "NCSD image options...", then select "Build CIA from file"
1. Your installable `.cia` formatted file will be outputted to the `/gm9/out/` folder on your SD card
## <a name="backup_gba" /> Backup GBA VC Saves
## Backup GBA VC Saves
The game will be outputted to the `/gm9/out/` folder on your SD card with the name `<TitleID>.gbavc.sav`.
{: .notice--info}
@ -152,7 +154,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ Press (A) to continue
+ Press (Start) to reboot your device
## <a name="restore_gba" /> Restore GBA VC Saves
## Restore GBA VC Saves
To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of all games on the system and their corresponding Title IDs by hovering over `[A:] SYSNAND SD`, holding (R) and pressing (A) at the same time, then selecting "Search for titles".
{: .notice--info}
@ -174,7 +176,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ Launch the GBA VC game
+ Exit the GBA VC game
## <a name="format_sd" /> Format an SD card
## Format an SD card
**Note that this will erase the contents of your SD card!**
{: .notice--danger}
@ -190,7 +192,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ Optionally, you may input a custom name for the SD card
1. When prompted, input the key combo given to confirm
## <a name="crypt_cia" /> Encrypting / Decrypting a .CIA file
## Encrypting / Decrypting a .CIA file
#### Prep Work
@ -207,7 +209,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ **Decrypt inplace:** Replace the selected `.cia` file with a decrypted version
1. Your encrypted / decrypted `.cia` will be outputted to the desired location
## <a name="rm_nnid" />Removing an NNID without formatting your device
## Removing an NNID without formatting your device
1. Launch GodMode9 by holding (Start) during boot
1. Navigate to `[1:] SYSNAND CTRNAND` -> `data` -> (32 Character ID) -> `sysdata` -> `00010038`

View file

@ -8,11 +8,11 @@ Depending on the size of your SD card and the speed of your computer, this proce
This page is for Windows users only. If you are not on windows, check out the [F3 (linux)](f3-(linux)) or [F3X (mac)](f3x-(mac)) pages.
#### What you need
### What you need
* The latest version of [h2testw](http://www.heise.de/ct/Redaktion/bo/downloads/h2testw_1.4.zip)
#### Instructions
### Instructions
1. Copy `h2testw.exe` from the h2testw `.zip` to your desktop
1. Insert your SD card into your computer
@ -32,5 +32,5 @@ If the test shows the result `Test finished without errors`, your SD card is goo
If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!
{: .notice--danger}
Return to [Get Started](get-started)
### Return to [Get Started](get-started)
{: .notice--primary}

View file

@ -2,13 +2,15 @@
title: "Homebrew Launcher (Alternatives)"
---
{% include toc title="Table of Contents" %}
The Homebrew Launcher has many different entrypoints, or methods of launching.
If browserhax is not an option (see the chart below), you do not already own any of these games, and do not have another 3DS that can access the Homebrew Launcher, the cheapest option is to buy a "Nintendo Selects" copy of [Ocarina of Time 3D](https://amzn.to/2fkaKdp) (ensure you get the correct cartridge for your region) and a [Powersaves](https://amzn.to/2fb3VY7) (compatible with all regions), then use oot3dhax from the chart below.
Ensure your device's Wireless Communication is turned on as udsploit (used in the next page) will need the wireless module to be active to function, and some devices (New 3DS, New 2DS, and Old 2DS) cannot adjust the Wireless Communication setting from the Homebrew Launcher. Wireless Communication only has to be on; connecting it to an access point is not required.
#### What you need
### What you need
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/latest)
@ -17,7 +19,7 @@ Ensure your device's Wireless Communication is turned on as udsploit (used in th
* The latest release of [udsploit](https://github.com/smealum/udsploit/releases/latest)
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
#### Instructions
### Instructions
1. Power off your device
1. Insert your SD card into your computer
@ -29,7 +31,7 @@ Ensure your device's Wireless Communication is turned on as udsploit (used in th
1. Copy `udsploit.3dsx` to the `/3ds/` folder on your SD card
1. Copy `SafeB9SInstaller.bin` from the SafeB9SInstaller `.zip` to the root of your SD card and rename `SafeB9SInstaller.bin` to `safehaxpayload.bin`
![]({{ base_path }}/images/screenshots/boot9strap-hb-file-layout.png)
![]({{ "/images/screenshots/boot9strap-hb-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
@ -69,7 +71,7 @@ Ensure your device's Wireless Communication is turned on as udsploit (used in th
1. Your device should load the Homebrew Launcher
![]({{ base_path }}/images/screenshots/homebrew-launcher.png)
![]({{ "/images/screenshots/homebrew-launcher.png" | absolute_url }})
{: .notice--info}
Continue to [Installing boot9strap (Homebrew Launcher)](installing-boot9strap-(homebrew-launcher))

View file

@ -2,6 +2,8 @@
title: "Homebrew Launcher (Soundhax)"
---
{% include toc title="Table of Contents" %}
The Homebrew Launcher has many different entrypoints, or methods of launching.
Soundhax is compatible with versions 9.0.0 through 11.3.0 in the EUR, JPN, KOR, and USA regions.
@ -17,7 +19,7 @@ This means that using a Cart Update from a version containing an older Nintendo
<div class="notice--warning">{{ notice-1 | markdownify }}</div>
#### What you need
### What you need
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
* The latest release of [Soundhax](http://soundhax.com/) *(for your device and region)*
@ -28,7 +30,7 @@ This means that using a Cart Update from a version containing an older Nintendo
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
* The [otherapp payload](https://smealum.github.io/3ds/#otherapp) *(for your version and region)*
#### Instructions
### Instructions
1. Power off your device
1. Insert your SD card into your computer
@ -42,14 +44,14 @@ This means that using a Cart Update from a version containing an older Nintendo
1. Copy `udsploit.3dsx` to the `/3ds/` folder on your SD card
1. Copy `SafeB9SInstaller.bin` from the SafeB9SInstaller `.zip` to the root of your SD card and rename `SafeB9SInstaller.bin` to `safehaxpayload.bin`
![]({{ base_path }}/images/screenshots/boot9strap-hb-file-layout.png)
![]({{ "/images/screenshots/boot9strap-hb-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Power on your device
1. Launch Nintendo 3DS Sound
![]({{ base_path }}/images/screenshots/soundhax-welcome.png)
![]({{ "/images/screenshots/soundhax-welcome.png" | absolute_url }})
{: .notice--info}
1. If you've never opened Nintendo 3DS Sound before and get tips on how to use it from a bird icon, go through all of the bird tips, then close the app normally and relaunch it
@ -59,12 +61,12 @@ This means that using a Cart Update from a version containing an older Nintendo
+ If it freezes, just force the console to power off by holding the power button, then try again
+ If you get a red screen, ensure you copied _the contents of_ the `starter` folder to the root of your SD card
![]({{ base_path }}/images/screenshots/soundhax-launch.png)
![]({{ "/images/screenshots/soundhax-launch.png" | absolute_url }})
{: .notice--info}
1. Your device should load the Homebrew Launcher
![]({{ base_path }}/images/screenshots/homebrew-launcher.png)
![]({{ "/images/screenshots/homebrew-launcher.png" | absolute_url }})
{: .notice--info}
___

View file

@ -2,16 +2,18 @@
title: "Installing boot9strap (2xrsa)"
---
#### What you need
{% include toc title="Table of Contents" %}
### What you need
* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/latest)
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(standard boot9strap; not the `devkit` file, not the `ntr` file)*
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -21,32 +23,32 @@ title: "Installing boot9strap (2xrsa)"
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
1. Copy `arm9.bin` and `arm11.bin` from the SafeB9SInstaller `.zip` to the root of your SD card
![]({{ base_path }}/images/screenshots/boot9strap-2xrsa-file-layout.png)
![]({{ "/images/screenshots/boot9strap-2xrsa-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Power on your device
##### Section II - Launching SafeB9SInstaller
#### Section II - Launching SafeB9SInstaller
1. Launch the browser and go to the following URL on your device
+ `http://2xrsa.3ds.guide`
+ If you are on a New 3DS, New 2DS, or Old 2DS and Wireless Communication is off, you can re-enable the wireless by removing the battery and unplugging the charger for several seconds then booting back up
+ If you get the error "This service is not available in your region", use the System Settings to set your device's country to match the NAND region you installed with 2.1.0 CTRTransfer
+ If you forgot to disable parental controls before CTRTransfering or otherwise cannot access wireless settings, note that the device will autoconnect to any network named `attwifi` with no password
+ If you get another error, [follow this troubleshooting guide](troubleshooting#ts_browser)
+ If you get another error, [follow this troubleshooting guide](troubleshooting#a-browser-based-exploit-is-not-working)
1. If the exploit was successful, you will have booted into SafeB9SInstaller
##### Section III - Installing boot9strap
#### Section III - Installing boot9strap
1. Wait for all safety checks to complete
1. When prompted, input the key combo given to install boot9strap
1. Once it has completed, press (A) to reboot your device
##### Section IV - Configuring Luma3DS
#### Section IV - Configuring Luma3DS
1. Your device should have rebooted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot
@ -54,7 +56,7 @@ title: "Installing boot9strap (2xrsa)"
___
Note that *New 3DS* users who ended up on 2.1.0 after a CTRTransfer *must* [restore their NAND backup](godmode9-usage#nand_restore) before going to the [Finalizing Setup](finalizing-setup) page.
New 3DS 2.1.0 users *must* [restore their NAND backup](godmode9-usage#nand_restore) before going to the [Finalizing Setup](finalizing-setup) page.
{: .notice--danger}
Continue to [Finalizing Setup](finalizing-setup)

View file

@ -2,18 +2,20 @@
title: "Installing boot9strap (Browser)"
---
{% include toc title="Table of Contents" %}
If you have already hacked your device before and have a EmuNAND based CFW setup, this guide deals exclusively with SysNAND and you should follow all instructions from within or applying to SysNAND. Note that the terms EmuNAND and RedNAND refer to slightly different implementations of [the same concept](http://3dbrew.org/wiki/NAND_Redirection).
#### What you need
### What you need
* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/latest)
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(standard boot9strap; not the `devkit` file, not the `ntr` file)*
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -23,13 +25,13 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
1. Copy `SafeB9SInstaller.dat` and `Launcher.dat` from the SafeB9SInstaller `.zip` to the root of your SD card
![]({{ base_path }}/images/screenshots/boot9strap-browser-file-layout.png)
![]({{ "/images/screenshots/boot9strap-browser-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Power on your device
##### Section II - Launching SafeB9SInstaller
#### Section II - Launching SafeB9SInstaller
1. Launch the browser and go to one of the following URLs on your device
+ `https://dukesrg.github.io/?SafeB9SInstaller.dat`
@ -40,16 +42,16 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
+ If you get an error, [follow this troubleshooting guide](troubleshooting#ts_browser)
1. If the exploit was successful, you will have booted into SafeB9SInstaller
##### Section III - Installing boot9strap
#### Section III - Installing boot9strap
1. Wait for all safety checks to complete
1. When prompted, input the key combo given to install boot9strap
1. Once it has completed, press (A) to reboot your device
##### Section IV - Configuring Luma3DS
#### Section IV - Configuring Luma3DS
1. Your device should have rebooted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -2,6 +2,10 @@
title: "Installing boot9strap (DSiWare)"
---
{% include toc title="Table of Contents" %}
### Required Reading
There are two different methods of installing boot9strap using DSiWare on 11.6.0.
One of these methods only works with four specific games that are no longer sold on the eShop, while the other works with quite a few games still sold on the eShop.
@ -24,32 +28,31 @@ In both of these methods, the source 3DS's NNID will be stuck on the target 3DS
{: .notice--danger}
___
### Methods
{% capture notice-1 %}
___
[Installing boot9strap (DSiWare Save Injection)](installing-boot9strap-(dsiware-save-injection))
#### Installing boot9strap (DSiWare Save Injection)
This method requires that the source 3DS already legitimately owns one of the following games:
+ "Fieldrunners"
+ "Legends of Exidia"
+ "Guitar Rock Tour"
+ "The Legend of Zelda: Four Swords"
+ "Fieldrunners"
+ "Legends of Exidia"
+ "Guitar Rock Tour"
+ "The Legend of Zelda: Four Swords"
A pirated copy of the game will *not* work, and all of these games have been pulled from the eShop.
{% endcapture %}
Continue to [Installing boot9strap (DSiWare Save Injection)](installing-boot9strap-(dsiware-save-injection))
{: .notice--primary}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
___
{% capture notice-1 %}
[Installing boot9strap (DSiWare Game Injection)](installing-boot9strap-(dsiware-game-injection))
#### Installing boot9strap (DSiWare Game Injection)
This method requires that the source 3DS buys or already legitimately owns one of the games listed on the [Installing boot9strap (DSiWare Game Injection List)](installing-boot9strap-(dsiware-game-injection-list)) page.
A pirated copy of the game will *not* work.
{% endcapture %}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
Continue to [Installing boot9strap (DSiWare Game Injection)](installing-boot9strap-(dsiware-game-injection))
{: .notice--primary}

View file

@ -2,6 +2,8 @@
title: "Installing boot9strap (DSiWare Game Injection)"
---
{% include toc title="Table of Contents" %}
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on this page, you will need a torrent client like [Deluge](http://dev.deluge-torrent.org/wiki/Download)
@ -11,7 +13,7 @@ Before proceeding, ensure you have read all of the notices and warnings on [Inst
If you do not use the correct `.firm` corresponding to the target 3DS, you will BRICK! Ensure you download and use the correct one!
{: .notice--danger}
#### What you need
### What you need
* Two 3DS family devices
+ **The source 3DS**: the device running some kind of custom firmware (such as boot9strap or arm9loaderhax) *on the latest version*
@ -32,9 +34,9 @@ If you do not use the correct `.firm` corresponding to the target 3DS, you will
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`2.54-0_11.4_OLD.firm`](magnet:?xt=urn:btih:0dd89d42ad711f770da899af05ee162ede0d0070&dn=2.54-0_11.4_OLD.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`2.54-0_11.4_NEW.firm`](magnet:?xt=urn:btih:3b59dd43eec3edb133555f58d1180bfb196acbb4&dn=2.54-0_11.4_NEW.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup any saves you care about on *the target 3DS* (it will be formatted!)
{: .notice--warning}
@ -59,7 +61,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Reinsert each SD card back into their corresponding 3DS
1. Press (Start) on **the source 3DS** to reboot
##### Section II - Injecting the game and save
#### Section II - Injecting the game and save
1. Boot **the source 3DS** while holding (Start) to launch GodMode9
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
@ -97,9 +99,9 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ If your game has an error about `boot.nds` or a white screen, **then the exploit has been successful**
+ If your game has an error about corrupted or inaccessible save data, confirm that you copied **the contents of** the `savedata` folder and not the `savedata` folder itself
+ If your game behaves normally and does not give you an error about `boot.nds`, then you should stop and figure out what went wrong
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#twl_broken)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide)
##### Section III - System Transfer
#### Section III - System Transfer
1. If **the target 3DS** has a Nintendo Network ID on it, you must format the device using System Settings:
+ Go to the last page of "Other Settings" and select "Format System Memory", then follow all instructions
@ -115,13 +117,13 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ Slowest Method: If you don't have the ability to move the data on a PC use the **full** "Wireless Transfer" option (option 1).
1. Go to [this link](http://en-americas-support.nintendo.com/app/answers/detail/a_id/227/) and follow Nintendo's official instructions for System Transferring from one system to another while keeping in mind what you just read
##### Section IV - Restoring the source 3DS
#### Section IV - Restoring the source 3DS
1. On **the source 3DS**, complete initial setup
1. Do one of the following
+ Do the rest of the sections and then the full guide on **the target 3DS**, then wait one week *(do not restore your NAND backup before system transferring)*, then System Transfer from **the target 3DS** back to **the source 3DS** *(remember you cannot transfer back from a New 3DS or New 2DS to an Old 3DS or Old 2DS)*
+ Call Nintendo and tell them you no longer have access to the device that your NNID is linked to (which is **the target 3DS** in this case), and would like it linked to a different device (which is **the source 3DS** in this case)
+ You can also just [remove the NNID](https://3ds.guide/troubleshooting#rm_nnid) from **the source 3DS** if you'd prefer it remain on **the target 3DS**
+ You can also just [remove the NNID](https://3ds.guide/troubleshooting#removing-an-nnid-without-formatting-your-device) from **the source 3DS** if you'd prefer it remain on **the target 3DS**
1. Reboot **the source 3DS** while holding (Start) to launch GodMode9
1. Navigate to `[0:] SDCARD` -> `gm9` -> `out`
1. Press (A) on `<date>_<serialnumber>_sysnand_###.bin` to select it, then select "NAND image options...", then select "Restore SysNAND (safe)"
@ -133,7 +135,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Press (A) to relock write permissions if prompted
1. Press (Start) to reboot **the source 3DS**
##### Section V - Backing up the target 3DS's FIRM
#### Section V - Backing up the target 3DS's FIRM
1. Copy `boot.firm` from the Luma3DS `.7z` to the root of your SD card
1. Copy `boot.nds` (B9STool) to the root of **the target 3DS**'s SD card
@ -148,7 +150,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Put your SD card in your computer, then copy `F0F1_NEW3DS.bin` or `F0F1_OLD3DS.bin` (depending on your device) from the `boot9strap` folder to a safe location; make backups in multiple locations; this backup will save you from a brick if anything goes wrong
1. Reinsert your SD card into **the target 3DS**
##### Section VI - Flashing the target 3DS's FIRM
#### Section VI - Flashing the target 3DS's FIRM
**Do NOT use b9sTool on a device that already has arm9loaderhax installed or you will BRICK!**
{: .notice--danger}
@ -159,10 +161,10 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ You may have to force power off by holding the power button
1. Power on **the target 3DS**
##### Section VII - Configuring Luma3DS
#### Section VII - Configuring Luma3DS
1. Your device should have booted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -36,133 +36,133 @@ The following size requirements are because the injected DSiWare and its hacked
| | Price | 8 Character ID | Region(s) | QR Code |
|:-:|:-:|:-:|:-:|:-:|
| Faceez! Monsters | $1.99 | 4B464D45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B464D45.png)
| Faceez | $1.99 | 4B465A45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B465A45.png)
| 1001 BlockBusters | $1.99 | 4B494F45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B494F45.png)
| SUDOKU | $1.99 | 4B344445 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B344445.png)
| 5 in 1 Solitaire | $1.99 | 4B354945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B354945.png)
| Did It Myself ABC123 | $1.99 | 4B504745 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B504745.png)
| Music on: Retro Keyboard | $1.99 | 4B524845 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524845.png)
| Rytmik Rock Edition | $1.99 | 4B525145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525145.png)
| Robot Rescue 2 | $1.99 | 4B525245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525245.png)
| Jam Space: PocketStudio | $4.99 | 4B4A4D45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4A4D45.png)
| Let's Create! Pottery | $4.99 | 4B4C4A45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4C4A45.png)
| Mixed Messages™ | $4.99 | 4B4D4D45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D4D45.png)
| 1001 Crystal Mazes Collection | $4.99 | 4B4F4B45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4F4B45.png)
| Zoo Frenzy | $4.99 | 4B5A4645 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B5A4645.png)
| Flametail™ | $4.99 | 4B344B45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B344B45.png)
| 101 Dolphin Pets | $4.99 | 4B345A45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345A45.png)
| Escape Trick: Convenience Store | $4.99 | 4B354B45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B354B45.png)
| Glow Artisan | $4.99 | 4B474C45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B474C45.png)
| Roller Angels | $4.99 | 4B524C45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524C45.png)
| Soul of Darkness | $4.99 | 4B534B45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B534B45.png)
| Fishdom | $4.99 | 4B323945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B323945.png)
| Smart Girl's Playhouse® Mini | $4.99 | 4B324645 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B324645.png)
| Super Swap | $4.99 | 4B345745 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345745.png)
| 101 Shark Pets | $4.99 | 4B345945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345945.png)
| Metal Torrent™ | $4.99 | 4B353945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B353945.png)
| Rhythm Core Alpha | $4.99 | 4B354145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B354145.png)
| Escape Trick: The Secret of Rock City Prison | $4.99 | 4B355145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B355145.png)
| HeathCliff Spot On | $4.99 | 4B365345 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B365345.png)
| Magical Diary: Secrets Sharing | $4.99 | 4B373345 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B373345.png)
| Jewel Match | $4.99 | 4B374645 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B374645.png)
| Date or Ditch | $4.99 | 4B443245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B443245.png)
| Absolute Baseball | $4.99 | 4B453945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B453945.png)
| Escape Trick: Ninja Castle | $4.99 | 4B455945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B455945.png)
| Flight Control™ | $4.99 | 4B464945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B464945.png)
| 101 Pinball World | $4.99 | 4B494945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B494945.png)
| Inchworm Animation | $4.99 | 4B495745 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B495745.png)
| Arctic Escape | $4.99 | 4B514145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B514145.png)
| Music on: Drums | $4.99 | 4B514445 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B514445.png)
| Crystal Caverns of Amon-Ra | $4.99 | 4B515145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B515145.png)
| Sudoku Challenge! | $4.99 | 4B534345 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B534345.png)
| Amoebattle | $4.99 | 4B554145 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B554145.png)
| Chronicles of Vampires: The Awakening | $4.99 | 4B565645 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B565645.png)
| Chronicles of Vampires: Origins | $4.99 | 4B565745 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B565745.png)
| 101 MiniGolf World | $4.99 | 4B584945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B584945.png)
| Face Pilot™: Fly With Your Nintendo DSi Camera! | $4.99 | 4B594245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B594245.png)
| Me And My Dogs: Friends Forever | $7.99 | 4B4D3845 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D3845.png)
| Miami Nights: Life in the Spotlight | $7.99 | 4B4D4545 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D4545.png)
| Brain Age™ Express: Arts & Letters | $7.99 | 4B4E4445 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4E4445.png)
| Brain Age™ Express: Math | $7.99 | 4B4E5245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4E5245.png)
| Mario vs. Donkey Kong™: Minis March Again! | $7.99 | 4B444D45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B444D45.png)
| Rytmik | $7.99 | 4B524B45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524B45.png)
| Rayman® | $7.99 | 4B524D45 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524D45.png)
| Foto Face™: The Face Stealer Strikes | $7.99 | 4B345445 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345445.png)
| Art Academy™: Second Semester | $7.99 | 4B413245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B413245.png)
| Art Academy™: First Semester | $7.99 | 4B414945 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B414945.png)
| Hot and Cold: A 3D Hidden Object Adventure | $7.99 | 4B484345 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B484345.png)
| Hip Hop King: Rytmik Edition | $7.99 | 4B525645 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525645.png)
| Rytmik World Music | $7.99 | 4B594845 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B594845.png)
| Rytmik Retrobits | $7.99 | 4B595245 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B595245.png)
| Rhythm Core Alpha 2™ | $9.99 | 4B593445 | USA | ![qrcode]({{ base_path }}/images/qrcodes/000480044B593445.png)
| Faceez! Monsters | $1.99 | 4B464D45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B464D45.png" | absolute_url }})
| Faceez | $1.99 | 4B465A45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B465A45.png" | absolute_url }})
| 1001 BlockBusters | $1.99 | 4B494F45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B494F45.png" | absolute_url }})
| SUDOKU | $1.99 | 4B344445 | USA | ![qrcode]({{ "/images/qrcodes/000480044B344445.png" | absolute_url }})
| 5 in 1 Solitaire | $1.99 | 4B354945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B354945.png" | absolute_url }})
| Did It Myself ABC123 | $1.99 | 4B504745 | USA | ![qrcode]({{ "/images/qrcodes/000480044B504745.png" | absolute_url }})
| Music on: Retro Keyboard | $1.99 | 4B524845 | USA | ![qrcode]({{ "/images/qrcodes/000480044B524845.png" | absolute_url }})
| Rytmik Rock Edition | $1.99 | 4B525145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B525145.png" | absolute_url }})
| Robot Rescue 2 | $1.99 | 4B525245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B525245.png" | absolute_url }})
| Jam Space: PocketStudio | $4.99 | 4B4A4D45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4A4D45.png" | absolute_url }})
| Let's Create! Pottery | $4.99 | 4B4C4A45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4C4A45.png" | absolute_url }})
| Mixed Messages™ | $4.99 | 4B4D4D45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4D4D45.png" | absolute_url }})
| 1001 Crystal Mazes Collection | $4.99 | 4B4F4B45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4F4B45.png" | absolute_url }})
| Zoo Frenzy | $4.99 | 4B5A4645 | USA | ![qrcode]({{ "/images/qrcodes/000480044B5A4645.png" | absolute_url }})
| Flametail™ | $4.99 | 4B344B45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B344B45.png" | absolute_url }})
| 101 Dolphin Pets | $4.99 | 4B345A45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B345A45.png" | absolute_url }})
| Escape Trick: Convenience Store | $4.99 | 4B354B45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B354B45.png" | absolute_url }})
| Glow Artisan | $4.99 | 4B474C45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B474C45.png" | absolute_url }})
| Roller Angels | $4.99 | 4B524C45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B524C45.png" | absolute_url }})
| Soul of Darkness | $4.99 | 4B534B45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B534B45.png" | absolute_url }})
| Fishdom | $4.99 | 4B323945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B323945.png" | absolute_url }})
| Smart Girl's Playhouse® Mini | $4.99 | 4B324645 | USA | ![qrcode]({{ "/images/qrcodes/000480044B324645.png" | absolute_url }})
| Super Swap | $4.99 | 4B345745 | USA | ![qrcode]({{ "/images/qrcodes/000480044B345745.png" | absolute_url }})
| 101 Shark Pets | $4.99 | 4B345945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B345945.png" | absolute_url }})
| Metal Torrent™ | $4.99 | 4B353945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B353945.png" | absolute_url }})
| Rhythm Core Alpha | $4.99 | 4B354145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B354145.png" | absolute_url }})
| Escape Trick: The Secret of Rock City Prison | $4.99 | 4B355145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B355145.png" | absolute_url }})
| HeathCliff Spot On | $4.99 | 4B365345 | USA | ![qrcode]({{ "/images/qrcodes/000480044B365345.png" | absolute_url }})
| Magical Diary: Secrets Sharing | $4.99 | 4B373345 | USA | ![qrcode]({{ "/images/qrcodes/000480044B373345.png" | absolute_url }})
| Jewel Match | $4.99 | 4B374645 | USA | ![qrcode]({{ "/images/qrcodes/000480044B374645.png" | absolute_url }})
| Date or Ditch | $4.99 | 4B443245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B443245.png" | absolute_url }})
| Absolute Baseball | $4.99 | 4B453945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B453945.png" | absolute_url }})
| Escape Trick: Ninja Castle | $4.99 | 4B455945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B455945.png" | absolute_url }})
| Flight Control™ | $4.99 | 4B464945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B464945.png" | absolute_url }})
| 101 Pinball World | $4.99 | 4B494945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B494945.png" | absolute_url }})
| Inchworm Animation | $4.99 | 4B495745 | USA | ![qrcode]({{ "/images/qrcodes/000480044B495745.png" | absolute_url }})
| Arctic Escape | $4.99 | 4B514145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B514145.png" | absolute_url }})
| Music on: Drums | $4.99 | 4B514445 | USA | ![qrcode]({{ "/images/qrcodes/000480044B514445.png" | absolute_url }})
| Crystal Caverns of Amon-Ra | $4.99 | 4B515145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B515145.png" | absolute_url }})
| Sudoku Challenge! | $4.99 | 4B534345 | USA | ![qrcode]({{ "/images/qrcodes/000480044B534345.png" | absolute_url }})
| Amoebattle | $4.99 | 4B554145 | USA | ![qrcode]({{ "/images/qrcodes/000480044B554145.png" | absolute_url }})
| Chronicles of Vampires: The Awakening | $4.99 | 4B565645 | USA | ![qrcode]({{ "/images/qrcodes/000480044B565645.png" | absolute_url }})
| Chronicles of Vampires: Origins | $4.99 | 4B565745 | USA | ![qrcode]({{ "/images/qrcodes/000480044B565745.png" | absolute_url }})
| 101 MiniGolf World | $4.99 | 4B584945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B584945.png" | absolute_url }})
| Face Pilot™: Fly With Your Nintendo DSi Camera! | $4.99 | 4B594245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B594245.png" | absolute_url }})
| Me And My Dogs: Friends Forever | $7.99 | 4B4D3845 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4D3845.png" | absolute_url }})
| Miami Nights: Life in the Spotlight | $7.99 | 4B4D4545 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4D4545.png" | absolute_url }})
| Brain Age™ Express: Arts & Letters | $7.99 | 4B4E4445 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4E4445.png" | absolute_url }})
| Brain Age™ Express: Math | $7.99 | 4B4E5245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B4E5245.png" | absolute_url }})
| Mario vs. Donkey Kong™: Minis March Again! | $7.99 | 4B444D45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B444D45.png" | absolute_url }})
| Rytmik | $7.99 | 4B524B45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B524B45.png" | absolute_url }})
| Rayman® | $7.99 | 4B524D45 | USA | ![qrcode]({{ "/images/qrcodes/000480044B524D45.png" | absolute_url }})
| Foto Face™: The Face Stealer Strikes | $7.99 | 4B345445 | USA | ![qrcode]({{ "/images/qrcodes/000480044B345445.png" | absolute_url }})
| Art Academy™: Second Semester | $7.99 | 4B413245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B413245.png" | absolute_url }})
| Art Academy™: First Semester | $7.99 | 4B414945 | USA | ![qrcode]({{ "/images/qrcodes/000480044B414945.png" | absolute_url }})
| Hot and Cold: A 3D Hidden Object Adventure | $7.99 | 4B484345 | USA | ![qrcode]({{ "/images/qrcodes/000480044B484345.png" | absolute_url }})
| Hip Hop King: Rytmik Edition | $7.99 | 4B525645 | USA | ![qrcode]({{ "/images/qrcodes/000480044B525645.png" | absolute_url }})
| Rytmik World Music | $7.99 | 4B594845 | USA | ![qrcode]({{ "/images/qrcodes/000480044B594845.png" | absolute_url }})
| Rytmik Retrobits | $7.99 | 4B595245 | USA | ![qrcode]({{ "/images/qrcodes/000480044B595245.png" | absolute_url }})
| Rhythm Core Alpha 2™ | $9.99 | 4B593445 | USA | ![qrcode]({{ "/images/qrcodes/000480044B593445.png" | absolute_url }})
| | Price | 8 Character ID | Region(s) | QR Code |
|:-:|:-:|:-:|:-:|:-:|
| Faceez: Monsters! | 1,99€ | 4B464D50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B464D50.png)
| Faceez | 1,99€ | 4B465A56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B465A56.png)
| 1001 BlockBusters | 1,99€ | 4B494F50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B494F50.png)
| SUDOKU | 1,99€ | 4B344456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B344456.png)
| 5 in 1 Solitaire | 1,99€ | 4B354950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B354950.png)
| Nintendo Countdown Calendar | 1,99€ | 4B415556 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B415556.png)
| Robot Rescue 2 | 1,99€ | 4B525250 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525250.png)
| Robot Rescue | 1,99€ | 4B525456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525456.png)
| Rytmik World Music | 1,99€ | 4B594856 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B594856.png)
| Jagged Alliance | 4,99€ | 4B4A4750 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4A4750.png)
| Let's Create! Pottery | 4,99€ | 4B4C4A56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4C4A56.png)
| Mixed Messages™ | 4,99€ | 4B4D4D56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D4D56.png)
| 1001 Crystal Mazes Collection | 4,99€ | 4B4F4B50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4F4B50.png)
| Trailblaze™: Puzzle Incinerator | 4,99€ | 4B344B56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B344B56.png)
| 101 Dolphin Pets | 4,99€ | 4B345A50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345A50.png)
| Model Academy | 4,99€ | 4B384D50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B384D50.png)
| Ball Fighter | 4,99€ | 4B424F50 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B424F50.png)
| Glow Artisan | 4,99€ | 4B474C56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B474C56.png)
| Soul of Darkness | 4,99€ | 4B534B56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B534B56.png)
| UNO™ | 4,99€ | 4B554E56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B554E56.png)
| Fishdom | 4,99€ | 4B323950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B323950.png)
| AlphaBounce | 4,99€ | 4B325856 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B325856.png)
| Super Swap! | 4,99€ | 4B345750 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345750.png)
| 101 Shark Pets | 4,99€ | 4B345950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345950.png)
| Metal Torrent™ | 4,99€ | 4B353956 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B353956.png)
| Rhythm Core Alpha™ | 4,99€ | 4B354156 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B354156.png)
| Puzzle to Go Sightseeing | 4,99€ | 4B423350 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B423350.png)
| Puzzle to Go Planets and Universe | 4,99€ | 4B425850 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B425850.png)
| Puzzle to Go Baby Animals | 4,99€ | 4B425950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B425950.png)
| Flight Control™ | 4,99€ | 4B464956 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B464956.png)
| 101 Pinball World | 4,99€ | 4B494950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B494950.png)
| Inchworm Animation | 4,99€ | 4B495750 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B495750.png)
| Puzzle to Go Wildlife | 4,99€ | 4B504450 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B504450.png)
| Arctic Escape | 4,99€ | 4B514150 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B514150.png)
| Music on: Drums | 4,99€ | 4B514456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B514456.png)
| Crystal Caverns of Amon-Ra | 4,99€ | 4B515150 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B515150.png)
| Sudoku Challenge! | 4,99€ | 4B534350 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B534350.png)
| 101 MiniGolf World | 4,99€ | 4B584950 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B584950.png)
| Jewel Match | 4,99€ | 4B593550 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B593550.png)
| Face Pilot™: Fly With Your Nintendo DSi Camera! | 4,99€ | 4B594256 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B594256.png)
| Me And My Dogs: Friends Forever | 7,99€ | 4B4D3856 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D3856.png)
| Miami Nights: Life in the Spotlight | 7,99€ | 4B4D4556 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4D4556.png)
| A Little Bit of... Dr Kawashimas Brain Training™ Arts Edition | 7,99€ | 4B4E4456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4E4456.png)
| A Little Bit of...Dr Kawashimas Brain Training™: Maths Edition | 7,99€ | 4B4E5256 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4E5256.png)
| Zoo Frenzy | 7,99€ | 4B5A4656 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B5A4656.png)
| Mario vs. Donkey Kong™: Minis March Again! | 7,99€ | 4B444D56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B444D56.png)
| Rytmik | 7,99€ | 4B524B56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524B56.png)
| RAYMAN® | 7,99€ | 4B524D56 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B524D56.png)
| Foto Face™: The Face Stealer Strikes | 7,99€ | 4B345456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B345456.png)
| Art Academy™ Second Semester | 7,99€ | 4B413256 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B413256.png)
| Art Academy™ First Semester | 7,99€ | 4B414956 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B414956.png)
| Rytmik Rock Edition | 7,99€ | 4B525156 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525156.png)
| Hip Hop King Rytmik Edition | 7,99€ | 4B525656 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B525656.png)
| Rytmik Retrobits | 7,99€ | 4B595256 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B595256.png)
| Rhythm Core Alpha 2™ | 9,99€ | 4B593456 | EUR | ![qrcode]({{ base_path }}/images/qrcodes/000480044B593456.png)
| Faceez: Monsters! | 1,99€ | 4B464D50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B464D50.png" | absolute_url }})
| Faceez | 1,99€ | 4B465A56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B465A56.png" | absolute_url }})
| 1001 BlockBusters | 1,99€ | 4B494F50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B494F50.png" | absolute_url }})
| SUDOKU | 1,99€ | 4B344456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B344456.png" | absolute_url }})
| 5 in 1 Solitaire | 1,99€ | 4B354950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B354950.png" | absolute_url }})
| Nintendo Countdown Calendar | 1,99€ | 4B415556 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B415556.png" | absolute_url }})
| Robot Rescue 2 | 1,99€ | 4B525250 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B525250.png" | absolute_url }})
| Robot Rescue | 1,99€ | 4B525456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B525456.png" | absolute_url }})
| Rytmik World Music | 1,99€ | 4B594856 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B594856.png" | absolute_url }})
| Jagged Alliance | 4,99€ | 4B4A4750 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4A4750.png" | absolute_url }})
| Let's Create! Pottery | 4,99€ | 4B4C4A56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4C4A56.png" | absolute_url }})
| Mixed Messages™ | 4,99€ | 4B4D4D56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4D4D56.png" | absolute_url }})
| 1001 Crystal Mazes Collection | 4,99€ | 4B4F4B50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4F4B50.png" | absolute_url }})
| Trailblaze™: Puzzle Incinerator | 4,99€ | 4B344B56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B344B56.png" | absolute_url }})
| 101 Dolphin Pets | 4,99€ | 4B345A50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B345A50.png" | absolute_url }})
| Model Academy | 4,99€ | 4B384D50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B384D50.png" | absolute_url }})
| Ball Fighter | 4,99€ | 4B424F50 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B424F50.png" | absolute_url }})
| Glow Artisan | 4,99€ | 4B474C56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B474C56.png" | absolute_url }})
| Soul of Darkness | 4,99€ | 4B534B56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B534B56.png" | absolute_url }})
| UNO™ | 4,99€ | 4B554E56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B554E56.png" | absolute_url }})
| Fishdom | 4,99€ | 4B323950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B323950.png" | absolute_url }})
| AlphaBounce | 4,99€ | 4B325856 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B325856.png" | absolute_url }})
| Super Swap! | 4,99€ | 4B345750 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B345750.png" | absolute_url }})
| 101 Shark Pets | 4,99€ | 4B345950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B345950.png" | absolute_url }})
| Metal Torrent™ | 4,99€ | 4B353956 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B353956.png" | absolute_url }})
| Rhythm Core Alpha™ | 4,99€ | 4B354156 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B354156.png" | absolute_url }})
| Puzzle to Go Sightseeing | 4,99€ | 4B423350 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B423350.png" | absolute_url }})
| Puzzle to Go Planets and Universe | 4,99€ | 4B425850 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B425850.png" | absolute_url }})
| Puzzle to Go Baby Animals | 4,99€ | 4B425950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B425950.png" | absolute_url }})
| Flight Control™ | 4,99€ | 4B464956 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B464956.png" | absolute_url }})
| 101 Pinball World | 4,99€ | 4B494950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B494950.png" | absolute_url }})
| Inchworm Animation | 4,99€ | 4B495750 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B495750.png" | absolute_url }})
| Puzzle to Go Wildlife | 4,99€ | 4B504450 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B504450.png" | absolute_url }})
| Arctic Escape | 4,99€ | 4B514150 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B514150.png" | absolute_url }})
| Music on: Drums | 4,99€ | 4B514456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B514456.png" | absolute_url }})
| Crystal Caverns of Amon-Ra | 4,99€ | 4B515150 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B515150.png" | absolute_url }})
| Sudoku Challenge! | 4,99€ | 4B534350 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B534350.png" | absolute_url }})
| 101 MiniGolf World | 4,99€ | 4B584950 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B584950.png" | absolute_url }})
| Jewel Match | 4,99€ | 4B593550 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B593550.png" | absolute_url }})
| Face Pilot™: Fly With Your Nintendo DSi Camera! | 4,99€ | 4B594256 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B594256.png" | absolute_url }})
| Me And My Dogs: Friends Forever | 7,99€ | 4B4D3856 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4D3856.png" | absolute_url }})
| Miami Nights: Life in the Spotlight | 7,99€ | 4B4D4556 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4D4556.png" | absolute_url }})
| A Little Bit of... Dr Kawashimas Brain Training™ Arts Edition | 7,99€ | 4B4E4456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4E4456.png" | absolute_url }})
| A Little Bit of...Dr Kawashimas Brain Training™: Maths Edition | 7,99€ | 4B4E5256 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B4E5256.png" | absolute_url }})
| Zoo Frenzy | 7,99€ | 4B5A4656 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B5A4656.png" | absolute_url }})
| Mario vs. Donkey Kong™: Minis March Again! | 7,99€ | 4B444D56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B444D56.png" | absolute_url }})
| Rytmik | 7,99€ | 4B524B56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B524B56.png" | absolute_url }})
| RAYMAN® | 7,99€ | 4B524D56 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B524D56.png" | absolute_url }})
| Foto Face™: The Face Stealer Strikes | 7,99€ | 4B345456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B345456.png" | absolute_url }})
| Art Academy™ Second Semester | 7,99€ | 4B413256 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B413256.png" | absolute_url }})
| Art Academy™ First Semester | 7,99€ | 4B414956 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B414956.png" | absolute_url }})
| Rytmik Rock Edition | 7,99€ | 4B525156 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B525156.png" | absolute_url }})
| Hip Hop King Rytmik Edition | 7,99€ | 4B525656 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B525656.png" | absolute_url }})
| Rytmik Retrobits | 7,99€ | 4B595256 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B595256.png" | absolute_url }})
| Rhythm Core Alpha 2™ | 9,99€ | 4B593456 | EUR | ![qrcode]({{ "/images/qrcodes/000480044B593456.png" | absolute_url }})
| | Price | 8 Character ID | Region(s) | QR Code |
|:-:|:-:|:-:|:-:|:-:|
| タッチで漫才! メガミの笑壺DL | 500円 | 4B394C4A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B394C4A.png)
| 練熟漢字中学生 | 800円 | 4B4A384A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4A384A.png)
| 教えてダーリン | 800円 | 4B4F534A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4F534A.png)
| 高校英単語基本400語マスター | 800円 | 4B454B4A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B454B4A.png)
| 中学英単語基本400語マスター | 800円 | 4B45544A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B45544A.png)
| 愛してイルカ ~愛されてイルカ~ | 800円 | 4B49524A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B49524A.png)
| ARC STYLE: ジュラシックワールド | 820円 | 4B4C444A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B4C444A.png)
| ゴー!ゴー!ココポロ | 820円 | 4B33474A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B33474A.png)
| X-RETURNS | 823円 | 4B44584A | JPN | ![qrcode]({{ base_path }}/images/qrcodes/000480044B44584A.png)
| タッチで漫才! メガミの笑壺DL | 500円 | 4B394C4A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B394C4A.png" | absolute_url }})
| 練熟漢字中学生 | 800円 | 4B4A384A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B4A384A.png" | absolute_url }})
| 教えてダーリン | 800円 | 4B4F534A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B4F534A.png" | absolute_url }})
| 高校英単語基本400語マスター | 800円 | 4B454B4A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B454B4A.png" | absolute_url }})
| 中学英単語基本400語マスター | 800円 | 4B45544A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B45544A.png" | absolute_url }})
| 愛してイルカ ~愛されてイルカ~ | 800円 | 4B49524A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B49524A.png" | absolute_url }})
| ARC STYLE: ジュラシックワールド | 820円 | 4B4C444A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B4C444A.png" | absolute_url }})
| ゴー!ゴー!ココポロ | 820円 | 4B33474A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B33474A.png" | absolute_url }})
| X-RETURNS | 823円 | 4B44584A | JPN | ![qrcode]({{ "/images/qrcodes/000480044B44584A.png" | absolute_url }})

View file

@ -2,6 +2,8 @@
title: "Installing boot9strap (DSiWare Save Injection)"
---
{% include toc title="Table of Contents" %}
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on this page, you will need a torrent client like [Deluge](http://dev.deluge-torrent.org/wiki/Download)
@ -11,7 +13,7 @@ Before proceeding, ensure you have read all of the notices and warnings on [Inst
If you do not use the correct `.firm` corresponding to the target 3DS, you will BRICK! Ensure you download and use the correct one!
{: .notice--danger}
#### What you need
### What you need
* Two 3DS family devices
+ **The source 3DS**: the device running some kind of custom firmware (such as boot9strap or arm9loaderhax) *on the latest version*
@ -31,9 +33,9 @@ If you do not use the correct `.firm` corresponding to the target 3DS, you will
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`2.54-0_11.4_OLD.firm`](magnet:?xt=urn:btih:0dd89d42ad711f770da899af05ee162ede0d0070&dn=2.54-0_11.4_OLD.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`2.54-0_11.4_NEW.firm`](magnet:?xt=urn:btih:3b59dd43eec3edb133555f58d1180bfb196acbb4&dn=2.54-0_11.4_NEW.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup any saves you care about on *the target 3DS* (it will be formatted!)
{: .notice--warning}
@ -65,7 +67,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Reinsert each SD card back into their corresponding 3DS
1. Press (Start) on **the source 3DS** to reboot
##### Section II - Installing the Save
#### Section II - Installing the Save
1. Boot **the source 3DS** while holding (Start) to launch GodMode9
1. Navigate to `[0:] SDCARD`
@ -98,9 +100,9 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ **The Legend of Zelda: Four Swords**: Just start the game
+ If your game has an error about `boot.nds` or a white screen, **then the exploit has been successful**
+ If your game behaves normally and does not give you this error, then you should stop and figure out what went wrong
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#twl_broken)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide)
##### Section III - System Transfer
#### Section III - System Transfer
1. **Backup every file on both 3DS's SD cards to two separate folders on your computer (keep track of which is which)!**
1. Reinsert each SD card back into their corresponding 3DS
@ -118,13 +120,13 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ Slowest Method: If you don't have the ability to move the data on a PC use the **full** "Wireless Transfer" option (option 1).
1. Go to [this link](http://en-americas-support.nintendo.com/app/answers/detail/a_id/227/) and follow Nintendo's official instructions for System Transferring from one system to another while keeping in mind what you just read
##### Section IV - Restoring the source 3DS
#### Section IV - Restoring the source 3DS
1. On **the source 3DS**, complete initial setup
1. Do one of the following
+ Do the rest of the sections and then the full guide on **the target 3DS**, then wait one week *(do not restore your NAND backup before system transferring)*, then System Transfer from **the target 3DS** back to **the source 3DS** *(remember you cannot transfer back from a New 3DS or New 2DS to an Old 3DS or Old 2DS)*
+ Call Nintendo and tell them you no longer have access to the device that your NNID is linked to (which is **the target 3DS** in this case), and would like it linked to a different device (which is **the source 3DS** in this case)
+ You can also just [remove the NNID](https://3ds.guide/troubleshooting#rm_nnid) from **the source 3DS** if you'd prefer it remain on **the target 3DS**
+ You can also just [remove the NNID](https://3ds.guide/troubleshooting#removing-an-nnid-without-formatting-your-device) from **the source 3DS** if you'd prefer it remain on **the target 3DS**
1. Reboot **the source 3DS** while holding (Start) to launch GodMode9
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
1. If you are prompted to fix the RTC date&time, press (A) to do so, then set the date and time, then press (A) to continue
@ -139,7 +141,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Press (A) to relock write permissions if prompted
1. Press (Start) to reboot **the source 3DS**
##### Section V - Backing up the target 3DS's FIRM
#### Section V - Backing up the target 3DS's FIRM
1. Copy `boot.firm` from the Luma3DS `.7z` to the root of your SD card
1. Copy `boot.nds` (B9STool) to the root of **the target 3DS**'s SD card
@ -159,7 +161,7 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
1. Put your SD card in your computer, then copy `F0F1_NEW3DS.bin` or `F0F1_OLD3DS.bin` (depending on your device) from the `boot9strap` folder to a safe location; make backups in multiple locations; this backup will save you from a brick if anything goes wrong
1. Reinsert your SD card into **the target 3DS**
##### Section VI - Flashing the target 3DS's FIRM
#### Section VI - Flashing the target 3DS's FIRM
**Do NOT use b9sTool on a device that already has arm9loaderhax installed or you will BRICK!**
{: .notice--danger}
@ -175,10 +177,10 @@ Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup an
+ You may have to force power off by holding the power button
1. Power on **the target 3DS**
##### Section VII - Configuring Luma3DS
#### Section VII - Configuring Luma3DS
1. Your device should have booted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -2,6 +2,8 @@
title: "Installing boot9strap (Hardmod)"
---
{% include toc title="Table of Contents" %}
An excellent guide to getting a hardmod can be found [here](https://gbatemp.net/threads/414498/). If you are on a New 3DS, read [this](https://github.com/Plailect/Guide/issues/681) and [this](https://github.com/Plailect/Guide/issues/1185) before hardmodding.
This is a currently working implementation of the "FIRM partitions known-plaintext" exploit detailed [here](https://www.3dbrew.org/wiki/3DS_System_Flaws).
@ -10,7 +12,7 @@ To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on th
This will work on New 3DS, New 2DS, Old 3DS, and Old 2DS on *all* versions that you have a corresponding `.firm` for.
#### What you need
### What you need
* Your NAND image extracted using your [hardmod](https://gbatemp.net/threads/414498/)
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(standard boot9strap; not the `devkit` file, not the `ntr` file)*
@ -50,9 +52,9 @@ This will work on New 3DS, New 2DS, Old 3DS, and Old 2DS on *all* versions that
| 11.3.0 | 2.53-0 | [`2.53-0_11.3_OLD.firm`](magnet:?xt=urn:btih:9d8d62c50b0ef1ad35b5e62602f21fac773171ce&dn=2.53-0_11.3_OLD.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce) | [`2.53-0_11.3_NEW.firm`](magnet:?xt=urn:btih:53363ab66f877d9edf33f55e6abc3ccf72819191&dn=2.53-0_11.3_NEW.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce) |
| 11.4.0 - 11.6.0 | 2.54-0 | [`2.54-0_11.4_OLD.firm`](magnet:?xt=urn:btih:0dd89d42ad711f770da899af05ee162ede0d0070&dn=2.54-0_11.4_OLD.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce) | [`2.54-0_11.4_NEW.firm`](magnet:?xt=urn:btih:3b59dd43eec3edb133555f58d1180bfb196acbb4&dn=2.54-0_11.4_NEW.firm&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce) |
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Copy `boot.firm` from the Luma3DS `.7z` to the root of your SD card
1. Copy _the contents of_ `starter.zip` to the root of your SD card
@ -62,7 +64,7 @@ This will work on New 3DS, New 2DS, Old 3DS, and Old 2DS on *all* versions that
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the hardmod-b9s-installer folder on your computer
1. Copy your NAND dump (from your hardmod) to the hardmod-b9s-installer folder on your computer and name it `NAND.bin`
##### Section II - Installing boot9strap
#### Section II - Installing boot9strap
1. Run hardmod-b9s-installer
+ Windows Users: Run `install-b9s.exe`
@ -70,10 +72,10 @@ This will work on New 3DS, New 2DS, Old 3DS, and Old 2DS on *all* versions that
1. Flash your outputted `NAND-patched.bin` to your device with your hardmod
1. Reboot your device
##### Section III - Configuring Luma3DS
#### Section III - Configuring Luma3DS
1. Your device should have booted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -2,11 +2,13 @@
title: "Installing boot9strap (Homebrew Launcher)"
---
{% include toc title="Table of Contents" %}
If you have already hacked your device before and have a EmuNAND based CFW setup, this guide deals exclusively with SysNAND and you should follow all instructions from within or applying to SysNAND. Note that the terms EmuNAND and RedNAND refer to slightly different implementations of [the same concept](http://3dbrew.org/wiki/NAND_Redirection).
#### Instructions
### Instructions
##### Section I - Launching SafeB9SInstaller
#### Section I - Launching SafeB9SInstaller
1. Launch udsploit from the list of homebrew
+ You may have to scroll down to see this option
@ -20,16 +22,16 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
+ If it freezes, just force the console to power off by holding the power button, then try again
1. If the exploit was successful, you will have booted into SafeB9SInstaller
##### Section II - Installing boot9strap
#### Section II - Installing boot9strap
1. Wait for all safety checks to complete
1. When prompted, input the key combo given to install boot9strap
1. Once it has completed, press (A) to reboot your device
##### Section III - Configuring Luma3DS
#### Section III - Configuring Luma3DS
1. Your device should have rebooted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -2,9 +2,11 @@
title: "Installing boot9strap (MSET)"
---
{% include toc title="Table of Contents" %}
If you have already hacked your device before and have a EmuNAND based CFW setup, this guide deals exclusively with SysNAND and you should follow all instructions from within or applying to SysNAND. Note that the terms EmuNAND and RedNAND refer to slightly different implementations of [the same concept](http://3dbrew.org/wiki/NAND_Redirection).
#### What you need
### What you need
* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/latest)
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(standard boot9strap; not the `devkit` file, not the `ntr` file)*
@ -12,9 +14,9 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
* Any DS flashcart that works on your device version
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your compute
@ -24,14 +26,14 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
1. Copy `SafeB9SInstaller.dat` from the SafeB9SInstaller `.zip` to the root of your SD card
![]({{ base_path }}/images/screenshots/boot9strap-mset-file-layout.png)
![]({{ "/images/screenshots/boot9strap-mset-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Copy `SafeB9SInstaller.nds` from the SafeB9SInstaller `.zip` to your DS flashcart
1. Power on your device
##### Section II - Launching SafeB9SInstaller
#### Section II - Launching SafeB9SInstaller
1. Start your DS flashcart from your device
1. Boot `SafeB9SInstaller.nds` using your flashcart
@ -41,16 +43,16 @@ If you have already hacked your device before and have a EmuNAND based CFW setup
1. Reboot the system, then go to System Settings, then "Other Settings", then "Profile", then "Nintendo DS Profile"
1. If the exploit was successful, you will have booted into SafeB9SInstaller
##### Section III - Installing boot9strap
#### Section III - Installing boot9strap
1. Wait for all safety checks to complete
1. When prompted, input the key combo given to install boot9strap
1. Once it has completed, press (A) to reboot your device
##### Section IV - Configuring Luma3DS
#### Section IV - Configuring Luma3DS
1. Your device should have rebooted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot

View file

@ -2,7 +2,9 @@
title: "Installing boot9strap (ntrboot)"
---
#### What you need
{% include toc title="Table of Contents" %}
### What you need
* A magnet that triggers the sleep mode of your device (if using a folding style device)
* Your ntrboot flashed flashcart
@ -11,9 +13,9 @@ title: "Installing boot9strap (ntrboot)"
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -22,13 +24,13 @@ title: "Installing boot9strap (ntrboot)"
1. Create a folder named `boot9strap` on the root of your SD card
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
![]({{ base_path }}/images/screenshots/boot9strap-ntrboot-file-layout.png)
![]({{ "/images/screenshots/boot9strap-ntrboot-file-layout.png" | absolute_url }})
{: .notice--info}
1. Reinsert your SD card into your device
1. Power on your device
##### Section II - ntrboot
#### Section II - ntrboot
1. Use the magnet to find the spot on your device where the sleep sensor is triggered
+ This step is not needed on the old 2DS (which has a sleep mode switch)
@ -40,7 +42,7 @@ title: "Installing boot9strap (ntrboot)"
+ It may take a few attempts to get this to work because the positioning is awkward
1. If the exploit was successful, you will have booted into SafeB9SInstaller
##### Section III - Installing boot9strap
#### Section III - Installing boot9strap
1. Wait for all safety checks to complete
1. Remove the magnet from your device
@ -49,7 +51,7 @@ title: "Installing boot9strap (ntrboot)"
1. Once it has completed, force your device to power off by holding down the power button
+ Your device will only boot to the SafeB9SInstaller screen until the next section is completed
##### Section IV - Configuring Luma3DS
#### Section IV - Configuring Luma3DS
1. Insert your SD card into your computer
1. Delete `boot.firm` from the root of your SD card
@ -57,7 +59,7 @@ title: "Installing boot9strap (ntrboot)"
1. Reinsert your SD card into your device
1. Power on your device
1. Your device should have booted into the Luma3DS configuration menu
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#ts_sys_b9s)
+ If you get a black screen, [follow this troubleshooting guide](troubleshooting#black-screen-on-sysnand-boot-after-installing-boot9strap)
1. Use the (A) button and the D-Pad to turn on the following:
+ **"Show NAND or user string in System Settings"**
1. Press (Start) to save and reboot
@ -76,9 +78,9 @@ Note that the Acekard 2i retains its ability to launch `.nds` files while having
Do not follow this section until you have completed the rest of the instructions on this page.
##### Section V - Removing ntrboot
#### Section V - Removing ntrboot
###### What you need
##### What you need
* The latest release of [ntrboot_flasher](https://github.com/kitling/ntrboot_flasher/releases/latest)
* The flashrom backup corresponding to your flashcart
@ -92,7 +94,7 @@ Do not follow this section until you have completed the rest of the instructions
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`Acekard_2i_(HW_44)-Flashrom.zip`](magnet:?xt=urn:btih:d12b46b1bfadc6b03ff260ab90dcb136d890fd39&dn=Acekard_2i_%28HW_44%29-Flashrom.zip&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce)
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`R4i_Ultra-Flashrom.zip`](magnet:?xt=urn:btih:614e9951a6c26145e68de34ed8c23a44bf190728&dn=R4i_Ultra-Flashrom.zip&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce)
###### Instructions
##### Instructions
1. Power off your device
1. Insert your SD card into your computer

View file

@ -2,6 +2,8 @@
title: "Move EmuNAND"
---
{% include toc title="Table of Contents" %}
This is an add-on section for moving the contents of a previous EmuNAND to your new SysNAND CFW, then removing the old EmuNAND partition. Note that the terms EmuNAND and RedNAND refer to slightly different implementations of [the same concept](http://3dbrew.org/wiki/NAND_Redirection).
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
@ -9,15 +11,15 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
**You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use this.**
{: .notice--danger}
#### What you need
### What you need
* An existing EmuNAND
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
* The latest release of [FBI](https://github.com/Steveice10/FBI/releases/latest)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -25,7 +27,7 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
1. Copy the `gm9` folder from the GodMode9 `.zip` to the root of your SD card
1. Reinsert your SD card into your device
##### Section II - Backup SysNAND DSiWare Saves
#### Section II - Backup SysNAND DSiWare Saves
If you do not have any DSiWare games or saves that you care about, skip this section.
{: .notice--info}
@ -39,7 +41,7 @@ If you do not have any DSiWare games or saves that you care about, skip this sec
+ This process may take some time if you have many DSiWare games
1. Press (B) twice to return to the main menu
##### Section III - Backup GBA VC Saves
#### Section III - Backup GBA VC Saves
If you do not have any GBA VC games or saves that you care about, skip this section.
{: .notice--info}
@ -65,7 +67,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ Press (A) to continue
+ Press (Start) to reboot your device
##### Section IV - Copy EmuNAND to SysNAND
#### Section IV - Copy EmuNAND to SysNAND
1. Launch GodMode9 by holding (Start) during boot
1. Navigate to `[E:] EMUNAND VIRTUAL`
@ -78,7 +80,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
1. Press (B) to decline relocking write permissions if prompted
1. Press (B) to return to the main menu
##### Section V - Restore DSiWare Saves
#### Section V - Restore DSiWare Saves
If you did not backup DSiWare Saves earlier, skip this section.
{: .notice--info}
@ -95,7 +97,7 @@ If you did not backup DSiWare Saves earlier, skip this section.
1. Press (B) to decline relocking write permissions if prompted
1. Press (B) twice to return to the main menu
##### Section VI - Restore GBA VC Saves
#### Section VI - Restore GBA VC Saves
If you did not backup GBA VC Saves earlier, skip this section.
{: .notice--info}
@ -123,7 +125,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
+ Exit the GBA VC game
1. Launch GodMode9 by holding (Start) during boot
##### Section VII - Backup SysNAND
#### Section VII - Backup SysNAND
1. Press (Home) to bring up the action menu
1. Select "Scripts..."
@ -139,7 +141,7 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
1. Delete `<date>_<serialnumber>_sysnand_###.bin` from the `/gm9/out/` folder on your SD card after copying it
1. **Backup every file on your SD card to a folder on your computer; all files will be deleted in the following steps**
##### Section VIII - Format SD card
#### Section VIII - Format SD card
1. Reinsert your SD card into your device
1. Press (Home) to bring up the action menu
@ -162,5 +164,5 @@ To identify a `<TitleID>.gbavc.sav` file's Title ID, you can get a listing of al
___
Return to [Finalizing Setup](finalizing-setup).
### Return to [Finalizing Setup](finalizing-setup).
{: .notice--primary}

View file

@ -2,12 +2,14 @@
title: "NTR and Cubic Ninja"
---
{% include toc title="Table of Contents" %}
To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on this page, you will need a torrent client like [Deluge](http://dev.deluge-torrent.org/wiki/Download)
NTR Cubic Ninja will work for JPN New 3DS ONLY!
{: .notice--warning}
#### What you need
### What you need
* [JPN Cubic Ninja](https://www.amazon.com/dp/B004QL7M0A)
* The Homebrew [Starter Kit](http://smealum.github.io/ninjhax2/starter.zip)
@ -20,9 +22,9 @@ NTR Cubic Ninja will work for JPN New 3DS ONLY!
* The 9.2.0 downgrade pack `.zip` file for your device and region:
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [New 3DS 9.2.0 - JPN](magnet:?xt=urn:btih:c8630ed31b53637b9023bd4dc1ce38362bb8ecd9&dn=9.2.0-20J%28Full%29%5Fn3DS.zip&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=udp%3A%2F%2Ftracker.piratepublic.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.kicks-ass.net%3A80%2Fannounce&tr=http%3A%2F%2Ftracker.kicks-ass.net%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Install WAMP to the default directory
1. Copy the contents of `3ds-private-update-server.zip` to `C:\wamp\www\` *(overwrite any existing files)*
@ -39,7 +41,7 @@ NTR Cubic Ninja will work for JPN New 3DS ONLY!
1. Copy _the contents of_ `starter.zip` to the root of your SD card
1. Put your SD card back into your device
##### Section II - Updating
#### Section II - Updating
1. Boot your device into recovery mode by holding (L)+(R)+(A)+(UP) while powering on
1. Decline the update and reboot

View file

@ -2,9 +2,13 @@
title: "ntrboot"
---
{% include toc title="Table of Contents" %}
If you already flashed ntrboot to your flashcart, you can follow [Installing boot9strap (ntrboot)](installing-boot9strap-(ntrboot)) for instructions on how to use it.
{: .notice--success}
### Required Reading
Installing boot9strap with ntrboot requires a compatible DS / DSi flashcart to flash ntrboot to.
The ntrboot exploit itself is compatible with the following flashcarts:
@ -17,7 +21,7 @@ The ntrboot exploit itself is compatible with the following flashcarts:
+ Infinity 3 R4i
+ DSTT ([some flash chips only!](https://gist.github.com/Hikari-chin/6b48f1bb8dd15136403c15c39fafdb42))
![]({{ base_path }}/images/screenshots/ntrboot-flashcarts.png)
![]({{ "/images/screenshots/ntrboot-flashcarts.png" | absolute_url }})
{: .notice--info}
Note that specific methods may have additional compatibility information.
@ -33,10 +37,11 @@ Note that in some rare circumstances, it may be possible for the flashing proces
{: .notice--danger}
___
### Methods
{% capture notice-1 %}
___
[Flashing ntrboot (3DS Single System)](flashing-ntrboot-(3ds-single-system))
#### Flashing ntrboot (3DS Single System)
This method requires nothing more than your stock unhacked 3DS and a compatible flashcart.
@ -48,33 +53,30 @@ Note that more recent 3DS versions have blocked access to some flashcarts, and s
+ R4i Ultra : <= 4.3.0
+ Infinity 3 R4i : <= 11.6.0
{% endcapture %}
Continue to [Flashing ntrboot (3DS Single System)](flashing-ntrboot-(3ds-single-system))
{: .notice--primary}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
___
{% capture notice-1 %}
[Flashing ntrboot (3DS Multi System)](flashing-ntrboot-(3ds-multi-system))
#### Flashing ntrboot (3DS Multi System)
This method requires temporary access to a second 3DS family device that is already running boot9strap.
{% endcapture %}
Continue to [Flashing ntrboot (3DS Multi System)](flashing-ntrboot-(3ds-multi-system))
{: .notice--primary}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
___
{% capture notice-1 %}
[Flashing ntrboot (NDS)](flashing-ntrboot-(nds))
#### Flashing ntrboot (NDS)
This method requires temporary access to a Nintendo DS or Nintendo DS Lite that is compatible with your flashcart.
{% endcapture %}
Continue to [Flashing ntrboot (NDS)](flashing-ntrboot-(nds))
{: .notice--primary}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
___
{% capture notice-1 %}
[Flashing ntrboot (DSi)](flashing-ntrboot-(dsi))
#### Flashing ntrboot (DSi)
This method requires temporary access to a Nintendo DSi that is compatible with your flashcart.
@ -86,16 +88,14 @@ Note that more recent DSi versions have blocked access to some flashcarts. This
+ R4i Ultra : <= 1.4.1
+ Infinity 3 R4i : <= 1.4.5
{% endcapture %}
Continue to [Flashing ntrboot (DSi)](flashing-ntrboot-(dsi))
{: .notice--primary}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
___
{% capture notice-1 %}
[Flashing ntrboot (Powersaves)](flashing-ntrboot-(powersaves))
#### Flashing ntrboot (Powersaves)
This method, once ready, will require temporary access to a [Powersaves](https://amzn.to/2fb3VY7). This method is not yet complete, and as such is just a placeholder page.
{% endcapture %}
<div class="notice--primary">{{ notice-1 | markdownify }}</div>
Continue to [Flashing ntrboot (Powersaves)](flashing-ntrboot-(powersaves))
{: .notice--primary}

View file

@ -2,6 +2,8 @@
title: "Region Changing"
---
{% include toc title="Table of Contents" %}
This is add-on section for region changing your CFW SysNAND. This is done by installing the 11.5.0 CTRTransfer image for the region you want to switch to.
Note that region changing is almost completely unnecessary since Luma3DS supports out-of-region games and individual [title region emulation](https://github.com/AuroraWright/Luma3DS/wiki/Options-and-usage).
@ -23,11 +25,11 @@ Region changing using CTRTransfer (which this method uses) seems to cause reboot
You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use this.
{: .notice--danger}
#### What you need
### What you need
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
* The latest release of [FBI](https://github.com/Steveice10/FBI/releases/latest) *(the`.3dsx` file)*
* [`ctrtransfer_ticket_copy.gm9`]({{ base_path }}/gm9_scripts/ctrtransfer_ticket_copy.gm9)
* [`ctrtransfer_ticket_copy.gm9`]({{ "/gm9_scripts/ctrtransfer_ticket_copy.gm9" | absolute_url }})
* The 11.5.0 CTRTransfer image for your device and region
*(if your device is not from one of these regions, just pick one that matches your device type)*:
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [New 3DS or 2DS - 11.5.0 - EUR - CTRTransfer](magnet:?xt=urn:btih:465f1048f81e8e5c651ce2a4d9df48fec88d1099&dn=11.5.0-38E_ctrtransfer_n3ds.zip&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce)
@ -39,9 +41,9 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [Old 3DS or 2DS - 11.5.0 - JPN - CTRTransfer](magnet:?xt=urn:btih:d8913b4c0da224e8852fa2f685c41ddbce5310bc&dn=11.5.0-38J_ctrtransfer_o3ds.zip&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce)
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [Old 3DS or 2DS - 11.5.0 - USA - CTRTransfer](magnet:?xt=urn:btih:2708089605ca47387fa64e996a699eedd18031e8&dn=11.5.0-38U_ctrtransfer_o3ds.zip&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -53,7 +55,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
1. Copy `FBI.3dsx` to the `/3ds/` folder on your SD card
1. Reinsert your SD card into your device
##### Section II - CTRTransfer
#### Section II - CTRTransfer
1. Launch GodMode9 by holding (Start) during boot
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed
@ -81,7 +83,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
+ Updates while using B9S + Luma (what you have) are safe
+ If this gives you an error, set your DNS settings to "auto"
##### Section III - Launching FBI
#### Section III - Launching FBI
1. Launch the Download Play application
1. Press (L) + (Down) + (Select) at the same time to open the Rosalina menu
@ -94,7 +96,7 @@ You MUST have already installed Luma3DS and boot9strap or arm9loaderhax to use t
1. Launch the Download Play application
1. Your device should load the Homebrew Launcher
##### Section IV - Reinstalling Tickets
#### Section IV - Reinstalling Tickets
If script found no user tickets told you to skip this section, then skip this section
{: .notice--info}
@ -114,7 +116,7 @@ If script found no user tickets told you to skip this section, then skip this se
+ Press (B) to decline installing tickets from CDN.
1. Press (Home) to exit FBI
##### Section V - Region settings
#### Section V - Region settings
1. Launch the System Settings
1. Go to "Other Settings", "Profile", then "Region Settings"
@ -122,7 +124,7 @@ If script found no user tickets told you to skip this section, then skip this se
1. If prompted, you do not need to set a state
1. Update your region changed CFW SysNAND to the latest version
##### Section VI - Remove CTRTransfer image
#### Section VI - Remove CTRTransfer image
1. Launch GodMode9 by holding (Start) during boot
1. Navigate to `[0:] SDCARD` -> `gm9`

View file

@ -16,10 +16,10 @@ sitemap: false
{% capture notice-2 %}
**All**
+ [CTRTransfer](ctrtransfer)
+ [A9LH to B9S](a9lh-to-b9s)
+ [Cart Update](cart-update)
+ [Credits](credits)
+ [CTRTransfer](ctrtransfer)
+ [Donations](donations)
+ [F3 (Linux)](f3-(linux))
+ [F3X (Mac)](f3x-(mac))

View file

@ -2,16 +2,17 @@
title: "Troubleshooting"
---
If you are unable to boot your device, please look for the section relevant to you and follow the instructions. Once a solution works for you, you can proceed with the main guide
(The section is fairly long, try using Ctrl+F to search for your issue).
{% include toc title="Table of Contents" %}
If you are unable to boot your device, please look for the section relevant to you and follow the instructions.
If you still cannot solve your issue and need to reach out for help, please paste the contents of all relevant .log files from the root of your SD card into a [Gist](https://gist.github.com/), then come for help prepared with a detailed description of your problem and what you've tried.
To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on this page, you will need a torrent client like [Deluge](http://dev.deluge-torrent.org/wiki/Download).
## <a name="twl_broken" />DSi / DS functionality is broken after completing the guide
## DSi / DS functionality is broken after completing the guide
#### What you need
### What you need
* The TWL_FIRM `.cia` for your device
+ <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`New_3DS TWL_FIRM - v9936.cia`](magnet:?xt=urn:btih:eab8558c97b18b1f329a2bfcc3c899b84c082a27&dn=New%5F3DS%20TWL%5FFIRM%20-%20v9936.cia&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
@ -21,9 +22,9 @@ To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on th
* <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`DS Download Play - v1024.cia`](magnet:?xt=urn:btih:b581d3c5d98f5e621fddfc1ce5704bb45bf05a8c&dn=DS%20Download%20Play%20-%20v1024.cia&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
* <i class="fa fa-magnet" aria-hidden="true" title="This is a magnet link. Use a torrent client to download the file."></i> - [`Nintendo DS Cart Whitelist - v11264.cia`](magnet:?xt=urn:btih:7b90d506ad032a581a00035616eaa17a68c48eff&dn=Nintendo%20DS%20Cart%20Whitelist%20-%20v11264.cia&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fzer0day.ch%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=http%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker.aletorrenty.pl%3A2710%2Fannounce&tr=http%3A%2F%2Ftracker1.wasabii.com.tw%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.baravik.org%3A6970%2Fannounce&tr=http%3A%2F%2Ftracker.tfile.me%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=http%3A%2F%2Ftorrent.gresille.org%2Fannounce&tr=udp%3A%2F%2Ftracker.yoshi210.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.filetracker.pl%3A8089%2Fannounce)
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Create a folder named `cias` on the root of your SD card if it does not already exist
1. Copy `TWL Version Data - v0.cia` to the `/cias/` folder on your SD card
@ -32,7 +33,7 @@ To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on th
1. Copy `Nintendo DS Cart Whitelist - v11264.cia` to the `/cias/` folder on your SD card
1. Copy either `New_3DS TWL_FIRM - v9936.cia` or `Old_3DS TWL_FIRM - v8817.cia` to the `/cias/` folder on your SD card
##### Section II - Installing titles
#### Section II - Installing titles
1. Launch FBI
1. Navigate to `SD` -> `cias`
@ -40,7 +41,7 @@ To use the [magnet](https://en.wikipedia.org/wiki/Magnet_URI_scheme) links on th
1. Select "Install and delete all CIAs"
1. Press (Home) to exit FBI
## <a name="rm_nnid" />Removing an NNID without formatting your device
## Removing an NNID without formatting your device
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
{: .notice--info}
@ -54,7 +55,7 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
1. Navigate back to the Main Menu
1. Press (Start) to reboot your device
## <a name="gw_fbi" />Cannot inject H&S on Gateway downgraded device
## Cannot inject H&S on Gateway downgraded device
This is caused by Gateway implementing a very shoddy downgrade method which leaves two versions of each app on the system. One of them is unused, but it confuses the H&S inject system, causing it to inject into the wrong one.
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
@ -84,14 +85,14 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
1. Return to [Finalizing Setup](finalizing-setup) and retry the FBI injection
1. If this still doesn't work, move the uppercase extension files back to the `content` folder, then move the lowercase extension files to the `newdir` folder, then return to [Finalizing Setup](finalizing-setup) and retry the FBI injection
## <a name="ts_browser" />A browser based exploit is not working
## A browser based exploit is not working
Browser based exploits (such as browserhax or 2xrsa) are often unstable and crash frequently, but they can sometimes be fixed by doing the following steps.
1. Launch the browser, then launch the browser settings
1. Scroll to the bottom and Initialize Savedata (it also may be called Clear All Save Data)
1. Try the exploit again
## <a name="ts_sys_down" />Black screen on SysNAND boot
## Black screen on SysNAND boot
1. Try booting with your SD card out, and then reinserting it after booting
1. Power off your device
@ -114,7 +115,7 @@ Browser based exploits (such as browserhax or 2xrsa) are often unstable and cras
1. If you enter safe mode, update your device
1. Your device may be bricked. For support, ask for help at [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp)
## <a name="ts_sys_b9s" />Black screen on SysNAND boot after Installing boot9strap
## Black screen on SysNAND boot after Installing boot9strap
1. Ensure you have a working payload
1. Check for the existence of `boot.firm` in the root of your SD card.
@ -143,7 +144,7 @@ Browser based exploits (such as browserhax or 2xrsa) are often unstable and cras
1. Try following [CTRTransfer](ctrtransfer)
1. Ask for help at [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp).
## <a name="ts_sys_blue" />Blue screen on boot (bootrom error)
## Blue screen on boot (bootrom error)
1. Your device is bricked
1. You will need to get a [hardmod](https://gbatemp.net/threads/414498/) or repair / replace your device

View file

@ -2,6 +2,8 @@
title: "Uninstall CFW"
---
{% include toc title="Table of Contents" %}
This will completely remove CFW from your device, including Boot9Strap and Luma3DS, for the purpose of restoring the device to stock.
Any unsigned (illegitimate) games will be rendered unusable and can be manually removed using the Data Management section of the System Settings. Use a [save manager](https://github.com/J-D-K/JKSM/releases/latest) to backup any saves for these unsigned (illegitimate) games you care about.
@ -10,16 +12,16 @@ This will not affect your NNID, any legitimately purchased games, or any saves f
Note that if you have any payload files other than `GodMode9.firm` in the `/luma/payloads/` folder on your SD card, holding (Start) on boot will display a "chainloader menu" where you will have to use the D-Pad and the (A) button to select "GodMode9" for these instructions.
#### What you need
### What you need
* The latest release of [GodMode9](https://github.com/d0k3/GodMode9/releases/latest)
* The uninstaller script corresponding to your device:
+ [`uninstall_hax_retail_NEW.gm9`]({{ base_path }}/gm9_scripts/uninstall_hax_retail_NEW.gm9)
+ [`uninstall_hax_retail_OLD.gm9`]({{ base_path }}/gm9_scripts/uninstall_hax_retail_OLD.gm9)
+ [`uninstall_hax_retail_NEW.gm9`]({{ "/gm9_scripts/uninstall_hax_retail_NEW.gm9" | absolute_url }})
+ [`uninstall_hax_retail_OLD.gm9`]({{ "/gm9_scripts/uninstall_hax_retail_OLD.gm9" | absolute_url }})
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
1. Power off your device
1. Insert your SD card into your computer
@ -29,7 +31,7 @@ Note that if you have any payload files other than `GodMode9.firm` in the `/luma
1. Reinsert your SD card into your device
1. Power on your device
##### Section II - Running Uninstall Script
#### Section II - Running Uninstall Script
1. Launch GodMode9 by holding (Start) during boot
1. If you are prompted to create an essential files backup, press (A) to do so, then press (A) to continue once it has completed

View file

@ -2,6 +2,8 @@
title: "Updating B9S"
---
{% include toc title="Table of Contents" %}
This page is for existing boot9strap users to update their installation of boot9strap to the latest version.
{% capture notice-1 %}
@ -20,16 +22,16 @@ There have been reports of a wave of bans being handed out to CFW users by Ninte
<div class="notice--danger">{{ notice-1 | markdownify }}</div>
#### What you need
### What you need
* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/latest)
* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/latest) *(standard boot9strap; not the `devkit` file, not the `ntr` file)*
* The latest release of [Luma3DS](https://github.com/AuroraWright/Luma3DS/releases/latest) *(the `.7z` file)*
* [`cleanup_sd_card.gm9`]({{ base_path }}/gm9_scripts/cleanup_sd_card.gm9)
* [`cleanup_sd_card.gm9`]({{ "/gm9_scripts/cleanup_sd_card.gm9" | absolute_url }})
#### Instructions
### Instructions
##### Section I - Prep Work
#### Section I - Prep Work
For all steps in this section, overwrite any existing files on your SD card.
{: .notice--info}
@ -41,7 +43,7 @@ For all steps in this section, overwrite any existing files on your SD card.
1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
1. Reinsert your SD card into your device
##### Section II - Installing boot9strap
#### Section II - Installing boot9strap
1. Reboot holding (Start) during boot to launch the Luma3DS chainloader menu
1. Launch SafeB9SInstaller by pressing (A)
@ -50,14 +52,14 @@ For all steps in this section, overwrite any existing files on your SD card.
1. Once it has completed, hold (Start) while pressing (A) to reboot your device to the Luma3DS chainloader
+ If you encounter an error booting your device after the B9S update, just continue to fix it
##### Section III - Update Luma3DS
#### Section III - Update Luma3DS
1. Power off your device
1. Insert your SD card into your computer
1. Copy `boot.firm` from the Luma3DS `.7z` to the root of your SD card, replacing the existing file
1. Reinsert your SD card into your device
##### Section IV - Cleanup SD Card
#### Section IV - Cleanup SD Card
Note that this script will remove the `/boot9strap/` and `/cias/` folders from your SD card!
{: .notice--danger}

View file

@ -1,153 +0,0 @@
/* ==========================================================================
BUTTONS
========================================================================== */
/*
Default button
========================================================================== */
.btn {
/* default button */
display: inline-block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
color: #fff !important;
font-family: $sans-serif;
font-size: $type-size-6;
font-weight: bold;
text-align: center;
text-decoration: none;
background-color: $primary-color;
border: 0 !important;
border-radius: $border-radius;
cursor: pointer;
&:hover {
background-color: mix(white, #000, 20%);
}
.icon {
margin-right: 0.5em;
}
.icon + .hidden {
margin-left: -0.5em; /* override for hidden text*/
}
/* fills width of parent container */
&--block {
display: block;
width: 100%;
+ .btn--block {
margin-top: 0.25em;
}
}
/* for dark backgrounds */
&--inverse {
color: $gray !important;
border: 1px solid $light-gray !important; /* override*/
background-color: #fff;
&:hover {
color: #fff !important;
border-color: $gray;
}
}
/* light outline */
&--light-outline {
border: 1px solid #fff !important; /* override*/
background-color: transparent;
}
/* information */
&--info {
background-color: $info-color;
&:hover {
background-color: mix(#000, $info-color, 20%);
}
}
/* warning */
&--warning {
background-color: $warning-color;
&:hover {
background-color: mix(#000, $warning-color, 20%);
}
}
/* success */
&--success {
background-color: $success-color;
&:hover {
background-color: mix(#000, $success-color, 20%);
}
}
/* danger */
&--danger {
background-color: $danger-color;
&:hover {
background-color: mix(#000, $danger-color, 20%);
}
}
/* disabled */
&--disabled {
pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
box-shadow: none;
opacity: 0.65;
}
/* social buttons */
$social:
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
@each $socialnetwork, $color in $social {
&--#{$socialnetwork} {
background-color: $color;
&:hover {
background-color: mix(#000, $color, 20%);
}
}
}
/* extra large button */
&--x-large {
font-size: $type-size-4;
}
/* large button */
&--large {
font-size: $type-size-5;
}
/* small button */
&--small {
font-size: $type-size-7;
}
}

View file

@ -1,552 +0,0 @@
/* ==========================================================================
NAVIGATION
========================================================================== */
/*
Breadcrumb navigation links
========================================================================== */
.breadcrumbs {
@include container;
@include clearfix;
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
padding-right: 2em;
font-family: $sans-serif;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both;
-webkit-animation-delay: 0.30s;
animation-delay: 0.30s;
@include breakpoint($large) {
padding-left: 1em;
padding-right: 1em;
}
@include breakpoint($x-large) {
max-width: $x-large;
}
ol {
padding: 0;
list-style: none;
font-size: $type-size-6;
@include breakpoint($large) {
@include span(10 of 12 last);
}
@include breakpoint($x-large) {
@include prefix(0.5 of 12);
}
}
li {
display: inline;
}
.current {
font-weight: bold;
}
}
/*
Post pagination navigation links
========================================================================== */
.pagination {
@include full();
@include clearfix();
margin-top: 1em;
padding-top: 1em;
ul {
margin: 0;
padding: 0;
list-style-type: none;
font-family: $sans-serif;
}
li {
display: block;
float: left;
margin-left: -1px;
a {
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1.5;
text-align: center;
text-decoration: none;
color: mix(#fff, $gray, 25%);
border: 1px solid $light-gray;
border-radius: 0;
&:hover {
color: $link-color-hover;
}
&.current {
color: #fff;
background: $nord1;
}
&.disabled {
color: mix(#fff, $gray, 75%);
pointer-events: none;
cursor: not-allowed;
}
}
&:first-child {
margin-left: 0;
a {
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
}
&:last-child {
a {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
}
/* next/previous buttons */
&--pager {
display: block;
padding: 1em 2em;
float: left;
width: 50%;
font-family: $sans-serif;
font-size: $type-size-5;
font-weight: bold;
text-align: center;
text-decoration: none;
color: $link-color;
border: 1px solid $light-gray;
border-radius: $border-radius;
&:hover {
color: $link-color-hover;
}
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&:last-child {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&.disabled {
color: mix(#fff, $gray, 75%);
pointer-events: none;
cursor: not-allowed;
}
}
}
.page__content + .pagination,
.page__meta + .pagination,
.page__share + .pagination,
.page__comments + .pagination {
margin-top: 2em;
padding-top: 2em;
border-top: 1px solid $border-color;
}
/*
Priority plus navigation
========================================================================== */
.greedy-nav {
position: relative;
min-width: 250px;
background: $nord1;
a {
display: block;
margin: 0 1rem;
padding: 0.5rem 0;
color: $masthead-link-color;
text-decoration: none;
&:hover {
color: $masthead-link-color-hover;
}
}
button {
position: absolute;
height: 100%;
right: 0;
top: 0;
padding: 0 0.5rem;
border: 0;
outline: none;
background: transparent;
color: $nord0;
cursor: pointer;
}
.nav-selector {
right: 3rem;
}
.visible-links {
display: table;
li {
display: table-cell;
vertical-align: middle;
&:first-child {
font-weight: bold;
a {
margin-left: 0;
}
}
&:last-child {
a {
margin-right: 0;
}
}
}
a {
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 4px;
background: mix(#fff, $primary-color, 50%);
width: 100%;
-webkit-transition: $global-transition;
transition: $global-transition;
-webkit-transform: scaleX(0) translate3d(0, 0 , 0);
-ms-transform: scaleX(0) translate3d(0, 0 , 0);
transform: scaleX(0) translate3d(0, 0 , 0); /* hide*/
}
&:hover:before {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1); /* reveal*/
}
}
}
.hidden-links {
position: absolute;
top: 100%;
right: 0;
margin-top: 15px;
padding: 5px;
border: 1px solid $border-color;
border-radius: $border-radius;
background: $nord1;
box-shadow: 0 0 10px rgba(#000, 0.25);
a {
margin: 0;
padding: 10px 20px;
font-size: $type-size-5;
&:hover {
color: $masthead-link-color-hover;
background: mix(#000, $primary-color, 75%);
}
}
&:before {
content: "";
position: absolute;
top: -11px;
right: 14px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: mix(#000, $border-color, 55%) transparent;
display: block;
z-index: 0;
}
&:after {
content: "";
position: absolute;
top: -10px;
right: 14px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: #fff transparent;
display: block;
z-index: 1;
}
li {
display: block;
border-bottom: 1px solid $nord3;
&:last-child {
border-bottom: none;
}
}
}
.links-menu {
right: 3rem;
}
}
/*
Navigation list
========================================================================== */
.nav__list {
margin-bottom: 1.5em;
input[type="checkbox"],
label {
display: none;
}
@include breakpoint(max-width ($large - 1px)) {
label {
position: relative;
display: inline-block;
padding: 0.5em 2.5em 0.5em 1em;
color: $gray;
font-size: $type-size-6;
font-weight: bold;
border: 1px solid $light-gray;
border-radius: $border-radius;
z-index: 20;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
cursor: pointer;
&:before,
&:after {
content: '';
position: absolute;
right: 1em;
top: 1.25em;
width: 0.75em;
height: 0.125em;
line-height: 1;
background-color: $gray;
transition: 0.2s ease-out;
}
&:after {
transform: rotate(90deg);
}
&:hover {
color: #fff;
border-color: $gray;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
}
/* selected*/
input:checked + label {
color: white;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
// on hover show expand
label:hover:after {
transform: rotate(90deg);
}
input:checked + label:hover:after {
transform: rotate(0);
}
ul {
margin-bottom: 1em;
}
a {
display: block;
padding: 0.25em 0;
@include breakpoint($large) {
padding-top: 0.125em;
padding-bottom: 0.125em;
}
&:hover {
text-decoration: underline;
}
}
}
}
.nav__list .nav__items {
margin: 0;
font-size: 1.25rem;
a {
color: inherit;
}
.active {
margin-left: -0.5em;
padding-left: 0.5em;
padding-right: 0.5em;
color: #fff;
font-weight: bold;
background: $primary-color;
border-radius: $border-radius;
&:hover {
color: #fff;
}
}
@include breakpoint(max-width ($large - 1px)) {
position: relative;
max-height: 0;
opacity: 0%;
overflow: hidden;
z-index: 10;
-webkit-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
-webkit-transform: translate(0, 10%);
-ms-transform: translate(0, 10%);
transform: translate(0, 10%);
}
}
@include breakpoint(max-width ($large - 1px)) {
.nav__list input:checked ~ .nav__items {
-webkit-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
max-height: 9999px; // exaggerate max-height to accommodate tall lists
overflow: visible;
opacity: 1;
margin-top: 1em;
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
}
.nav__title {
margin: 0;
padding: 0.5rem 1rem;
font-family: $sans-serif-narrow;
font-size: $type-size-5;
font-weight: bold;
}
.nav__sub-title {
display: block;
margin: 0.5rem 0;
padding: 0.5rem 0;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
font-weight: bold;
text-transform: uppercase;
border-bottom: 1px solid $border-color;
}
/*
Table of contents navigation
========================================================================== */
.toc {
font-family: $sans-serif-narrow;
color: $gray;
text-transform: uppercase;
letter-spacing: 1px;
background-color: #fff;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
.nav__title {
color: #fff;
font-size: $type-size-6;
background: $primary-color;
border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius;
}
}
.toc__menu {
margin: 0;
padding: 0;
width: 100%;
list-style: none;
font-size: 0.8rem;
a {
display: block;
padding: 0.5rem 1rem;
color: $gray;
font-size: $type-size-7;
font-weight: bold;
line-height: 1.5;
border-bottom: 1px solid $border-color;
&:hover {
color: #000;
background: $lighter-gray;
}
}
> li:last-child {
a {
border-bottom: none;
}
}
li ul > li a {
padding-left: 2rem;
font-weight: normal;
}
/* hide sub sub links on small screens*/
li > ul li {
display: none;
@include breakpoint($medium) {
display: block;
}
}
}

View file

@ -1,241 +0,0 @@
//
// ++++++++++++++++++++++++++++++++++++++++++++++++++++
// title Nord +
// project nord +
// version 0.2.0 +
// repository https://github.com/arcticicestudio/nord +
// author Arctic Ice Studio +
// email development@arcticicestudio.com +
// copyright Copyright (C) 2017 +
// ++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// [References]
// Sass
// (http://sass-lang.com)
// SassDoc
// (http://sassdoc.com)
////
/// An arctic, north-bluish color palette.
/// Created for the clean- and minimal flat design pattern to achieve a optimal focus and readability for code syntax
/// highlighting and UI.
/// It consists of a total of sixteen, carefully selected, dimmed pastel colors for a eye-comfortable, but yet colorful
/// ambiance.
///
/// @author Arctic Ice Studio <development@arcticicestudio.com>
////
/// Base component color of "Polar Night".
///
/// Used for texts, backgrounds, carets and structuring characters like curly- and square brackets.
///
/// @access public
/// @example scss - SCSS
/// /* For dark ambiance themes */
/// .background {
/// background-color: $nord0;
/// }
/// /* For light ambiance themes */
/// .text {
/// color: $nord0;
/// }
/// @group polarnight
/// @since 0.1.0
$nord0: #2E3440;
/// Lighter shade color of the base component color.
///
/// Used as a lighter background color for UI elements like status bars.
///
/// @access public
/// @group polarnight
/// @see $nord0
/// @since 0.1.0
$nord1: #3B4252;
/// Lighter shade color of the base component color.
///
/// Used as line highlighting in the editor.
/// In the UI scope it may be used as selection- and hightlight color.
///
/// @access public
/// @example scss - SCSS
/// /* Code Syntax Highlighting scope */
/// .editor {
/// &.line {
/// background-color: $nord2;
/// }
/// }
///
/// /* UI scope */
/// button {
/// &:selected {
/// background-color: $nord2;
/// }
/// }
/// @group polarnight
/// @see $nord0
/// @since 0.1.0
$nord2: #434C5E;
/// Lighter shade color of the base component color.
///
/// Used for comments, invisibles, indent- and wrap guide marker.
/// In the UI scope used as pseudoclass color for disabled elements.
///
/// @access public
/// @example scss - SCSS
/// /* Code Syntax Highlighting scope */
/// .editor {
/// &.indent-guide,
/// &.wrap-guide {
/// &.marker {
/// color: $nord3;
/// }
/// }
/// }
/// .comment,
/// .invisible {
/// color: $nord3;
/// }
///
/// /* UI scope */
/// button {
/// &:disabled {
/// background-color: $nord3;
/// }
/// }
/// @group polarnight
/// @see $nord0
/// @since 0.1.0
$nord3: #4C566A;
/// Base component color of "Snow Storm".
///
/// Main color for text, variables, constants and attributes.
/// In the UI scope used as semi-light background depending on the theme shading design.
///
/// @access public
/// @example scss - SCSS
/// /* For light ambiance themes */
/// .background {
/// background-color: $nord4;
/// }
/// /* For dark ambiance themes */
/// .text {
/// color: $nord4;
/// }
/// @group snowstorm
/// @since 0.1.0
$nord4: #D8DEE9;
/// Lighter shade color of the base component color.
///
/// Used as a lighter background color for UI elements like status bars.
/// Used as semi-light background depending on the theme shading design.
///
/// @access public
/// @group snowstorm
/// @see $nord4
/// @since 0.1.0
$nord5: #E5E9F0;
/// Lighter shade color of the base component color.
///
/// Used for punctuations, carets and structuring characters like curly- and square brackets.
/// In the UI scope used as background, selection- and hightlight color depending on the theme shading design.
///
/// @access public
/// @group snowstorm
/// @see $nord4
/// @since 0.1.0
$nord6: #ECEFF4;
/// Bluish core color.
///
/// Used for classes, types and documentation tags.
///
/// @access public
/// @group frost
/// @since 0.1.0
$nord7: #8FBCBB;
/// Bluish core accent color.
///
/// Represents the accent color of the color palette.
/// Main color for primary UI elements and methods/functions.
///
/// Can be used for
/// - Markup quotes
/// - Markup link URLs
///
/// @access public
/// @group frost
/// @since 0.1.0
$nord8: #88C0D0;
/// Bluish core color.
///
/// Used for language-specific syntactic/reserved support characters and keywords, operators, tags, units and
/// punctuations like (semi)colons,commas and braces.
///
/// @access public
/// @group frost
/// @since 0.1.0
$nord9: #81A1C1;
/// Bluish core color.
///
/// Used for markup doctypes, import/include/require statements, pre-processor statements and at-rules (`@`).
///
/// @access public
/// @group frost
/// @since 0.1.0
$nord10: #5E81AC;
/// Colorful component color.
///
/// Used for errors, git/diff deletion and linter marker.
///
/// @access public
/// @group aurora
/// @since 0.1.0
$nord11: #BF616A;
/// Colorful component color.
///
/// Used for annotations.
///
/// @access public
/// @group aurora
/// @since 0.1.0
$nord12: #D08770;
/// Colorful component color.
///
/// Used for escape characters, regular expressions and markup entities.
/// In the UI scope used for warnings and git/diff renamings.
///
/// @access public
/// @group aurora
/// @since 0.1.0
$nord13: #EBCB8B;
/// Colorful component color.
///
/// Main color for strings and attribute values.
/// In the UI scope used for git/diff additions and success visualizations.
///
/// @access public
/// @group aurora
/// @since 0.1.0
$nord14: #A3BE8C;
/// Colorful component color.
///
/// Used for numbers.
///
/// @access public
/// @group aurora
/// @since 0.1.0
$nord15: #B48EAD;

View file

@ -1,18 +0,0 @@
/* ==========================================================================
PRINT STYLES
========================================================================== */
/*
Hide the following elements on print
========================================================================== */
@media print {
.masthead,
.toc,
.page__share,
.page__related,
.ads,
.page__footer {
display: none;
}
}

View file

@ -1,130 +0,0 @@
/* ==========================================================================
Variables
========================================================================== */
@import "nord";
/*
Typography
========================================================================== */
$doc-font-size : 16 !default;
/* paragraph indention */
$paragraph-indent : false !default; // true, false (default)
$indent-var : 1.3em !default;
/* system typefaces */
$serif : Georgia, Times, serif !default;
$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
$monospace : Monaco, Consolas, "Lucida Console", monospace !default;
/* sans serif typefaces */
$sans-serif-narrow : $sans-serif !default;
$helvetica : Helvetica, "Helvetica Neue", Arial, sans-serif !default;
/* serif typefaces */
$georgia : Georgia, serif !default;
$times : Times, serif !default;
$bodoni : "Bodoni MT", serif !default;
$calisto : "Calisto MT", serif !default;
$garamond : Garamond, serif !default;
$global-font-family : $sans-serif !default;
$header-font-family : $sans-serif !default;
$caption-font-family : $serif !default;
/* type scale */
$type-size-1 : 2.441em !default; // ~39.056px
$type-size-2 : 1.953em !default; // ~31.248px
$type-size-3 : 1.563em !default; // ~25.008px
$type-size-4 : 1.25em !default; // ~20px
$type-size-5 : .9em !default; // ~16px
$type-size-6 : 0.75em !default; // ~12px
$type-size-7 : 0.6875em !default; // ~11px
$type-size-8 : 0.625em !default; // ~10px
/*
Colors
========================================================================== */
$gray : #7a8288 !default;
$dark-gray : mix(#000, $gray, 40%) !default;
$darker-gray : mix(#000, $gray, 60%) !default;
$light-gray : mix(#fff, $gray, 50%) !default;
$lighter-gray : mix(#fff, $gray, 90%) !default;
$body-color : $nord0 !default;
$background-color : $nord0 !default;
$code-background-color : $nord2 !default;
$code-background-color-dark : $nord1 !default;
$text-color : $nord4 !default;
$border-color : $nord5 !default;
$primary-color : $nord4 !default;
$success-color : $nord14 !default;
$warning-color : $nord12 !default;
$danger-color : $nord11 !default;
$info-color : $nord10 !default;
/* brands */
$behance-color : #1769FF !default;
$dribbble-color : #ea4c89 !default;
$facebook-color : #3b5998 !default;
$flickr-color : #ff0084 !default;
$foursquare-color : #0072b1 !default;
$github-color : #171516 !default;
$google-plus-color : #dd4b39 !default;
$instagram-color : #517fa4 !default;
$lastfm-color : #d51007 !default;
$linkedin-color : #007bb6 !default;
$pinterest-color : #cb2027 !default;
$rss-color : #fa9b39 !default;
$soundcloud-color : #ff3300 !default;
$stackoverflow-color : #fe7a15 !default;
$tumblr-color : #32506d !default;
$twitter-color : #55acee !default;
$vimeo-color : #1ab7ea !default;
$vine-color : #00bf8f !default;
$youtube-color : #bb0000 !default;
$xing-color : #006567 !default;
/* links */
$link-color : mix(#fff, $info-color, 15%) !default;
$link-color-hover : mix(#fff, $link-color, 25%) !default;
$link-color-visited : mix(#000, $link-color, 25%) !default;
$masthead-link-color : $primary-color !default;
$masthead-link-color-hover : mix(#fff, $primary-color, 25%) !default;
/*
Breakpoints
========================================================================== */
$small : 768px !default;
$medium : 900px !default;
$medium-wide : 1024px !default;
$large : 1280px !default;
$x-large : 1400px !default;
/*
Grid
========================================================================== */
$right-sidebar-width-narrow : 200px !default;
$right-sidebar-width : 300px !default;
$right-sidebar-width-wide : 400px !default;
/*
Other
========================================================================== */
$border-radius : 4px !default;
$box-shadow : 0 1px 1px rgba(0, 0, 0, 0.125) !default;
$navicon-width : 28px !default;
$navicon-height : 4px !default;
$global-transition : all 0.2s ease-in-out !default;

View file

@ -0,0 +1,40 @@
/*!
* Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose
* Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt)
*/
/* Variables */
@import "minimal-mistakes/variables";
/* Mixins and functions */
@import "minimal-mistakes/vendor/breakpoint/breakpoint";
@include breakpoint-set("to ems", true);
@import "minimal-mistakes/vendor/font-awesome/font-awesome";
@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup
@import "minimal-mistakes/vendor/susy/susy";
@import "minimal-mistakes/mixins";
/* Core CSS */
@import "minimal-mistakes/reset";
@import "minimal-mistakes/base";
@import "minimal-mistakes/forms";
@import "minimal-mistakes/tables";
@import "minimal-mistakes/animations";
/* Components */
@import "minimal-mistakes/buttons";
@import "minimal-mistakes/notices";
@import "minimal-mistakes/masthead";
@import "minimal-mistakes/navigation";
@import "minimal-mistakes/footer";
@import "minimal-mistakes/syntax";
/* Utility classes */
@import "minimal-mistakes/utilities";
/* Layout specific */
@import "minimal-mistakes/page";
@import "minimal-mistakes/archive";
@import "minimal-mistakes/sidebar";
@import "minimal-mistakes/print";

View file

@ -5,13 +5,15 @@
.archive {
margin-bottom: 2em;
@include breakpoint($medium) {
@include span(12 of 12);
@include breakpoint($large) {
float: right;
width: calc(100% - #{$right-sidebar-width-narrow});
padding-right: $right-sidebar-width-narrow;
}
@include breakpoint($large) {
@include span(10 of 12 last);
@include prefix(0.5 of 12);
@include breakpoint($x-large) {
width: calc(100% - #{$right-sidebar-width});
padding-right: $right-sidebar-width;
}
a {
@ -24,7 +26,7 @@
margin: 1.414em 0 0;
padding-bottom: 0.5em;
font-size: $type-size-5;
color: mix(#fff, $gray, 25%);
color: $muted-text-color;
border-bottom: 1px solid $border-color;
+ .list__item .archive__item-title {
@ -35,6 +37,8 @@
.archive__item-title {
margin-bottom: 0.25em;
font-family: $sans-serif-narrow;
overflow: hidden;
text-overflow: ellipsis;
a + a {
opacity: 0.5;
@ -68,6 +72,7 @@
}
.archive__item:hover {
.archive__item-teaser {
box-shadow: 0 0 10px rgba(#000, 0.25);
}
@ -83,17 +88,6 @@
========================================================================== */
.list__item {
@include breakpoint($medium) {
padding-right: $right-sidebar-width-narrow;
}
@include breakpoint($large) {
padding-right: $right-sidebar-width;
}
@include breakpoint($x-large) {
padding-right: $right-sidebar-width-wide;
}
.page__meta {
margin: 0 0 4px;
@ -105,9 +99,68 @@
Grid view
========================================================================== */
.archive {
.grid__wrapper {
/* extend grid elements to the right */
@include breakpoint($large) {
margin-right: -1 * $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
margin-right: -1 * $right-sidebar-width;
}
}
}
.grid__item {
margin-bottom: 2em;
@include breakpoint($small) {
float: left;
width: span(5 of 10);
&:nth-child(2n+1) {
clear: both;
margin-left: 0;
}
&:nth-child(2n+2) {
clear: none;
margin-left: gutter(of 10);
}
}
@include breakpoint($medium) {
margin-left: 0; /* override margin*/
margin-right: 0; /* override margin*/
width: span(3 of 12);
&:nth-child(2n+1) {
clear: none;
}
&:nth-child(4n+1) {
clear: both;
}
&:nth-child(4n+2) {
clear: none;
margin-left: gutter(1 of 12);
}
&:nth-child(4n+3) {
clear: none;
margin-left: gutter(1 of 12);
}
&:nth-child(4n+4) {
clear: none;
margin-left: gutter(1 of 12);
}
}
.page__meta {
margin: 0 0 4px;
}
@ -119,29 +172,23 @@
.archive__item-excerpt {
display: none;
}
@include breakpoint($small) {
@include gallery(5 of 10);
.archive__item-teaser {
max-height: 200px;
}
}
@include breakpoint($medium) {
margin-left: 0; /* reset before mixin does its thing*/
margin-right: 0; /* reset before mixin does its thing*/
@include gallery(2.5 of 10);
.archive__item-teaser {
max-height: 120px;
}
.archive__item-excerpt {
@include breakpoint($medium) {
display: block;
font-size: $type-size-6;
}
}
.archive__item-teaser {
@include breakpoint($small) {
max-height: 200px;
}
@include breakpoint($medium) {
max-height: 120px;
}
}
}
@ -160,8 +207,24 @@
font-size: 1.25rem;
@include breakpoint($small) {
float: left;
margin-bottom: 0;
@include gallery(4 of 12);
width: span(4 of 12);
&:nth-child(3n+1) {
clear: both;
margin-left: 0;
}
&:nth-child(3n+2) {
clear: none;
margin-left: gutter(of 12);
}
&:nth-child(3n+3) {
clear: none;
margin-left: gutter(of 12);
}
.feature__item-teaser {
max-height: 200px;
@ -170,7 +233,11 @@
}
&--left {
@include full();
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {
@ -178,20 +245,27 @@
}
@include breakpoint($small) {
.archive__item-teaser {
@include span(5 of 12);
float: left;
width: span(5 of 12);
}
.archive__item-body {
@include span(7 of 12 last);
@include prefix(0.5 of 12);
@include suffix(1 of 12);
float: right;
padding-left: gutter(0.5 of 12);
padding-right: gutter(1 of 12);
width: span(7 of 12);
}
}
}
&--right {
@include full();
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {
@ -202,19 +276,25 @@
text-align: right;
.archive__item-teaser {
@include span(5 of 12 rtl);
float: right;
width: span(5 of 12);
}
.archive__item-body {
@include span(7 of 12 last rtl);
@include prefix(0.5 of 12);
@include suffix(1 of 12);
float: right;
width: span(7 of 12);
padding-left: gutter(0.5 of 12);
padding-right: gutter(1 of 12);
}
}
}
&--center {
@include full();
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {

View file

@ -118,8 +118,13 @@ a {
&:hover,
&:active {
color: $link-color-hover;
outline: 0;
}
&:visited {
color: $link-color-visited;
}
}
/* code */
@ -141,7 +146,7 @@ td > code {
padding-bottom: 0.1rem;
font-size: $type-size-6;
background: $code-background-color;
border: 1px solid $lighter-gray;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
@ -236,20 +241,16 @@ figure {
figcaption {
margin-bottom: 0.5em;
color: mix(#fff, $text-color, 25%);
color: $muted-text-color;
font-family: $caption-font-family;
font-size: $type-size-6;
a {
color: inherit;
text-decoration: none;
border-bottom: 1px solid $light-gray;
-webkit-transition: $global-transition;
transition: $global-transition;
&:hover {
color: #000;
border-bottom-color: #000;
color: $link-color-hover;
}
}
}

View file

@ -0,0 +1,98 @@
/* ==========================================================================
BUTTONS
========================================================================== */
/*
Default button
========================================================================== */
.btn {
/* default */
display: inline-block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: $type-size-6;
font-weight: bold;
text-align: center;
text-decoration: none;
border-width: 0;
border-radius: $border-radius;
cursor: pointer;
.icon {
margin-right: 0.5em;
}
.icon + .hidden {
margin-left: -0.5em; /* override for hidden text*/
}
/* button colors */
$buttoncolors:
(primary, $primary-color),
(inverse, #fff),
(light-outline, transparent),
(success, $success-color),
(warning, $warning-color),
(danger, $danger-color),
(info, $info-color),
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
@each $buttoncolor, $color in $buttoncolors {
&--#{$buttoncolor} {
@include yiq-contrasted($color);
@if ($buttoncolor == inverse) {
border: 1px solid $border-color;
}
@if ($buttoncolor == light-outline) {
border: 1px solid #fff;
}
&:hover {
@include yiq-contrasted(mix(#000, $color, 20%));
}
&:visited {
@include yiq-contrasted($color);
}
}
}
/* fills width of parent container */
&--block {
display: block;
width: 100%;
+ .btn--block {
margin-top: 0.25em;
}
}
/* disabled */
&--disabled {
pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
box-shadow: none;
opacity: 0.65;
}
/* extra large button */
&--x-large {
font-size: $type-size-4;
}
/* large button */
&--large {
font-size: $type-size-5;
}
/* small button */
&--small {
font-size: $type-size-7;
}
}

View file

@ -3,28 +3,31 @@
========================================================================== */
.page__footer {
@include full();
@include clearfix;
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
/* sticky footer fix start */
position: absolute;
bottom: 0;
width: 100%;
clear: both;
height: auto;
/* sticky footer fix end */
margin-top: 3em;
color: $primary-color;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both;
color: $muted-text-color;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.45s;
animation-delay: 0.45s;
background-color: $nord1;
border-top: 1px solid $light-gray;
background-color: $footer-background-color;
footer {
@include container;
@include clearfix;
margin-left: auto;
margin-right: auto;
margin-top: 2em;
max-width: 100%;
padding: 0 1em 2em;
@include breakpoint($x-large) {
@ -33,7 +36,7 @@
}
a {
color: mix(#fff, $link-color, 20%);
color: inherit;
text-decoration: none;
&:hover {
@ -42,7 +45,7 @@
}
.fa {
color: mix(#fff, $gray, 25%);
color: $muted-text-color;
}
}

View file

@ -4,6 +4,8 @@
form {
margin: 0 0 5px 0;
padding: 1em;
background-color: $form-background-color;
fieldset {
margin-bottom: 5px;
@ -19,7 +21,6 @@ form {
padding: 0;
color: $text-color;
border: 0;
border-bottom: 1px solid mix(#fff, #000, 80%);
white-space: normal;
}
@ -80,14 +81,10 @@ select {
padding: 0.25em;
margin-bottom: 0.5em;
color: $text-color;
background-color: #fff;
border: 1px solid mix(#fff, #000, 80%);
background-color: $background-color;
border: $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
&:hover {
border-color: mix(#fff, $primary-color, 50%);
}
}
.input-mini {
@ -224,6 +221,7 @@ textarea:focus {
border-color: $primary-color;
outline: 0;
outline: thin dotted \9;
box-shadow: inset 0 1px 3px rgba($text-color, 0.06), 0 0 5px rgba($primary-color, 0.7);
}
input[type="file"]:focus,
@ -240,7 +238,7 @@ select:focus {
.help-block,
.help-inline {
color: $info-color;
color: $muted-text-color;
}
.help-block {
@ -382,7 +380,7 @@ select:focus {
color: #000;
border-width: 2px !important;
border-style: solid !important;
border-color: lighten(#000,50);
border-color: $border-color;
border-radius: $border-radius;
}

View file

@ -4,18 +4,23 @@
.masthead {
position: relative;
background: $nord1;
border-bottom: 1px solid $border-color;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.15s;
animation-delay: 0.15s;
z-index: 20;
&__inner-wrap {
@include container;
@include clearfix;
padding: 1em 1em 1em;
margin-left: auto;
margin-right: auto;
padding: 1em;
max-width: 100%;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
font-family: $sans-serif-narrow;
@include breakpoint($x-large) {
@ -32,7 +37,31 @@
}
}
.site-title {
display: -webkit-box;
display: flex;
padding: 0.5rem 0;
align-self: stretch;
-webkit-box-align: center;
align-items: center;
font-weight: bold;
z-index: 20;
}
.masthead__menu {
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
.site-nav {
margin-left: 0;
@include breakpoint($small) {
float: right;
}
}
ul {
margin: 0;

View file

@ -51,3 +51,42 @@
display: table;
}
}
/*
Compass YIQ Color Contrast
https://github.com/easy-designs/yiq-color-contrast
========================================================================== */
@function yiq-is-light(
$color,
$threshold: $yiq-contrasted-threshold
) {
$red: red($color);
$green: green($color);
$blue: blue($color);
$yiq: (($red*299)+($green*587)+($blue*114))/1000;
@if $yiq-debug { @debug $yiq, $threshold; }
@return if($yiq >= $threshold, true, false);
}
@function yiq-contrast-color(
$color,
$dark: $yiq-contrasted-dark-default,
$light: $yiq-contrasted-light-default,
$threshold: $yiq-contrasted-threshold
) {
@return if(yiq-is-light($color, $threshold), $yiq-contrasted-dark-default, $yiq-contrasted-light-default);
}
@mixin yiq-contrasted(
$background-color,
$dark: $yiq-contrasted-dark-default,
$light: $yiq-contrasted-light-default,
$threshold: $yiq-contrasted-threshold
) {
background-color: $background-color;
color: yiq-contrast-color($background-color, $dark, $light, $threshold);
}

View file

@ -0,0 +1,569 @@
/* ==========================================================================
NAVIGATION
========================================================================== */
/*
Breadcrumb navigation links
========================================================================== */
.breadcrumbs {
@include clearfix;
margin: 0 auto;
max-width: 100%;
padding-left: 2em;
padding-right: 2em;
font-family: $sans-serif;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.30s;
animation-delay: 0.30s;
@include breakpoint($large) {
padding-left: 1em;
padding-right: 1em;
}
@include breakpoint($x-large) {
max-width: $x-large;
}
ol {
padding: 0;
list-style: none;
font-size: $type-size-6;
@include breakpoint($large) {
float: right;
width: span(10 of 12);
}
@include breakpoint($x-large) {
padding-left: gutter(0.5 of 12);
}
}
li {
display: inline;
}
.current {
font-weight: bold;
}
}
/*
Post pagination navigation links
========================================================================== */
.pagination {
@include clearfix();
float: left;
margin-top: 1em;
padding-top: 1em;
width: 100%;
ul {
margin: 0;
padding: 0;
list-style-type: none;
font-family: $sans-serif;
}
li {
display: block;
float: left;
margin-left: -1px;
a {
display: block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1.5;
text-align: center;
text-decoration: none;
color: $muted-text-color;
border: 1px solid mix(#000, $border-color, 25%);
border-radius: 0;
&:hover {
color: $link-color-hover;
}
&.current,
&.current.disabled {
color: #fff;
background: $primary-color;
}
&.disabled {
color: rgba($muted-text-color, 0.5);
pointer-events: none;
cursor: not-allowed;
}
}
&:first-child {
margin-left: 0;
a {
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
}
&:last-child {
a {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
}
/* next/previous buttons */
&--pager {
display: block;
padding: 1em 2em;
float: left;
width: 50%;
font-family: $sans-serif;
font-size: $type-size-5;
font-weight: bold;
text-align: center;
text-decoration: none;
color: $muted-text-color;
border: 1px solid mix(#000, $border-color, 25%);
border-radius: $border-radius;
&:hover {
@include yiq-contrasted($muted-text-color);
}
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&:last-child {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&.disabled {
color: rgba($muted-text-color, 0.5);
pointer-events: none;
cursor: not-allowed;
}
}
}
.page__content + .pagination,
.page__meta + .pagination,
.page__share + .pagination,
.page__comments + .pagination {
margin-top: 2em;
padding-top: 2em;
border-top: 1px solid $border-color;
}
/*
Priority plus navigation
========================================================================== */
.greedy-nav {
position: relative;
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
background: $background-color;
a {
display: block;
margin: 0 1rem;
padding: 0.5rem 0;
color: $masthead-link-color;
text-decoration: none;
&:hover {
color: $masthead-link-color-hover;
}
&.site-title {
margin-left: 0;
}
}
button {
padding: 0 0.5rem;
align-self: stretch;
border: 0;
outline: none;
color: #fff;
background: transparent;
cursor: pointer;
}
.visible-links {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
-webkit-box-flex: 1;
flex: 1;
padding-right: 2rem;
overflow: hidden;
li {
-webkit-box-flex: 0;
flex: none;
&:first-child {
a {
margin-left: 0;
}
}
&:last-child {
a {
margin-right: 0;
}
}
}
a {
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 4px;
background: $primary-color;
width: 100%;
-webkit-transition: $global-transition;
transition: $global-transition;
-webkit-transform: scaleX(0) translate3d(0, 0 , 0);
transform: scaleX(0) translate3d(0, 0 , 0); /* hide*/
}
&:hover:before {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1); /* reveal*/
}
}
}
.links-menu{
right: 2.5rem;
}
.lang-menu{
right: .2rem;
}
.hidden-links {
position: absolute;
top: 100%;
margin-top: 15px;
padding: 5px;
border: 1px solid $border-color;
border-radius: $border-radius;
background: $background-color;
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
&.hidden {
display: none;
}
a {
margin: 0;
padding: 10px 20px;
font-size: $type-size-5;
&:hover {
color: $masthead-link-color-hover;
background: $navicon-link-color-hover;
}
}
&:before {
content: "";
position: absolute;
top: -11px;
right: 5px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $border-color transparent;
display: block;
z-index: 0;
}
&:after {
content: "";
position: absolute;
top: -10px;
right: 5px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $background-color transparent;
display: block;
z-index: 1;
}
li {
display: block;
border-bottom: 1px solid $border-color;
&:last-child {
border-bottom: none;
}
}
}
}
/*
Navigation list
========================================================================== */
.nav__list {
margin-bottom: 1.5em;
input[type="checkbox"],
label {
display: none;
}
@include breakpoint(max-width ($large - 1px)) {
label {
position: relative;
display: inline-block;
padding: 0.5em 2.5em 0.5em 1em;
font-size: $type-size-6;
font-weight: bold;
border: 1px solid $light-gray;
border-radius: $border-radius;
z-index: 20;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
cursor: pointer;
&:before,
&:after {
content: '';
position: absolute;
right: 1em;
top: 1.25em;
width: 0.75em;
height: 0.125em;
line-height: 1;
background-color: $gray;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
}
&:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
&:hover {
color: #fff;
border-color: $gray;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
}
/* selected*/
input:checked + label {
color: white;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
/* on hover show expand*/
label:hover:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
input:checked + label:hover:after {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
transform: rotate(0);
}
ul {
margin-bottom: 1em;
}
a {
display: block;
padding: 0.25em 0;
@include breakpoint($large) {
padding-top: 0.125em;
padding-bottom: 0.125em;
}
&:hover {
text-decoration: underline;
}
}
}
}
.nav__list .nav__items {
margin: 0;
font-size: 1.4rem;
a {
color: inherit;
line-height: 1.6;
}
ol {
padding-left: 0.9rem;
}
li {
list-style: inherit;
}
.active {
font-weight: bold;
}
.completed {
color: $gray;
text-decoration: line-through;
}
@include breakpoint(max-width ($large - 1px)) {
position: relative;
max-height: 0;
opacity: 0%;
overflow: hidden;
z-index: 10;
-webkit-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
-webkit-transform: translate(0, 10%);
-ms-transform: translate(0, 10%);
transform: translate(0, 10%);
}
}
@include breakpoint(max-width ($large - 1px)) {
.nav__list input:checked ~ .nav__items {
-webkit-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
max-height: 9999px; /* exaggerate max-height to accommodate tall lists*/
overflow: visible;
opacity: 1;
margin-top: 1em;
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
}
.nav__title {
margin: 0;
padding: 0.5rem 1rem;
font-family: $sans-serif-narrow;
font-size: $type-size-5;
font-weight: bold;
}
.nav__sub-title {
display: block;
margin: 0.5rem 0;
padding: 0.5rem 0;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
font-weight: bold;
text-transform: uppercase;
border-bottom: 1px solid $border-color;
}
/*
Table of contents navigation
========================================================================== */
.toc {
font-family: $sans-serif-narrow;
color: $gray;
text-transform: uppercase;
letter-spacing: 1px;
background-color: $background-color;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
.nav__title {
color: #fff;
font-size: $type-size-6;
background: $primary-color;
border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius;
}
}
.toc__menu {
margin: 0;
padding: 0;
width: 100%;
list-style: none;
font-size: 1rem;
a {
display: block;
padding: 0.5rem 1rem;
color: $text-color;
font-size: $type-size-7;
font-weight: bold;
line-height: 1.5;
border-bottom: 1px solid $border-color;
}
> li:last-child {
a {
border-bottom: none;
}
}
li ul > li a {
padding-left: 1.75rem;
font-weight: normal;
}
/* hide sub sub links on small screens*/
li > ul li {
display: none;
@include breakpoint($medium) {
display: block;
}
}
}

View file

@ -15,9 +15,9 @@
padding: 1em;
font-family: $global-font-family;
font-size: $type-size-6 !important;
font-weight: bold;
text-indent: initial; /* override*/
background-color: mix($body-color, $notice-color, 45%);
font-weight: bold;
background-color: mix($background-color, $notice-color, 45%);
border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
@ -63,13 +63,13 @@
/* Default notice */
.notice {
@include notice($nord3);
@include notice($light-gray);
}
/* Primary notice */
.notice--primary {
@include notice($nord8);
@include notice($primary-color);
}
/* Info notice */

View file

@ -3,13 +3,17 @@
========================================================================== */
#main {
@include container;
@include clearfix;
margin-left: auto;
margin-top: 2em;
margin-right: auto;
padding-left: 1em;
padding-right: 1em;
animation: intro 0.3s both;
animation-delay: 0.35s;
-webkit-animation: $intro-transition;
animation: $intro-transition;
max-width: 100%;
-webkit-animation-delay: 0.35s;
animation-delay: 0.35s;
@include breakpoint($x-large) {
max-width: $x-large;
@ -17,19 +21,34 @@
}
.page {
@include breakpoint($large) {
@include span(10 of 12 last);
@include prefix(0.5 of 12);
@include suffix(2 of 12);
float: right;
width: calc(100% - #{$right-sidebar-width-narrow});
padding-right: $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
width: calc(100% - #{$right-sidebar-width});
padding-right: $right-sidebar-width;
}
.page__inner-wrap {
@include full();
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
.page__content,
.page__meta,
.page__share {
@include full();
position: relative;
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
}
}
}
@ -56,7 +75,7 @@
}
p, li, dl {
font-size: .9em;
font-size: .85em;
}
/* paragraph indents */
@ -72,8 +91,7 @@
}
}
a {
text-decoration: none;
a:not(.btn) {
&:hover {
text-decoration: underline;
@ -84,10 +102,6 @@
}
}
hr {
border-top-color: $nord3;
}
dt {
margin-top: 1em;
font-family: $sans-serif;
@ -115,8 +129,10 @@
position: relative;
margin-bottom: 2em;
@include clearfix;
animation: intro 0.3s both;
animation-delay: 0.25s;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.25s;
animation-delay: 0.25s;
&--overlay {
position: relative;
@ -126,8 +142,10 @@
background-size: cover;
background-repeat: no-repeat;
background-position: center;
animation: intro 0.3s both;
animation-delay: 0.25s;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.25s;
animation-delay: 0.25s;
a {
color: #fff;
@ -183,7 +201,7 @@
text-align: right;
z-index: 5;
opacity: 0.5;
border-radius: $border-radius 0 $border-radius 0;
border-radius: $border-radius 0 0 0;
@include breakpoint($large) {
padding: 5px 10px;
@ -231,7 +249,7 @@
.page__meta {
margin-top: 2em;
color: mix(#fff, $gray, 25%);
color: $muted-text-color;
font-family: $sans-serif;
font-size: $type-size-6;
@ -271,7 +289,7 @@
margin-bottom: 8px;
padding: 5px 10px;
text-decoration: none;
border: 1px solid $light-gray;
border: 1px solid mix(#000, $border-color, 25%);
border-radius: $border-radius;
&:hover {
@ -286,7 +304,11 @@
========================================================================== */
.page__comments {
@include full();
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
}
.page__comments-title {
@ -299,8 +321,7 @@
}
.page__comments-form {
padding: 1em;
background: $lighter-gray;
-webkit-transition: $global-transition;
transition: $global-transition;
&.disabled {
@ -382,14 +403,19 @@
========================================================================== */
.page__related {
@include clearfix();
float: left;
margin-top: 2em;
padding-top: 1em;
border-top: 1px solid $border-color;
@include clearfix();
float: left;
@include breakpoint($large) {
@include pre(2.5 of 12);
float: right;
width: calc(100% - #{$right-sidebar-width-narrow});
}
@include breakpoint($x-large) {
width: calc(100% - #{$right-sidebar-width});
}
a {

View file

@ -0,0 +1,252 @@
/* ==========================================================================
PRINT STYLES
========================================================================== */
@media print {
[hidden] {
display: none;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html {
margin: 0;
padding: 0;
min-height: auto !important;
font-size: 16px;
}
body {
margin: 0 auto;
background: #fff !important;
color: #000 !important;
font-size: 1rem;
line-height: 1.5;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #000;
line-height: 1.2;
margin-bottom: 0.75rem;
margin-top: 0;
}
h1 {
font-size: 2.5rem;
}
h2 {
font-size: 2rem;
}
h3 {
font-size: 1.75rem;
}
h4 {
font-size: 1.5rem;
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
a,
a:visited {
color: #000;
text-decoration: underline;
word-wrap: break-word;
}
table {
border-collapse: collapse;
}
thead {
display: table-header-group;
}
table,
th,
td {
border-bottom: 1px solid #000;
}
td,
th {
padding: 8px 16px;
}
img {
border: 0;
display: block;
max-width: 100% !important;
vertical-align: middle;
}
hr {
border: 0;
border-bottom: 2px solid #bbb;
height: 0;
margin: 2.25rem 0;
padding: 0;
}
dt {
font-weight: bold;
}
dd {
margin: 0;
margin-bottom: 0.75rem;
}
abbr[title],
acronym[title] {
border: 0;
text-decoration: none;
}
table,
blockquote,
pre,
code,
figure,
li,
hr,
ul,
ol,
a,
tr {
page-break-inside: avoid;
}
h2,
h3,
h4,
p,
a {
orphans: 3;
widows: 3;
}
h1,
h2,
h3,
h4,
h5,
h6 {
page-break-after: avoid;
page-break-inside: avoid;
}
h1 + p,
h2 + p,
h3 + p {
page-break-before: avoid;
}
img {
page-break-after: auto;
page-break-before: auto;
page-break-inside: avoid;
}
pre {
white-space: pre-wrap !important;
word-wrap: break-word;
}
a[href^='http://']:after,
a[href^='https://']:after,
a[href^='ftp://']:after {
content: " (" attr(href) ")";
font-size: 80%;
}
abbr[title]:after,
acronym[title]:after {
content: " (" attr(title) ")";
}
#main {
max-width: 100%;
}
.page {
margin: 0;
padding: 0;
width: 100%;
}
.page-break,
.page-break-before {
page-break-before: always;
}
.page-break-after {
page-break-after: always;
}
.no-print {
display: none;
}
a.no-reformat:after {
content: '';
}
abbr[title].no-reformat:after,
acronym[title].no-reformat:after {
content: '';
}
.page__hero-caption {
color: #000 !important;
background: #fff !important;
opacity: 1;
a {
color: #000 !important;
}
}
/*
Hide the following elements on print
========================================================================== */
.masthead,
.toc,
.page__share,
.page__related,
.pagination,
.ads,
.page__footer,
.page__comments-form,
.author__avatar,
.author__content,
.author__urls-wrapper,
.nav__list,
.sidebar,
.adsbygoogle {
display: none !important;
height: 1px !important;
}
}

View file

@ -2,7 +2,7 @@
STYLE RESETS
========================================================================== */
@include border-box-sizing;
* { box-sizing: border-box; }
html {
/* apply a natural box layout model to all elements */

View file

@ -7,25 +7,39 @@
========================================================================== */
.sidebar {
@include clearfix();
margin-bottom: 1em;
-webkit-transform: translate3d(0, 0 , 0);
transform: translate3d(0, 0 , 0);
@include clearfix();
margin-bottom: 1em;
@include breakpoint(max-width $large) {
/* fix z-index order of follow links */
position: relative;
z-index: 10;
}
@include breakpoint($large) {
@include span(2 of 12);
opacity: 0.75;
float: left;
width: calc(#{$right-sidebar-width-narrow} - 1em);
opacity: 1;
-webkit-transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out;
&:hover {
opacity: 1;
a {
&:hover {
text-decoration: underline;
}
}
&.sticky {
overflow-y: auto;
/* calculate height of nav list */
height: calc(100vh - 90px - 2em); // viewport height - approx. masthead height - main content top margin
}
}
@include breakpoint($x-large) {
padding-right: 0;
width: calc(#{$right-sidebar-width} - 1em);
}
h2, h3, h4, h5, h6 {
@ -48,15 +62,31 @@
margin-bottom: 1em;
@include breakpoint($large) {
position: relative;
float: right;
position: absolute;
top: 0;
right: 0;
width: $right-sidebar-width-narrow;
margin-left: span(0.5 of 12);
margin-right: -1 * $right-sidebar-width-narrow;
padding-left: 1em;
z-index: 10;
}
@include breakpoint($x-large) {
width: $right-sidebar-width;
margin-right: -1 * $right-sidebar-width;
}
}
.splash .sidebar__right {
@include breakpoint($large) {
position: relative;
float: right;
margin-right: 0;
}
@include breakpoint($x-large) {
margin-right: 0;
}
}
@ -161,11 +191,15 @@
list-style-type: none;
border: 1px solid $border-color;
border-radius: $border-radius;
background: #fff;
background: $background-color;
z-index: -1;
box-shadow: 0 0 10px rgba(#000, 0.25);
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
cursor: default;
&.is--visible {
display: block;
}
@include breakpoint($large) {
display: block;
position: relative;
@ -202,7 +236,7 @@
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: #fff transparent;
border-color: $background-color transparent;
z-index: 1;
@include breakpoint($large) {

View file

@ -5,10 +5,9 @@
div.highlighter-rouge,
figure.highlight {
position: relative;
margin-top: 1em;
margin-bottom: 1em;
font-family: $monospace;
font-size: $type-size-7;
font-size: $type-size-6;
line-height: 1.8;
border: 1px solid $border-color;
border-radius: $border-radius;
@ -26,7 +25,6 @@ figure.highlight {
line-height: 1;
text-transform: none;
speak: none;
color: $background-color;
}
.highlight {
@ -48,10 +46,10 @@ figure.highlight {
padding: 5px;
border: 0;
// line numbers
/* line numbers*/
&.gutter {
padding-right: 1em;
color: $light-gray;
color: rgba($muted-text-color, 0.5);
}
}

View file

@ -16,7 +16,7 @@ table {
}
thead {
background-color: $nord1;
background-color: mix($background-color, $dark-gray, 45%);;
border-bottom: 1px solid $light-gray;
color: $primary-color;
}

View file

@ -57,7 +57,7 @@ body:hover .visually-hidden button {
background: #fff;
z-index: 100000;
text-decoration: none;
box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}
@ -114,7 +114,9 @@ body:hover .visually-hidden button {
.cf { clear: both; }
.wrapper {
@include container();
margin-left: auto;
margin-right: auto;
width: 100%;
}
@ -183,7 +185,7 @@ body:hover .visually-hidden button {
.social-icons {
.fa {
color: #000;
color: $text-color;
}
.fa-behance,
@ -191,6 +193,11 @@ body:hover .visually-hidden button {
color: $behance-color;
}
.fa-bitbucket,
.fa-bitbucket-square {
color: $bitbucket-color;
}
.fa-dribbble {
color: $dribbble-color;
}
@ -286,14 +293,15 @@ body:hover .visually-hidden button {
/*
Navicons
========================================================================== */
Navicons
========================================================================== */
.navicon {
position: relative;
width: $navicon-width;
height: $navicon-height;
background: $primary-color;
top: ($navicon-height / 2);
background: $text-color;
margin: auto;
&:before,
@ -303,7 +311,7 @@ body:hover .visually-hidden button {
left: 0;
width: $navicon-width;
height: $navicon-height;
background: $primary-color;
background: $text-color;
}
&:before {
@ -339,15 +347,16 @@ body:hover .visually-hidden button {
}
/*
Langicons
========================================================================== */
Langicons
========================================================================== */
.langicon {
position: relative;
width: $navicon-width;
display: inline-block;
background: transparent;
margin: auto;
color: $primary-color;
color: $text-color;
&:before,
&:after {
@ -356,27 +365,16 @@ body:hover .visually-hidden button {
left: 0;
width: $navicon-width;
height: $navicon-height;
background: $primary-color;
background: $text-color;
display: none;
}
/* overlay the lines by setting both their top values to 0*/
&:before, &:after{
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
top: 0;
width: $navicon-width;
&:before {
top: (-2 * $navicon-height);
}
/* rotate the lines to form the x shape*/
&:before{
-webkit-transform: rotate3d(0,0,1,45deg);
transform: rotate3d(0,0,1,45deg);
}
&:after{
-webkit-transform: rotate3d(0,0,1,-45deg);
transform: rotate3d(0,0,1,-45deg);
&:after {
bottom: (-2 * $navicon-height);
}
}
@ -395,14 +393,23 @@ body:hover .visually-hidden button {
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
top: 0;
width: $navicon-width;
display: block;
-webkit-transition: 0.3s;
transition: 0.3s;
display: inherit;
}
/* rotate the lines to form the x shape*/
&:before{
-webkit-transform: rotate3d(0,0,1,45deg);
transform: rotate3d(0,0,1,45deg);
}
&:after{
top: (-2 * $navicon-height);
-webkit-transform: rotate3d(0,0,1,-45deg);
transform: rotate3d(0,0,1,-45deg);
}
}
/*
Sticky, fixed to top content
========================================================================== */
@ -529,6 +536,48 @@ a.reversefootnote {
}
/*
Google Custom Search Engine
========================================================================== */
.gsc-control-cse {
table, tr, td {
border: 0; /* remove table borders widget */
}
}
/*
Responsive Video Embed
========================================================================== */
.responsive-video-container {
position: relative;
margin-bottom: 1em;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100%;
iframe,
object,
embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
// full screen video fixes
:-webkit-full-screen-ancestor {
.masthead,
.page__footer {
position: static;
}
}
/*
Ads
========================================================================== */

Some files were not shown because too many files have changed in this diff Show more