nunjucks

gitbook的安装与使用

风流意气都作罢 提交于 2020-10-06 02:25:17
GitBook 是一个基于 Node.js 的命令行工具,可使用 Github /Git 和 Markdown 来制作精美的电子书。 一、官网下载nodejs直接安装 传送门 ,安装完成后如下: 可以看到npm也安装了,此时可以在cmd控制台进行验证(win+r),输入cmd进入控制台: C:\pc>node - v v8. 11.1 C:\pc>npm - v 5.6. 0 二、安装gitbook 在cmd控制台输入如下命令进行安装: C:\Users\wwwli>npm install gitbook-cli -g C:\Users\wwwli\AppData\Roaming\npm\gitbook -> C:\Users\wwwli\AppData\Roaming\npm\node_modules\gitbook-cli\bin\gitbook.js+ gitbook-cli@2.3.2 added 578 packages from 672 contributors in 251.912s 查看安装的版本: C:\Users\wwwli>gitbook -V CLI version: 2.3.2 GitBook version: 3.2.3 三、安装gitbook editor windows版 官网地址: gitbook editor for windows 备用下载链接

【融职培训】Web前端学习 第5章 node基础教程8 Nunjucks模板语法

吃可爱长大的小学妹 提交于 2020-08-18 21:46:33
一、概述 在上一节内容中,我们了解到通过`render`方法不仅可以指定渲染的模板,还可以向模板传递数据。 本节我们继续讲解nunjucks模板语法,使其不仅可以展示一行字符串,还可以展示更为丰富的网页效果。 本章我们只讲解常用的功能,如果需要更多的nunjucks模板功能,可以到[nunjucks中文文档](https://nunjucks.bootcss.com/templating.html)查阅 一、循环语句 我们以融职教育的网站为例,视频列表中会显示多条数据,显示的数据条数取决于数据库中的数据量。所以页面的内容应该是应该根据后台数据动态显示。那么如何动态显示数据列表的,实例代码如下所示。 // 数据 {"fruits":["香蕉","苹果","鸭梨" ]} <ul> { % for fruit in fruits % } <li>{{fruit}}</li> {% endfor % } </ul> 二、分支语句 再看融职教育的首页,默认情况下,右上角显示的是登录按钮,如果登录之后,会显示用户头像。 也就是说页面的像是内容取决于当前用户状态,这样的功能可以使用分支语句制作,实例代码如下所示: 1 // 数据 2 {"isLogin": true } 3 4 {% if isLogin % } 5 <p>欢迎您来到我的网站</p> 6 {% else % } 7 <p>请登录

史上最贴心前端脚手架开发辅导

倖福魔咒の 提交于 2020-04-23 05:24:00
每当你发现自己和大多数人站在一边,就是时候停下来思考了。—— 马克·吐恩 因为这部分内容稍有些复杂,所以讲解之前先贴出github地址和视频讲解地址: 项目源码: github.com/Walker-Leee… 视频讲解,请搜索微信公众号 《JavaScript全栈》 相信大家在工作中都有如下经历: 开发新项目,很多逻辑比如:项目架构、接口请求、状态管理、国际化、换肤等之前项目就已经存在,这时,我们选择“信手拈来”,ctrl + c,ctrl + v 二连,谈笑间,新项目搭建完成,无非是要改改一些文件和包名; 项目增加某个模块时,复制一个已有模块,改改名字,新的模块就算创建成功了; 项目的规范要无时无刻不在同事耳边提及,就算有规范文档,你还需要苦口婆心。 使用复制粘贴有以下缺点: 重复性工作,繁琐而且浪费时间 copy过来的模板容易存在无关的代码 项目中有很多需要配置的地方,容易忽略一些配置点 人工操作永远都有可能犯错,建新项目时,总要花时间去排错 框架也会不断迭代,人工建项目不知道最新版本号是多少,使用的依赖都是什么版本,很容易bug一大堆。 承受过以上一些痛苦的同学应该不少,怎么去解决这些问题呢?我觉得,脚手架能够规避很多认为操作的问题,因为脚手架能够根据你事先约定的规范,创建项目,定义新的模块,打包,部署等等都能够在一个命令敲击后搞定,提升效率的同时降低了入职员工的培训成本

初探 Node.js 框架:eggjs (环境搭配篇)

折月煮酒 提交于 2020-04-18 04:14:12
eggjs 是一个优秀的 Node.js 框架 概述:为什么标题上说 eggjs 是一个优秀的 Node.js 框架(可跳过)? 换言之,我们为什么选择 eggjs 进行开发而不是之前初学时使用的 Express 框架呢?    Express 是最著名的 Node.js 框架,它甚至是官方唯一推荐过的(目前)   但是根据实际开发,我觉得它的配置相当冗长,比方说:它可以一句 app.use() 布满长达数十行   这一点,我没法继续使用下去,所以就停止对它的学习。 就配置方面来说: eggjs 做得很好,它通过开发约束,将所有的配置文件放置在 config 文件中。 起初加载时便进行逐一对服务器进行设置,后设置的将会覆盖之前的。配置则是基于 类似 json 一样的写法,这使得我们容易定位某一处配置并进行修改(因为 key 不能重复,检索一下就知道在哪了) 同样的,eggjs 拥有大量的插件,开发者需要怎样的功能,在官方插件上几乎都可以找到。 如果没有找到所需插件,eggjs 也支持定制。 在这里可以找到官方 API 以及使用文档: https://eggjs.org/zh-cn/ 不再进行多说了,让我们开始进行一个 eggjs 框架工程吧(跟官方的有些不同,按照官方的快速入门,总是遇到莫名其妙的错误) 官方的错误,配置让我耗费了三四个小时才得以真正明白框架的使用方法

how to extract image of a child page in apostrophe cms

末鹿安然 提交于 2020-02-06 08:42:31
问题 I am doing a navigation bar in apostrophe every new page that is created requests of requirement an image for the icon that is a singleton of image widget this is the field: { name: 'icon', label: 'Icon', type: 'singleton', widgetType: 'apostrophe-images', options: { limit: 1, minSize: [200,200], aspectRatio: [1,1] } } when I want to bring it in my general template I am trying this: {%- for tab in data.home._children -%} {%- set image = tab.icon or tab -%} <li> <a class="sidebar-main-link"

nunjucks模板设计一个页面

老子叫甜甜 提交于 2020-01-24 14:54:38
使用nunjucks代替原来的ejs,因为这个更强大,是node中主流的模板引擎 nunjucks官网 配置使用 nunjucks 模板引擎 nunjucks 模板引擎没有对模板文件名的后缀名做特定限制 如果文件名是 a.html 则渲染的时候就需要传递 a.html 如果文件名是 b.nujs 则传递 b.nujs import express from 'express' import config from './config' import nunjucks from 'nunjucks' const app = express() import router from './router' nunjucks.configure(config.viewPath, { autoescape: true, express: app }) app.use(router) app.listen(3000, () => { console.log('server is running at port 3000...') }) config.js import { join } from 'path' export default { viewPath: join(__dirname, '../views'), node_modules_path: join(__dirname, '.