免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1138 | 回复: 0

muse配置总结 [复制链接]

论坛徽章:
0
发表于 2009-08-05 22:35 |显示全部楼层

                   今天总算把muse给配置好了,其实在学校的时候,就已经在用muse记笔记和写日记了。不过一直都没怎么做美化。这里讲下我的过程。
先google一个好点的网站模板,我是搜索个人网站模板的。找了个结构类似cu,绿色风格的。像这类模板一般提供psd或者html源码,下载下来后,进行少量的修改,比如导航,分类,颜色,logo什么的换一下,然后在dw中做一个页面。这个页面就是笔记发布的模板页了。
   下面讲下在emacs中配置muse,网上也有很多文章介绍的,我讲下我的理解。muse可以分为项目保存,比如笔记,日记是一个大的项目,这个项目有一个首页,还有几个头页面和尾页面。我们在muse-mode中编辑的内容会被转为指定的html标签,再插入到头页面和尾页面之间。以当前这篇文章为例,整个页面结构是头部是图片和导航,左边是分类.右边是文章正文.还有一个底部是版权信息什么的.像这张页面在模板页中做好后,要把正文这里加一个div,标记为content或其它.然后把当前html代码从头至的复制下来,保存为头页面.再把剩下的至的内容复制下来做为尾页面.
然后在emacs中定义
  (muse-derive-style "my-xhtml" "xhtml"
                     :header "~/site/style/head.html"
                     :footer "~/site/style/foot.html")
;;设置项目首页和路径
(setq muse-project-alist
      '(("Website"
     ("~/site"
      :force-publish ("NoteIndex")
      :default "index")
     (:base "my-xhtml"
        :path "~/site/publish/web"))
    ("Note"
     ("~/site/note" :default "index")
     (:base "my-xhtml"
        :path "~/site/publish/note"))))
~/site/note中存放的是源文件,都是.muse结尾的.publish/note中保存的是发布的文件,还有你的css,js包括images/都放在这里.
比如我在.muse中写好内容后,按C-c C-p发布项目,他就会把修改过,但还没发布的发布出去的,所谓的发布就是把head.html插入到发布页中,再插入.muse中的内容,再插入foot.html的内容.这样就构成了一个发布页面.当然如果head.html和foot.html中有lisp代码,都是先解释后再插入的.对于.muse中的内容,对应的标签会解析成对应的html,有些会成为特定的class.具体的发布下看下就清楚了.
   这里提一下我遇到的问题,一个是跳转问题,firefox下的跳转要用window.location=url来跳转.还有就是链接,由于发布页面是本地的html,如果你有多个项目,比如笔记,日记两个大项目.那么就要考虑到相对路径的问题,我是写了个js函数,在导航和分类onClick的时候,判断下对应跳转的页面的.当然或许可以在所有的链接那边写上lisp代码,得到项目的路径,这可能可以.但我觉得在链接中固定不灵活.
    其中一个问题是回车的问题,muse的段落要多敲一个回来才会隔开,发布成html各段之间会多出一行.由于原来是只用emacs来浏览的,所以以前写的内容都是不多敲回车的,那么发布的时间,就都合并到一块了.解决的方法是在现有页面的头部加上尾部加上.这样就可以保留原页面中的回车了,而且这样输出的页面,比较符合一般的习惯.
  ls *.muse |awk '{print "sed -f pat "$1" >d2/"$1.muse}' >sed.sh
pat的内容是
1i\
$a\
这样就可以给当前目录下的所有muse的头尾加上标签对了.
再一个要注意的是标签,该标签发布成html时,是.因为pre会保留所有的回车,这样有时候会导致内容不自动换行,从而撑大整个页面,影响美观.所以要在css中加上
pre {
    white-space: pre-wrap;       /* css-3 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

               
                这样就不会有这个问题了.其它待解决的问题,就是本地搜索,现在的替代方法是用google桌面来搜索的.但如果是muse源文件搜索的话,grep这些都是可以用的.

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20244/showart_2019115.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP