如何获得文档所在的目录
文档与路径
FarBox上的文档,包括图片、日志、文件等,你可以按照自己电脑上的文档去看待它们,它们都有自己的路径。
如果需要获得所在的目录(有些情况,目录也会被当做分类
),那么,在自己管理文件夹的时候,应该知道具体应该如何操作。
举个例子
我们希望获取一个post日志的所在分类,在网站根目录下,一级的子文件夹,我们视为分类。那么,我们需要用到post.full_path这个属性(因为它保留的大小写)。
但post.full_path是以站点目录名为起始的,比如blog.farbox.com/2014/hello.txt
,那么我们需要进行分解,即post.full_path.split('/')
,然后判断下当前split的列表长度要>2的(本例的假设,具体情况具体分析),不然,可能就不是我们需要的目录了。
Jade语法:
path_parts = post.full_path.split('/') if path_parts.length > 2 category_path = path_parts[1] a(href="/category/{{category_path}}")= category_path
当然, /category/<url>
,这个传递过去的,需要有一个对应的页面承接。
更多,请参考https://github.com/BuildFarBox/templates/tree/master/template_packages/Ink
扩展
如果是一个层次递增、递减比较负责的多层目录,而非纯粹的分类
。你也可以使用bread_nav这个函数,自动生成一个类似的面包屑导航。
Tips
2014-02-24 20:01
请问能否获得二级子文件夹的目录?
比如 blog.farbox.com/2014/10/hello.txt 中,10这个文件夹。也就是说,可以同时显示 2014 和 10 这两个目录名称。
@CHEN Yan
cat1, cate2, filename = request.path.split.strip('/')('/')
@Hepo
请问,上面那句应该写在文章中Jade语法的哪部分?
@Cyan
if path_parts.length >= 3
cat1 = path_parts[1]
cat2 = path_parts[2]