| 101 | } |
| 102 | |
| 103 | func (w *Watcher) addRecursive(fsw *fsnotify.Watcher, root string) error { |
| 104 | return filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error { |
| 105 | if err != nil { |
| 106 | return nil |
| 107 | } |
| 108 | if d.IsDir() { |
| 109 | name := d.Name() |
| 110 | if strings.HasPrefix(name, ".") || name == "node_modules" || name == "vendor" { |
| 111 | return filepath.SkipDir |
| 112 | } |
| 113 | return fsw.Add(path) |
| 114 | } |
| 115 | return nil |
| 116 | }) |
| 117 | } |
| 118 | |
| 119 | func isMarkdown(name string) bool { |
| 120 | return strings.HasSuffix(strings.ToLower(name), ".md") |