Peb cov slides yog hais txog kev txhim kho tej yaam num, yog li lub markup yuav tsum ua kom yooj yim rau ntxig, tsis muaj resorting rau sab nraud systems
code fragments nrog syntax highlighting,
daim duab yooj yim nyob rau hauv daim ntawv ntawm cov duab geometric txuas nrog cov xub,
UML daim duab, flowcharts thiab lwm yam.
Cov qauv kev nthuav qhia yuav tsum tau muab khaws cia rau hauv ib qho kev tswj hwm version.
Kev lees paub thiab kev sib dhos ntawm cov swb tiav yuav tsum ua tiav hauv CI system.
Niaj hnub no, muaj ob txoj hauv kev los tsim cov slides hauv cov lus cim: pob nqaj rau LaTeX lossis ib qho ntawm cov txheej txheem tsim cov slides siv HTML / CSS (QhiaJS, nco txog, deck.js thiab ntau lwm tus).
Txawm hais tias kuv tus ntsuj plig nyob hauv LaTeX, kuv lub siab tau hais tias qhov kev xaiv ntawm kev daws teeb meem uas kuv yuav tsis yog tib tus siv yuav tsum nyob rau sab ntawm cov kev daws teeb meem uas paub ntau dua ntawm cov neeg. Tsis yog txhua tus paub LaTeX, thiab yog tias koj qhov kev coj ua niaj hnub tsis cuam tshuam txog kev sau cov ntawv tshawb fawb, ces koj tsis zoo li yuav muaj sijhawm los raus koj tus kheej hauv lub ntiaj teb loj, sib txawv ntawm cov kab ke no.
Txawm li cas los xij, kev paub ntawm HTML / CSS tsis yog qhov kev txawj dav dav: Kuv, piv txwv li, kuv nyob deb ntawm kev txawj ntse hauv nws. Hmoov zoo, tus uas twb paub AsciiDoctor los cawm: lub converter asciidoctor-qhia tawm tso cai rau koj los tsim RevealJS slides siv AsciiDoctor markup. Thiab nws yooj yim kawm thiab siv tau rau txhua tus!
Yuav ua li cas code slides
Txhawm rau nkag siab cov ntsiab lus ntawm coding slides ntawm AsciiDoctor, txoj hauv kev yooj yim tshaj plaws yog muab cov piv txwv tshwj xeeb. Cov no yog tag nrho los ntawm cov slides tiag tiag uas kuv tau ua rau kuv lub rooj sib tham nthuav tawm xyoo no.
Ib daim swb nrog lub npe thiab cov npe hauv cov khoom qhib ib qho tom qab lwm qhov:
Thaum kawg, yog tias koj xav tau ntxig ib daim ntawv qhia, daim duab qhia hauv chav kawm lossis lwm cov qauv duab kos rau hauv cov swb, ces lwm qhov kev koom ua ke nrog AsciiDoctor tuaj yeem pab cawm, PlantUML. Kuv tus npoj yaig Nikolai Potashnikov tau sau txog lub peev xwm ntawm PlantUML cais ncej.
Tig qhov kev nthuav qhia qhov project mus rau hauv cov cai khaws cia rau hauv ib qho kev tswj hwm version ua rau nws muaj peev xwm los npaj kev sib koom ua haujlwm ntawm kev nthuav qhia, ua ntej ntawm tag nrho cov, cais cov dej num ntawm kev tsim cov ntsiab lus thiab tsim. Kev tsim cov slides (fonts, keeb kwm yav dhau, indents) hauv RevealJS tau piav qhia siv CSS. Kuv tus kheej kev txawj nrog CSS yog qhov zoo tshaj plaws los ntawm tej gif - tab sis nws tsis txaus ntshai thaum muaj cov neeg ua haujlwm nrog CSS ntau dua dexterously thiab sai dua kuv. Raws li qhov tshwm sim, nws hloov tawm tias nrog rau lub sijhawm sai sai rau qhov kev nthuav qhia, peb tuaj yeem ua haujlwm ntawm cov ntaub ntawv sib txawv ib txhij ntawm Git thiab tsim kom muaj kev sib koom tes nrawm uas tsis yooj yim sua thaum xa .pptx cov ntaub ntawv los ntawm kev xa ntawv.
Tsim ib nplooj ntawv HTML nrog slides
Cov ntawv nyeem yooj yooj yim yog qhov zoo, tab sis koj ua li cas muab lawv tso rau hauv qhov kev nthuav qhia nws tus kheej?
AsciiDoctor yog ib qhov project sau hauv Ruby, thiab muaj ntau txoj hauv kev los khiav nws. Ua ntej, koj tuaj yeem nruab Ruby lus thiab khiav asciidoctor ncaj qha, uas yog qhov ze tshaj plaws rau Ruby developers.
muaj asciidoctor-maven-plugin tso cai rau koj los sau cov ntaub ntawv AsciiDoctor uas yog ib feem ntawm Java project (uas peb nquag siv). Tib lub sijhawm, AsciiDoctor thiab JRuby raug rub tawm los ntawm Maven, thiab AsciiDoctor khiav hauv JRuby ib puag ncig: tsis tas yuav nruab dab tsi ntawm lub tshuab! (Tsis suav nrog pob graphviz, uas yuav tsum tau yog tias koj xav siv GraphViz lossis PlantUML cov duab.) Tsuas tso koj cov ntaub ntawv .adoc rau hauv ib daim nplaub tshev src/main/asciidoc/Cov. Ntawm no piv txwv ntawm pomniksau slides nrog daim duab.
Hloov slides rau PDF
Txawm hais tias HTML version ntawm slides yog tus kheej txaus, nws tseem yuav tsum muaj PDF version ntawm slides. Ua ntej, nws tshwm sim tias ntawm qee lub rooj sib tham uas tsis muab lub sijhawm rau tus neeg hais lus txuas rau nws lub laptop, lawv xav tau cov slides " nruj me ntsis hauv pptx lossis pdf hom," yam tsis xav tias lawv tseem nyob hauv HTML. Qhov thib ob, nws yog ib daim ntawv zoo xa cov neeg koom ua ib qho kev hloov kho ntawm koj cov slides raws li lawv tau qhia hauv daim ntawv tshaj tawm, hauv PDF hom ntawv rau kev tshaj tawm cov ntaub ntawv hauv cov ntaub ntawv sib tham.
Hmoov zoo, Node.js kev siv hluav taws xob ua haujlwm no. daim kab xev, ua los ntawm lub hauv paus Tus Menyuam Yaj - automation systems rau tswj Chrome browser. Koj tuaj yeem hloov RevealJS kev nthuav qhia rau PDF nrog cov lus txib
Ob lub tswv yim thaum launching decktape, uas peb yuav tsum tau los ntawm kev sim thiab yuam kev:
daws teeb meem ntawm parameter -s yuav tsum tau teev nrog ib tug ob npaug margin, txwv tsis pub tej zaum yuav muaj teeb meem nrog lub conversion tau
nyob rau hauv qhov URL ntawm HTML version ntawm qhov kev nthuav qhia koj yuav tsum dhau ib qho parameter ?fragments=true, uas yuav tsim ib nplooj ntawv PDF cais rau txhua lub xeev nruab nrab ntawm koj cov swb (piv txwv li, tsib nplooj ntawv rau tsib lub ntsiab lus yog tias lawv tau pom ib qho tom qab). Qhov no yuav tso cai rau koj siv xws li PDF ntawm nws tus kheej raws li kev nthuav qhia thaum sau ntawv.
Tsis siv neeg sib dhos thiab tshaj tawm hauv lub vev xaib
Nws yog qhov yooj yim thaum cov slides tau muab tso ua ke tau txais thaum hloov pauv mus rau qhov kev tswj hwm version, thiab txawm tias yooj yim dua thaum txiav cov slides tau muab tso rau hauv Is Taws Nem rau pej xeem siv. Slides los ntawm Is Taws Nem tuaj yeem yooj yim "ua si" nyob rau hauv pem hauv ntej ntawm cov neeg tuaj saib los ntawm txhua lub tshuab txuas nrog Is Taws Nem thiab lub projector.
Txij li thaum peb siv GitHub hauv peb txoj haujlwm, qhov kev xaiv ntawm CI system yog TravisCI, thiab rau hosting npaj-ua kev nthuav qhia - github.io. Lub tswv yim tom qab github.io yog tias cov ntsiab lus zoo li qub tau tshaj tawm rau ib ceg gh-pages ntawm koj qhov project ntawm GitHub, yuav muaj nyob ntawm <Π²Π°ΡΠ΅ ΠΈΠΌΡ>.gihub.io/<Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ>.
Ua kom tiav TravisCI cov ntaub ntawv teeb tsa, suav nrog suav sau HTML version ntawm nplooj ntawv siv Maven, hloov mus rau PDF siv decktape, thiab xa cov txiaj ntsig mus rau xov gh-pages rau kev tshaj tawm ntawm github.io, zoo li li ntawd,.
Txhawm rau tsim qhov project no ntawm TravisCI sab, koj yuav tsum teeb tsa ib puag ncig hloov pauv
GH_REF - tus nqi zoo li github.com/inponomarev/csa-hb
GH_TOKEN - GitHub nkag token. Koj tuaj yeem tau txais nws los ntawm GitHub hauv koj qhov profile, Chaw Tsim Kho -> Tus Kheej Access Token. Yog tias koj upload qhov kev nthuav qhia mus rau lub chaw khaws ntaub ntawv pej xeem, tom qab ntawd rau qhov token no nws txaus los qhia qhov tsuas yog nkag mus rau qib "Access public repositories".