Rīks nbgenerate
pārveido DevSite HTML un Markdown saturu un veidnes ar Colab saderīgos Jupyter piezīmjdatoros.
Pārskats
No Google Colab vietnes:
Colab piezīmju grāmatiņas ļauj apvienot izpildāmo kodu un bagātinātu tekstu vienā dokumentā, kā arī attēlus, HTML, LaTeX un citus.
Programmā Colab Python kodu var rakstīt un izpildīt no tīmekļa pārlūkprogrammas bez papildu iestatīšanas vai instalēšanas. Atzīmēšanas saturu var mijas ar koda šūnām, lai tajā pašā dokumentā varētu nodrošināt bagātīgu saturu. Tas padara Colab piezīmjdatorus par populāru risinājumu ne tikai kvantitatīvai izpētei un mašīnmācībai, bet arī API un koncepciju demonstrēšanai un eksperimentēšanai, piemēram, tiem, kas parasti atrodami izstrādātāju dokumentācijā.
Šī iemesla dēļ Colab piezīmju grāmatiņās kopīgotais saturs bieži pārklājas ar saturu, kas publicēts Google izstrādātāju dokumentācijā. Rīks nbgenerate novērš nepieciešamību manuāli sinhronizēt DevSite marķējumu ar atbalsta Colab piezīmjdatoriem. Šis rīks pārveido DevSite HTML un Markdown .ipynb faila formātā, ko izmanto Colab un citi Jupyter piezīmjdatoru implementācijas. Tādējādi DevSite saturu var izmantot kā vienu patiesības avotu gan izstrādātāju dokumentos, gan Colab piezīmjdatoros.
Pamatinformāciju un tehnisko informāciju var atrast sākotnējā dizaina dokumentā vietnē nbgenerate-dd .
Pamata lietojums
Lai ģenerētu Colab piezīmju grāmatiņas lapām savā DevSite projektā, pirms komandas nbgenerate
izsaukšanas ir jāpievieno fails ar nosaukumu _notebooks.yaml
.
_notebooks.yaml pievienošana savam projektam
Lai ģenerētu Colab piezīmju grāmatiņas no DevSite projekta lapām, pievienojiet failu ar nosaukumu _notebooks.yaml
projekta saknei (tajā pašā direktorijā, kurā atrodas vietnes _project.yaml
). Failā ir jāiekļauj viens ieraksts par katru lapu, kas tiek kopīgota kā Colab piezīmju grāmatiņa. Katra ieraksta source
laukā ir jāietver absolūtais ceļš jūsu DevSite nomniekā, lai tas tiktu pārveidots par Colab piezīmju grāmatiņu. target
laukā ir jānorāda google3 depo ceļš, kur tiks rakstītas ģenerētās Colab piezīmju grāmatiņas.
Piemēram:
- source: /earth-engine/ee-image.html
target: //depot/google3/third_party/earthengine_community/ipynb/ee-image.ipynb
- source: /earth-engine/guides/image_objects.md
target: //depot/google3/third_party/earthengine_community/ipynb/guides/image_objects.ipynb
Šajā piemērā tiek izmantoti mērķa ceļi, kas tiek atspoguļoti GitHub, izmantojot Copybara, lai ģenerētās piezīmju grāmatiņas varētu atvērt, izmantojot publiski pieejamas hipersaites. Skatiet copybara , lai uzzinātu vairāk par to, kā sinhronizēt google3 ceļus ar GitHub. Skatiet arī logrīku piemērus, lai iegūtu piemērus, kas pievieno saites uz GitHub ģenerētajām piezīmju grāmatiņām.
Piezīmju grāmatiņu ģenerēšana
Pirms nbgenerate
palaišanas pirmo reizi, definējiet aizstājvārdu savā .bashrc
un pašreizējā čaulā:
alias nbgenerate="/google/bin/releases/devsite/tools/nbgenerate/nbgenerate.par"
Pēc tam varat palaist nbgenerate
no komandrindas, lai atjaunotu visus _notebooks.yaml
norādītos failus:
nbgenerate googledata/devsite/content/en/PROJECT
Norādiet vienu vai vairākus ceļus kā argumentus nbgenerate
, lai ierobežotu apstrādi līdz norādītajiem failiem vai ceļiem, piemēram:
nbgenerate third_party/devsite/developers/en/earth-engine/guides
Direktoriju ceļi tiek apstrādāti rekursīvi; tiks apstrādāti visi faili _notebooks.yaml
, kas atrodas norādītajā direktorijā vai zem tā.
Ja saņemat "Atļauja liegta", palaižot nbgenerate
, izmantojot iepriekš minēto aizstājvārdu, varat arī palaist rīku ar šādu komandu:
blaze run //devsite/tools/nbgenerate -- googledata/devsite/content/en/PROJECT
Satura filtrēšana
Gadījumos, kad daļai satura ir jāparādās tikai DevSite lapās vai ģenerētajā Colab piezīmju grāmatiņā, bet ne abās, varat filtrēt saturu, izmantojot mainīgo is_ipynb
, kas nbgenerate
konversijas procesa laikā ir iestatīts uz True
. Lai novērstu kļūdas, iestudējot un publicējot vietnē DevSite, to lapu augšdaļā, kurās selektīvi jāiekļauj saturs, pievienojiet tālāk norādīto.
{% if is_ipynb is not defined %}{% set is_ipynb=False %}{% endif %}
Pēc tam varat izmantot Jinja tagus, lai kontrolētu, kurš saturs tiek rādīts pakalpojumā Colab, DevSite vai abos. Piemēram:
# Overview This section will show in both the DevSite page and in the Colab notebook as a text cell. {% if is_ipynb %} This content will only appear in Colab notebooks but not on DevSite pages. This is useful for providing Colab-specific initialization and setup instructions or code. {% endif %} {% if not is_ipynb %} ```js // This code snippet will only be rendered in DevSite but not in Colab // notebooks. console.log('Hello, nbgenerate!'); ``` {% endif %} ```py # This snippet will appear in both DevSite and in the Colab notebook as a code # cell. print('Hello, nbgenerate!'); ```
Logrīku piemēri
Vietnes bieži definē savus DevSite logrīkus, lai ietvertu parastās darbības. Tālāk ir sniegti daži logrīku piemēri, kuros tiek izmantots mainīgais is_ipynb
, kas var tikt pielāgots jūsu vietnei.
Colab piezīmju grāmatiņas pogu logrīks
Earth Engine izstrādātāja dokumentācijā tiek izmantots pielāgots logrīks, lai konsekventi rādītu palaist Colab un Skatīt avotu GitHub pogām DevSite lapās, kas sinhronizētas ar Colab piezīmjdatoriem pakalpojumā GitHub.
Sadaļas logrīka paraugs
Sadaļas logrīka paraugs sniedz piemēru, kā iestatīt cilnes sadaļas koda fragmentiem, kas tiek parādīti vairākās programmēšanas valodās vai vidēs. Logrīks nodrošina tikai Python fragmentu iekļaušanu Colab piezīmju grāmatiņās. Tas arī noņem atzīmes, ko izmanto, lai parādītu cilnes sadaļas, rakstot piezīmju grāmatiņā.