@@ -45,16 +45,20 @@ public function watch() {
45
45
46
46
// iterate over the patterns & related data and regenerate the entire site if they've changed
47
47
$ patternObjects = new RecursiveIteratorIterator (new RecursiveDirectoryIterator (__DIR__ ."/../../source/_patterns/ " ), RecursiveIteratorIterator::SELF_FIRST );
48
+
49
+ // make sure dots are skipped
50
+ $ patternObjects ->setFlags (FilesystemIterator::SKIP_DOTS );
51
+
48
52
foreach ($ patternObjects as $ name => $ object ) {
49
53
50
54
// clean-up the file name and make sure it's not one of the pattern lab files or to be ignored
51
- $ fileName = str_replace (__DIR__ ."/../../source/_patterns/ " ,"" ,$ name );
52
- $ fileNameClean = str_replace (" / _ " ," / " ,$ fileName );
55
+ $ fileName = str_replace (__DIR__ ."/../../source/_patterns " . DIRECTORY_SEPARATOR ,"" ,$ name );
56
+ $ fileNameClean = str_replace (DIRECTORY_SEPARATOR . " _ " ,DIRECTORY_SEPARATOR ,$ fileName );
53
57
54
58
if ($ object ->isFile () && (($ object ->getExtension () == "mustache " ) || ($ object ->getExtension () == "json " ))) {
55
59
56
60
// make sure this isn't a hidden pattern
57
- $ patternParts = explode (" / " ,$ fileName );
61
+ $ patternParts = explode (DIRECTORY_SEPARATOR ,$ fileName );
58
62
$ pattern = isset ($ patternParts [2 ]) ? $ patternParts [2 ] : $ patternParts [1 ];
59
63
if ($ pattern [0 ] != "_ " ) {
60
64
@@ -92,7 +96,7 @@ public function watch() {
92
96
} elseif (isset ($ o ->patterns ->$ fileNameClean )) {
93
97
94
98
// the file was hidden so remove references to the item
95
- $ patternParts = explode (" / " ,$ fileNameClean );
99
+ $ patternParts = explode (DIRECTORY_SEPARATOR ,$ fileNameClean );
96
100
$ pattern = isset ($ patternParts [2 ]) ? $ patternParts [2 ] : $ patternParts [1 ];
97
101
98
102
unset($ o ->patterns ->$ fileNameClean );
@@ -113,7 +117,7 @@ public function watch() {
113
117
foreach ($ cp as $ fileName => $ mt ) {
114
118
115
119
unset($ o ->patterns ->$ fileName );
116
- $ patternParts = explode (" / " ,$ fileName );
120
+ $ patternParts = explode (DIRECTORY_SEPARATOR ,$ fileName );
117
121
$ pattern = isset ($ patternParts [2 ]) ? $ patternParts [2 ] : $ patternParts [1 ];
118
122
119
123
unset($ this ->patternPaths [$ patternParts [0 ]][$ pattern ]);
@@ -125,9 +129,13 @@ public function watch() {
125
129
126
130
// iterate over the data files and regenerate the entire site if they've changed
127
131
$ objects = new RecursiveIteratorIterator (new RecursiveDirectoryIterator (__DIR__ ."/../../source/_data/ " ), RecursiveIteratorIterator::SELF_FIRST );
132
+
133
+ // make sure dots are skipped
134
+ $ objects ->setFlags (FilesystemIterator::SKIP_DOTS );
135
+
128
136
foreach ($ objects as $ name => $ object ) {
129
137
130
- $ fileName = str_replace (__DIR__ ."/../../source/_data/ " ,"" ,$ name );
138
+ $ fileName = str_replace (__DIR__ ."/../../source/_data " . DIRECTORY_SEPARATOR ,"" ,$ name );
131
139
$ mt = $ object ->getMTime ();
132
140
133
141
if (!isset ($ o ->$ fileName )) {
@@ -141,10 +149,14 @@ public function watch() {
141
149
142
150
// iterate over all of the other files in the source directory and move them if their modified time has changed
143
151
$ objects = new RecursiveIteratorIterator (new RecursiveDirectoryIterator (__DIR__ ."/../../source/ " ), RecursiveIteratorIterator::SELF_FIRST );
152
+
153
+ // make sure dots are skipped
154
+ $ objects ->setFlags (FilesystemIterator::SKIP_DOTS );
155
+
144
156
foreach ($ objects as $ name => $ object ) {
145
157
146
158
// clean-up the file name and make sure it's not one of the pattern lab files or to be ignored
147
- $ fileName = str_replace (__DIR__ ."/../../source/ " ,"" ,$ name );
159
+ $ fileName = str_replace (__DIR__ ."/../../source " . DIRECTORY_SEPARATOR ,"" ,$ name );
148
160
if (($ fileName [0 ] != "_ " ) && (!in_array ($ object ->getExtension (),$ this ->ie )) && (!in_array ($ object ->getFilename (),$ this ->id ))) {
149
161
150
162
// catch directories that have the ignored dir in their path
@@ -199,6 +211,7 @@ public function watch() {
199
211
*/
200
212
private function updateSite ($ fileName ,$ message ) {
201
213
$ this ->gatherData ();
214
+ $ this ->gatherPatternPaths ();
202
215
$ this ->gatherNavItems ();
203
216
$ this ->generatePatterns ();
204
217
$ this ->generateViewAllPages ();
0 commit comments