• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang lib.Page类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/piranha/gostatic/lib.Page的典型用法代码示例。如果您正苦于以下问题:Golang Page类的具体用法?Golang Page怎么用?Golang Page使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Page类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: ProcessExternal

func ProcessExternal(page *gostatic.Page, args []string) error {
	if len(args) < 1 {
		return errors.New("'external' rule needs a command name")
	}
	cmdName := args[0]
	cmdArgs := args[1:]

	path, err := exec.LookPath(cmdName)
	if err != nil {
		path, err = exec.LookPath(filepath.Join(page.Site.Base, cmdName))
		if err != nil {
			return fmt.Errorf("command '%s' not found", cmdName)
		}
	}

	cmd := exec.Command(path, cmdArgs...)
	cmd.Stdin = strings.NewReader(page.Content())
	cmd.Dir = page.Site.Base
	var stderr bytes.Buffer
	cmd.Stderr = &stderr
	data, err := cmd.Output()
	if err != nil {
		return fmt.Errorf("'%s' failed: %s\n%s",
			strings.Join(args, " "), err, stderr.String())
	}

	page.SetContent(string(data))
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:29,代码来源:external.go


示例2: ProcessInnerTemplate

func ProcessInnerTemplate(page *gostatic.Page, args []string) error {
	//todo catch
	defer func() {
		if err := recover(); err != nil {
			//return fmt.Sprintf("%s: %s", page.Source, err)
		}
	}()

	t, err := page.Site.Template.Clone()
	if err != nil {
		return err
	}
	t, err = t.New("ad-hoc").Parse(page.Content())
	if err != nil {
		return errors.New(fmt.Sprintf("Page %s: %s", page.Source, err))
	}

	var buffer bytes.Buffer
	err = t.ExecuteTemplate(&buffer, "ad-hoc", page)
	if err != nil {
		return errors.New(fmt.Sprintf("Page %s: %s", page.Source, err))
	}

	page.SetContent(buffer.String())
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:26,代码来源:template.go


示例3: ProcessExt

func ProcessExt(page *gostatic.Page, args []string) error {
	if len(args) < 1 {
		return errors.New(
			"'ext' rule requires an extension prefixed with dot")
	}
	newExt := args[0]

	ext := filepath.Ext(page.Path)
	if ext == "" {
		page.Path = page.Path + newExt
	} else {
		page.Path = page.Path[0:len(page.Path)-len(ext)] + newExt
	}
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:15,代码来源:ext.go


示例4: ProcessTemplate

func ProcessTemplate(page *gostatic.Page, args []string) error {
	if len(args) < 1 {
		return errors.New("'template' rule needs an argument")
	}
	pagetype := args[0]
	//todo catch thiss
	defer func() {
		if err := recover(); err != nil {
			//return err //errors.New(fmt.Sprintf("%s: %s", page.Source, err))
		}
	}()

	var buffer bytes.Buffer
	err := page.Site.Template.ExecuteTemplate(&buffer, pagetype, page)
	if err != nil {
		return errors.New(fmt.Sprintf("%s: %s", page.Source, err))
	}

	page.SetContent(buffer.String())
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:21,代码来源:template.go


示例5: checkPage

// Runs some checks against the parsed page.
func checkPage(t *testing.T, pageText string, page *gostatic.Page) {
	if page.Content() != pageText {
		t.Errorf("expected '%s', got '%s'", pageText, page.Content())
	}

	if len(page.PageHeader.Other) != 2 {
		t.Errorf("expected length of 2, got '%d'", len(page.PageHeader.Other))
	}

	// Note: gostatic lib capitalizes the properties for some reason. So it
	// converted 'salve' to 'Salve' etc.
	salve := page.PageHeader.Other["Salve"]
	if salve != "hello" {
		t.Errorf("expected 'hello', got '%s'", salve)
	}

	munde := page.PageHeader.Other["Munde"]
	if munde != "world" {
		t.Errorf("expected 'world', got '%s'", munde)
	}
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:22,代码来源:config_test.go


示例6: ProcessRelativize

func ProcessRelativize(page *gostatic.Page, args []string) error {
	repl := `$1="` + page.Rel("/") + `$2"`
	rv := RelRe.ReplaceAllStringFunc(page.Content(), func(inp string) string {
		if NonProtoRe.MatchString(inp) {
			return inp
		}
		return RelRe.ReplaceAllString(inp, repl)
	})
	page.SetContent(rv)
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:11,代码来源:relativize.go


示例7: ProcessConfig

func ProcessConfig(page *gostatic.Page, args []string) error {
	parts := gostatic.TrimSplitN(page.Content(), "\n----\n", 2)
	if len(parts) != 2 {
		// no configuration, well then...
		page.PageHeader = *gostatic.NewPageHeader()
		return nil
	}

	page.PageHeader = *gostatic.ParseHeader(parts[0])
	page.SetContent(parts[1])
	return nil
}
开发者ID:repos-blogs-static,项目名称:gostatic,代码行数:12,代码来源:config.go


示例8: ProcessMarkdown

func ProcessMarkdown(page *gostatic.Page, args []string) error {
	result := Markdown(page.Content())
	page.SetContent(result)
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:5,代码来源:markdown.go


示例9: ProcessDirectorify

func ProcessDirectorify(page *gostatic.Page, args []string) error {
	if filepath.Base(page.Path) != "index.html" {
		page.Path = strings.Replace(page.Path, ".html", "/index.html", 1)
	}
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:6,代码来源:directorify.go


示例10: ProcessIgnore

func ProcessIgnore(page *gostatic.Page, args []string) error {
	page.SetState(gostatic.StateIgnored)
	return nil
}
开发者ID:mchudgins,项目名称:gostatic,代码行数:4,代码来源:ignore.go



注:本文中的github.com/piranha/gostatic/lib.Page类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang bosh.NewClient函数代码示例发布时间:2022-05-28
下一篇:
Golang system.UnifyInstructionForm类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap