Initial version of education content #90

Merged
bvisness merged 23 commits from education into master 2022-09-10 16:29:59 +00:00
2 changed files with 54 additions and 51 deletions
Showing only changes of commit fbfe804b83 - Show all commits

View File

@ -96,57 +96,6 @@ func (s embedParser) previewOrLegitEmbed(name string, legitHtml string) string {
return legitHtml
}
func extract(re *regexp.Regexp, src []byte, subexpName string) []byte {
m := re.FindSubmatch(src)
if m == nil {
return nil
}
return m[re.SubexpIndex(subexpName)]
}
func extractMap(re *regexp.Regexp, src []byte) map[string][]byte {
m := re.FindSubmatch(src)
if m == nil {
return nil
}
res := make(map[string][]byte)
for _, name := range re.SubexpNames() {
if name != "" {
i := re.SubexpIndex(name)
res[name] = m[i]
}
}
res["all"] = m[0]
return res
}
func extractAll(re *regexp.Regexp, src []byte, subexpName string) [][]byte {
m := re.FindAllSubmatch(src, -1)
if m == nil {
return nil
}
return m[re.SubexpIndex(subexpName)]
}
func extractAllMap(re *regexp.Regexp, src []byte) map[string][][]byte {
m := re.FindAllSubmatch(src, -1)
if m == nil {
return nil
}
res := make(map[string][][]byte)
for i, name := range re.SubexpNames() {
if name != "" {
var vals [][]byte
for _, specificMatch := range m {
vals = append(vals, specificMatch[i])
}
res[name] = vals
}
}
res["all"] = m[0]
return res
}
func makeYoutubeEmbed(vid string, preview bool) string {
if preview {
return `

54
src/parsing/util.go Normal file
View File

@ -0,0 +1,54 @@
package parsing
import "regexp"
func extract(re *regexp.Regexp, src []byte, subexpName string) []byte {
m := re.FindSubmatch(src)
if m == nil {
return nil
}
return m[re.SubexpIndex(subexpName)]
}
func extractMap(re *regexp.Regexp, src []byte) map[string][]byte {
m := re.FindSubmatch(src)
if m == nil {
return nil
}
res := make(map[string][]byte)
for _, name := range re.SubexpNames() {
if name != "" {
i := re.SubexpIndex(name)
res[name] = m[i]
}
}
res["all"] = m[0]
return res
}
func extractAll(re *regexp.Regexp, src []byte, subexpName string) [][]byte {
m := re.FindAllSubmatch(src, -1)
if m == nil {
return nil
}
return m[re.SubexpIndex(subexpName)]
}
func extractAllMap(re *regexp.Regexp, src []byte) map[string][][]byte {
m := re.FindAllSubmatch(src, -1)
if m == nil {
return nil
}
res := make(map[string][][]byte)
for i, name := range re.SubexpNames() {
if name != "" {
var vals [][]byte
for _, specificMatch := range m {
vals = append(vals, specificMatch[i])
}
res[name] = vals
}
}
res["all"] = m[0]
return res
}