PPT 是一种流行的信息展现方式,nodeppt 又是网页版 PPT 一股清流,本文记录nodeppt 制作流程以及在Hexo博客展示的方法。
nodeppt build my_ppt.md
dist
文件夹,其中包含了展示需要的文件source
文件夹中,但是需要配置 skip_render
不要渲染这部分文件 hexo -> source -> nodeppt -> ...
同时在主题配置文件 _config.yml
中配置:skip_render:
- nodeppt/**
<iframe id="iframe-one" name="iframe-one" src="/nodeppt/hexo/website/22 hexo-ppt/index.html" width="100%" height="500" scrolling="no" frameborder="0"></iframe>
title: nodeppt utorials
speaker: VVD
plugins:
- echarts: {theme: infographic}
- mermaid: {theme: forest}
- katex
<slide class="bg-black-blue aligncenter" image="https://101.43.39.125/HexoFiles/vvd-dell-2021-win-10/20210812235004.jpg">
### nodepp
# tutorials {.text-landing.text-shadow}
简单示例
By VVD {.text-intro}
<slide :class="size-30 aligncenter">
### nodeppt 安装
---
`npm install -g nodeppt` {.animated.fadeInUp}
<slide :class="size-40 aligncenter">
### 核心命令
---
```shell
# create a new slide with an official template
$ nodeppt new slide.md
# create a new slide straight from a github template
$ nodeppt new slide.md -t username/repo
# start local sever show slide
$ nodeppt serve slide.md
# to build a slide
$ nodeppt build slide.md
<slide :class="size-60 aligncenter">
<slide :class="size-50 aligncenter" >
:::note
## Note here
:::
<slide :class="size-200 aligncenter">
.text-landing
.text-intro
.text-subtitle
.text-landing.text-shadow
4,235,678 {.text-data}
.text-data
<slide :class="size-200 aligncenter">
.text-cols (2 columns)
::::div {.text-cols}
Why WebSlides? There are excellent presentation tools out there. WebSlides is about sharing content, essential features, and clean markup. Each parent <slide> in the #webslides element is an individual slide.
WebSlides help you build a culture of innovation and excellence. When you're really passionate about your job, you can change the world. How to manage a design-driven organization? Leadership through usefulness, openness, empathy, and good taste.
::::
<slide :class="size-200 aligncenter">
:::flexblock {.metrics}
:fa-phone:
Call us at 555.345.6789
:fa-twitter:
@username
:fa-envelope:
Send us an email
:::
<slide :class="size-200 aligncenter">
:::flexblock {.specs}
::fa-wifi::
Simple and secure file sharing.
::fa-battery-full::
Your battery worries may be over.
::fa-life-ring::
We'll fix it or if we can't, we'll replace it.
:::
<slide :class="size-200 aligncenter">
:::flexblock {.blink.border}
#44d
#67d
#edf2f7
#f7f9fb
:::
:::flexblock {.blink.border}
#111
#123
#fff
:::
<slide :class="size-200 aligncenter">
:::flexblock {.border.blink}
#c23
#077
#346
#62b
:::
:::flexblock {.border.blink}
rgba(0, 0, 0, 0.5)
rgba(255, 255, 255, 0.2)
:::
<slide class="bg-gradient-h size-200 aligncenter">
Horizontal
.bg-gradient-h
<slide class="bg-gradient-v size-200 aligncenter">
Vertical
.bg-gradient-v
<slide class="bg-gradient-r size-200 aligncenter">
Radial
.bg-gradient-r
<slide class="bg-black aligncenter" video="https://101.43.39.125/HexoFiles/win11-mt/20210909141136.mp4 .dark">
<slide class="bg-black aligncenter" video="https://101.43.39.125/HexoFiles/win11-mt/20210909141136.mp4 .dark">
<slide image="https://webslides.tv/static/images/iphone-hand.png .right-bottom">
:::{.content-left}
.right-bottom
:::flexblock {.specs}
::fa-wifi::
Simple and secure file sharing.
::fa-battery-full::
Your battery worries may be over.
::fa-life-ring::
We'll fix it or if we can't, we'll replace it.
:::
<slide :class="size-50 aligncenter">
:::shadowbox
:::shadowbox
There're excellent presentation tools out there. WebSlides is about telling the story, and sharing it in a beautiful way. Hypertext and clean code as narrative elements.
Designers, marketers, and journalists can now focus on the content. Simply choose a demo and customize it in minutes.
:::
<slide :class="size-80 aligncenter" >
:::card
.card-50.bg-white
Unsplash is a really cool resource. It is a collection of Creative Commons Zero licensed photos that are really great. {.text-intro}
:::
<slide class="fullscreen aligncenter">
:::card
:::
<slide class="aligncenter">
:::flexblock
Businesses that people love5
Businesses that people love6
Businesses that people love7
Businesses that people love8
:::
<slide class="aligncenter">
{.blink.border}
:::flexblock {.blink.border}
Businesses that people love1
Businesses that people love2
Businesses that people love3
Businesses that people love4
:::
<slide class="aligncenter">
{.clients}
:::flexblock {.clients}
Collaboration with the Acme team to design their mobile apps.
Collaboration with the Acme team to design their mobile apps.
Collaboration with the Acme team to design their mobile apps.
Collaboration with the Acme team to design their mobile apps.
:::
<slide :class="size-70 aligncenter">
:::gallery
:::gallery
AAA
BBB
CCC
<video id="video_item" style="position: relative;" muted="muted" src="https://101.43.39.125/HexoFiles/win11-mt/20210909141136.mp4" autoplay="autoplay" loop="loop" width="100%" height="auto"></video>
<video id="video_item" style="position: relative;" muted="muted" src="https://101.43.39.125/HexoFiles/win11-mt/20210909140933.mp4" autoplay="autoplay" loop="loop" width="100%" height="auto"></video>
:::
<slide class="bg-red frame aligncenter">
:::cta
:::cta
::^\$^40::
.frame.bg-red
:::
<slide class="bg-black-blue aligncenter">
:::column
:::column
Design for growth. We've built a team of world-class designers, developers, and managers.
We connect your audience needs, business goals, and brand values into a strategy.
We offer personalized services with deep expertise in design and technology.
We train teams to help organizations succeed in the digital age.
:::
<slide :class="aligncenter">
<slide class="bg-black aligncenter" image="https://101.43.39.125/HexoFiles/vvd-dell-2021-win-10/20210812235004.jpg .anim">
.background.anim
<slide class="slide-top">
:::{.content-left}
Put content wherever you want. Have less. Do more. Create beautiful solutions.
.slide-top and .content-left
<slide class="slide-top">
:::{.content-center}
In a village of La Mancha, the name of which I have no desire to call to mind,
.slide-top and .content-center
<slide class="slide-top">
:::{.content-right}
there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.
.slide-top and .content-right
<slide>
:::{.content-left}
An olla of rather more beef than mutton, a salad on most nights, scraps on Saturdays,
.content-left
<slide>
:::{.content-center}
lentils on Fridays, and a pigeon or so extra on Sundays, made away with three-quarters of his income.
.content-center
<slide>
:::{.content-right}
he rest of it went in a doublet of fine cloth and velvet breeches and shoes to match for holidays,
.content-right
<slide class="slide-bottom">
:::{.content-left}
while on week-days he made a brave figure in his best homespun.
.slide-bottom
and .content-left
<slide class="slide-bottom">
:::{.content-center}
He had in his house a housekeeper past forty, a niece under twenty, and a lad for the field and market-place,
.slide-bottom
and .content-center
<slide class="slide-bottom">
:::{.content-right}
who used to saddle the hack as well as handle the bill-hook.
.slide-bottom
and .content-right
<slide class="bg-black slide-bottom" image="https://source.unsplash.com/RSOxw9X-suY/">
:::div {.content-left}
:fa-tree large:
:::
<slide :class="size-50">
Beauty overdose. .text-pull-right
{.text-intro}
Imagine that you are in Florence. If you suddenly start to feel that you literally cannot breathe, you may be experiencing Stendhal Syndrome.
Psychiatrists have long debated whether it really exists. {.text-pull-right}
The syndrome is not only associated with viewing a beautiful place, but also good art.
The beauty of Italian art has a concentrated perfection and transcendent sensuality that is incredibly addictive.
<slide>
:::{.aligncenter}
Put content wherever you want.
:::
:::footer
Footer: logo, credits... (.alignleft) {.alignleft}
:fa-twitter: @username .alignright{.alignright}
:::
:::header
Header (logo) :.alignright:{.alignright}
:::
<slide :class="size-80 aligncenter">
<article id="webslides">
<!-- Slide 1 -->
<section>
<h1>Design for trust</h1>
</section>
<!-- Slide 2 -->
<section class="bg-primary">
<div class="wrap">
<h2>.wrap = container (width: 90%) with fadein</h2>
</div>
</section>
</article>
<slide class="bg-black-blue" :class="size-60">
I have always appreciated designers who dare to reinterpret fabrics and proportions, so I follow the Japanese and Belgian designers. ==Zaha Hadid== {.text-quote}
<slide image="https://webslides.tv/static/images/satya.png .left-bottom">
:::div {.content-right}
"There is something only a CEO uniquely can do, which is set that tone, which can then capture the soul of the collective." ==Satya Nadella, CEO of Microsoft.== :::
<slide>
:::card {.quote}
“WebSlides helped us build a culture of innovation and excellence.” ==Leonardo da Vinci==
<slide class="size-80 aligncenter">
{
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
legend: {
orient: 'vertical',
x: 'left',
data:['直达','营销广告','搜索引擎','邮件营销','联盟广告','视频广告','百度','谷歌','必应','其他']
},
series: [
{
name:'访问来源',
type:'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
normal: {
position: 'inner'
}
},
labelLine: {
normal: {
show: false
}
},
data:[
{value:335, name:'直达', selected:true},
{value:679, name:'营销广告'},
{value:1548, name:'搜索引擎'}
]
},
{
name:'访问来源',
type:'pie',
radius: ['40%', '55%'],
label: {
normal: {
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
backgroundColor: '#eee',
borderColor: '#aaa',
borderWidth: 1,
borderRadius: 4,
// shadowBlur:3,
// shadowOffsetX: 2,
// shadowOffsetY: 2,
// shadowColor: '#999',
// padding: [0, 7],
rich: {
a: {
color: '#999',
lineHeight: 22,
align: 'center'
},
// abg: {
// backgroundColor: '#333',
// width: '100%',
// align: 'right',
// height: 22,
// borderRadius: [4, 4, 0, 0]
// },
hr: {
borderColor: '#aaa',
width: '100%',
borderWidth: 0.5,
height: 0
},
b: {
fontSize: 16,
lineHeight: 33
},
per: {
color: '#eee',
backgroundColor: '#334455',
padding: [2, 4],
borderRadius: 2
}
}
}
},
data:[
{value:335, name:'直达'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1048, name:'百度'},
{value:251, name:'谷歌'},
{value:147, name:'必应'},
{value:102, name:'其他'}
]
}
]
}
<slide class="aligncenter">
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
<slide :class="size-60">
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts<br/>prevail...
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
<slide :class="size-80">
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
<slide :class="size-60">
graph TD
B["fa:fa-twitter for peace"]
B-->C[fa:fa-ban forbidden]
B-->D(fa:fa-spinner);
B-->E(A fa:fa-camera-retro perhaps?);
<slide :class="size-60">
equation | description |
---|---|
$\nabla \cdot \vec{\mathbf{B}} = 0$ | divergence of $\vec{\mathbf{B}}$ is zero |
$\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} = \vec{\mathbf{0}}$ | curl of $\vec{\mathbf{E}}$ is proportional to the rate of change of $\vec{\mathbf{B}}$ |
$\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} = \frac{4\pi}{c}\vec{\mathbf{j}} \nabla \cdot \vec{\mathbf{E}} = 4 \pi \rho$ | wha? |
<slide :class="size-80">
::: {.content-left}
.button{.button} .button.radius{.button.radius}
.button.ghost{.button.ghost} :fa-github: svg-icon{.button}
:::
::: {.content-left}
(80, 72, 64, 56, 48, and 40).
:::
<slide :class="aligncenter size-50">
<slide :class="size-50">
Left-aligned | Center-aligned | Right-aligned |
---|---|---|
git status | git status | git status |
git diff | git diff | git diff |
git status | git status | git status |
<slide :class="size-50 aligncenter">
Click Url + ?mode=speaker{.bg-primary style="font-size:120%"} to show Speaker Mode.
<slide :class="size-60 frame">
* * * {.text-symbols}
<nav class="aligncenter">
</nav>
<slide class="bg-black-blue aligncenter" image="https://cn.bing.com/az/hprichbg/rb/PragueChristmas_EN-AU8649790921_1920x1080.jpg .dark">
快使用 nodeppt 轻松搞定高大上 PPT nodeppt 助力你的人生逆袭之路! {.text-into.animated.delay-800.fadeIn}
:fa-cloud-download: Github{.button.animated.delay-1s.fadeInUp}