guillep / ecstatic

ecstatic site generator
MIT License
13 stars 12 forks source link

generate does not take all pillar files #8

Closed irevoire closed 7 years ago

irevoire commented 7 years ago

We have fast_feedback.pillar getting_started.pillar install.pillar _site first_site.pillar index.pillar pillar.conf theme files in our directory. When we generate ('ecstatic generate' or 'ecstatic serve -w') 'getting_started.html' doesn't appear in '_site'.

guillep commented 7 years ago

Hi, can you be more specific about some things?

In any case, I'd change the name of the issue to something like "generate does not take all pillar files".

Besides, can you check why does this happen?

irevoire commented 7 years ago

Hi! We use ubuntu 16.04 LTS (64 bits). To install ecstatic we followed your tutorial from http://guillep.github.io/ecstatic/install.html And yes the others things was working right.

Ducasse commented 7 years ago

Ok I cannot try to reproduce the problem because of bad network. It would be good to debug why.

irevoire commented 7 years ago

We tried to renamed getting_started.pillar in get_started.pillar And the get_started.html generate well, but getting_started.html still don't show up in _site.

However now when we generate we have the following warning :

& ~/Bureau/ecstatic$ ecstatic generate
Copying source files to /home/l3/campistron/Bureau/ecstatic/_site ...OK

*** Warning: PRLinkWarning: Reference : install.html should end with .pillar or .pier

*** Warning: PRLinkWarning: Reference : first_site.html should end with .pillar or .pier
irevoire commented 7 years ago

After some tests we realized that ecstatic does not generate the files with a name of 15 characters without the extension (example : "azertyuiopmlkjh" or "getting_started"), if there is more or less characters everything works just right.

irevoire commented 7 years ago

Ok so we found the problem, it was in the interpretation of the .gitignore. The '#' wasn't considered as a comments. We changed that in our ecstatic - pharo but we don't know how to send you our modification.

irevoire commented 7 years ago

We did a commit on smalltalkhub which fix the bug. Name : Ecstatic-SimonCimetiere.31 Comment : "ShouldIgnore fix for character '#' in the file .gitignore"

This issue can be closed.

guillep commented 7 years ago

Hi, the fix was not completely good:

You wrote (if I indent it):

ignoreFile contents linesDo: [ :pattern | 
    (pattern beginsWith: '#')
        ifTrue: [ ^ false ].
    (pattern match: aFile basename)
        ifTrue: [ ^ true ] ].
    ^ f

This piece of code will ignore ALL lines after a line starting with #. The return (^) does not work as a break, but as a return in smalltalk, so what happens is that you're quitting the entire method. I merged your version and fixed it as follows:

ignoreFile contents linesDo: [ :pattern | 
    "Ignore comments in gitignore. i,e,. lines starting with #"
    ((pattern beginsWith: '#') not
        and: [ pattern match: aFile basename ])
            ifTrue: [ ^ true ] ].

I created and published a version 0.9.1 that uses this fix.

guillep commented 7 years ago

Commit 7b0a748 uses version 0.9.1 as installation script.