Exclude Pycharn .idea directory

title: Wrye-Code-Collection Wiki
description: Collection of Wrye Bash history and information
exclude: [
  'pagebuilder/',
  '_sass/src/',
  '_sass/Old CSS/',
  '.idea/',
]
theme: jekyll-theme-cayman
gems:
  - jekyll-mentions
plugins:
  - jekyll-relative-links

I have an excludes but jekyll keeps trying to process the .idea folder. I have tried both .idea/ and idea/

What is the proper syntax for that because if it were working I would begetting the message “.idea/workspace.xml” every time that changes.

image

Just after the server starts in the --verbose mode, Jekyll will output a list of paths it is not going to watch for changes…
Posting a screenshot of that will help us decide if its a bug or incorrect configuration…

Down toward the bottom I see this but I have seen it still process the xml file from the Pycharm folder as shown.

image

I’ll try to keep an eye on it and see if it happens even with that showing at the bottom

change it to ‘.idea/**’

image

I suppose there might be something happening in the background but the excluded section didn’t change.

image

title: Tome of xEdit
description: xEdit Documentation
exclude: [
  '.idea/**',
]
theme: jekyll-theme-cayman
gems:
  - jekyll-mentions
plugins:
  - jekyll-relative-links

I changed my pagebuilder folder to _pagebuilder because I have been reading that Jekyll will ignore folders with that syntax.

Which seems to be true:

image

Because despite my ignoring the pagebuilder when it was still using the old name without the underscore, Jekyll was still processing the folders I was excluding.

I renamed the pagebuilder folder to _pagebuilder and with this as the config file

title: Tome of xEdit
description: xEdit Documentation
exclude: [ '.idea/**' ]
theme: jekyll-theme-cayman
gems:
  - jekyll-mentions
plugins:
  - jekyll-relative-links

image

There is no excludes entries showing at all.

Still no ideas or fix for this?

Something to keep in mind is that the exclude in the _config is doing double duty.
Its what jekyll is ignoring processing into your _site output. Its using the list of things in one way (disk path globs)

The watcher gem is also using that same list for what to ignore file change events of, but its building different regex to apply to the file change path events.

When watcher is building the regex, the /** syntax freaks it out, because its not a valid regex, so it throws it away, and doesnt not ignore changes in .idea, thus changes in that folder will cause a regen cycle, but the output will be the same, because to jekyll, nothing is actually different, as it is correctly using the /** format and ignoring the fact that .idea even exists.

Jekyll will indeed auto exclude (for building purposes) any folders that start with _ or . BUT, if you dont explicitly list them in exclude, the watcher gem wont add a regex to ignore them for the “purposes of watching for file changes” so the original .idea/ in exclude will should work to ignore the folder from the watcher from triggering a regen.

Granted I’m testing this with Jekyll 3.8.5, not 4.0, and somethings in the watcher gem have changed, but I think what might have happened in your original setup is if you left it in watch mode and changed the _config, it wasnt reloaded, so the test was faulty.

Something else that might (but not likely?) be causing it is the quotes because you have it in inline array format, and not yaml list format. I would say it would parse the same, but it could be something dumb as a different path in Psych that gets trimmed one way but not the other?

exclude:
  - _pagebuilder/
  - _sass/src/
  - _sass/Old CSS/
  - .idea/