Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progressive build for static site #113

Open
jhannah opened this issue Jun 5, 2024 · 4 comments
Open

Progressive build for static site #113

jhannah opened this issue Jun 5, 2024 · 4 comments
Assignees

Comments

@jhannah
Copy link

jhannah commented Jun 5, 2024

Feature request: Add switch to skip processing of already-existing static-site/ individuals.

With 4,176 people in my GEDCOM, an attempted build of the static site takes 20 minutes. I'm having to iterate lots of data errors in my GEDCOM that are crashing ged2site. Fair enough, but it sure would be nice if I didn't have to wait 20 minutes for it to re-process thousands of individuals that processed fine last time.

It would be great if I modify a specific individual in my GEDCOM, I could just delete that one static-site/ file, run ged2site, and re-generate that one individual in seconds instead of 20 minutes.

With dozens of errors in my GEDCOM I need to fix, it's currently taking hours to iterate through them, one at a time.

✗ time ./ged2site -cFdh 'Jay Weston Hannah' -l ~/Desktop/jay_new.ged
... lots of warnings I need to clean my data to fix ...
[=======2800 of ./ged2site=============================      ]  90% [3790/4176]
	1083 of ./ged2site
BUG: illegal '9 FEB' should have been trapped by now at ./ged2site line 11893, <GEN0> line 33630.
./ged2site -cFdh 'Jay Weston Hannah' -l ~/Desktop/jay_new.ged  930.95s user 133.54s system 95% cpu 18:36.66 total
- program exits -
@jhannah
Copy link
Author

jhannah commented Jun 5, 2024

Note: WOOT! I finally survived a whole run!! yay! 🎈 🍰 🎉 😃 Progress! 20m 18s elapsed.

nigelhorne added a commit to nigelhorne/gedcom that referenced this issue Jun 5, 2024
@nigelhorne
Copy link
Owner

The difficulty with this is that generating each page will still reference other information (for example to determine who someone may be living with or close to), each page generation is not stateless.

Having said that, any suggestions for speed improvements will be greatly appreciated.

@nigelhorne nigelhorne self-assigned this Jun 11, 2024
@jhannah
Copy link
Author

jhannah commented Jun 20, 2024

Nod. That's a very valid concern under normal conditions. I was just thinking about some quick next if (-e "I1025.html") for the rare occasions that I'm cycling multiple times against a specific bug on a specific individual 20 minutes deep in re-processing... But I haven't gotten around to attempting to implement that hack. Maybe I never will? No big deal either way. :)

@nigelhorne
Copy link
Owner

I understand - I use a similar hack when testing a specific person next if($person->xref() ne 'foo');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants