コード例 #1
0
ファイル: fragments.go プロジェクト: pauek/Academio
func fItemFragment(C *F.Cache, args []string) F.Fragment {
	C.Depends(args[0]+" "+args[1],
		"/content/"+args[1],
		"/templates",
	)
	return F.MustParse(exec(args[0], content.Get(args[1])))
}
コード例 #2
0
ファイル: fragments.go プロジェクト: pauek/Academio
func getTitle(id string) (title string) {
	switch id {
	case "":
		title = "Inicio"
	case "cursos":
		title = "Cursos"
	default:
		title = content.Get(id).Data().Title
	}
	return
}
コード例 #3
0
ファイル: fragments.go プロジェクト: pauek/Academio
func fItem(C *F.Cache, args []string) F.Fragment {
	item := content.Get(args[1])
	C.Depends("item "+args[1],
		"/content/"+args[1],
		"/templates",
	)
	if topic, ok := item.(*content.Topic); ok {
		for _, subitems := range topic.Children() {
			C.Depends("item "+args[1], "/content/"+subitems.Id)
		}
	}
	return F.MustParse(exec(item.Type(), item))
}
コード例 #4
0
ファイル: main.go プロジェクト: pauek/Academio
func hPhotos(w http.ResponseWriter, req *http.Request) {
	id := req.URL.Path[len("/png/"):]
	item := content.Get(id)
	if item == nil {
		NotFound(w, req)
		return
	}
	course, ok := item.(*content.Course)
	if !ok {
		NotFound(w, req)
		return
	}
	ServeFile(w, req, course.Photo)
}
コード例 #5
0
ファイル: fragments.go プロジェクト: pauek/Academio
func getFragmentID(id string) (fid string, notfound bool) {
	switch id {
	case "":
		fid = "home"
	case "cursos":
		fid = "courses"
	default:
		item := content.Get(id)
		if item == nil {
			return "", true
		}
		fid = fmt.Sprintf("item %s", id)
	}
	return
}