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

Move the pelican tools in a different place? #800

Open
almet opened this issue Mar 24, 2013 · 15 comments
Open

Move the pelican tools in a different place? #800

almet opened this issue Mar 24, 2013 · 15 comments

Comments

@almet
Copy link
Member

almet commented Mar 24, 2013

Pelican currently contains a bunch of utilities to support import from other systems and a quickstart command line.

I'm wondering if this serves us or deserve us. I'm opening this discussion so we can know what people think.

Ideas:

  • removing the importers from pelican, and put them somewhere else (another "pelican-tools" repo? a gist? If we do that we need to update the documentation accordingly. But the current import script is kinda buggy and doesn't work seamlessly (but it seems some other tools do)
  • Adding a flag in the pelican importer to make it not ask for every single deployment platform if you don't need it; That could also be something different, but currently I find it's asking too many questions.

Ideas?

@f0x2501
Copy link

f0x2501 commented Mar 29, 2013

I think it's a good principle when utilities not a core functionnality of pelican.
There are only use in a particular context and maybe one time during migration.
Never during normal process of publication.
So I agree with your proposition to consider them as external tools (like a good awk/sed/grep script ^^).

@russkel
Copy link
Contributor

russkel commented Aug 4, 2013

Yeah why not, the same is done with plugins.

@justinmayer
Copy link
Member

I agree that we should move the import functions out of Pelican core. That said, I think the quickstart tool should remain as part of Pelican.

Forcing the user to install an external tool in order to run the quickstart process... seems like a sure-fire way to cause undue confusion, induce unnecessary frustration, and reduce end-user adoption.

@avaris
Copy link
Member

avaris commented Jul 10, 2014

We could use extras_require from setuptools. It's also supported by pip. So, for example;
pip install pelican
would install the core only, and
pip install pelican[tools]
would include the tools.

@smartass101
Copy link
Contributor

I agree with @justinmayer regarding the pelican-quickstart tool.

@Scheirle
Copy link
Member

👍 pelican-quickstart stays in the main repo. Other tools are moved in a separate repo.

@justinmayer
Copy link
Member

Glad that there seems to be consensus. Would someone be willing to step forward and take ownership of moving the above-mentioned components to a separate pelican-tools repo?

@shrayasr
Copy link
Contributor

When the repo does happen be sure to merge in #1390. If things go well, I should be able to take this up. But give me a while, I am still reading the codebase.

@iKevinY
Copy link
Member

iKevinY commented Apr 3, 2015

Since it doesn't seem like anyone else is actively working on this at the moment, I think I will work on migrating pelican-import and pelican-themes over to the pelican-tools repository that @kylef has created (see #1410). I like @avaris' suggestion of using extra_requires to optionally install all of the tools alongside the base installation of Pelican, so I am going to go with that approach.

@leotrs
Copy link

leotrs commented Aug 1, 2016

@iKevinY did this ever get done?

@iKevinY
Copy link
Member

iKevinY commented Aug 1, 2016

@almet @justinmayer @avaris Thoughts on moving forward with this?

@avaris
Copy link
Member

avaris commented Sep 16, 2016

I am all for moving tools to their own repo/package.

@almet
Copy link
Member Author

almet commented Sep 19, 2016

That looks like a good plan.

@justinmayer justinmayer self-assigned this Jul 23, 2019
@liberforce
Copy link

liberforce commented Mar 10, 2020

Really, this needs to be split.

I'm currently migrating my blog from dotclear to pelican, and the import script is just not doing enough by default. Having it as a tool inside pelican doesn't make really sense, as it's frankly a separate project, with separate tests to avoid regressions, etc. Having it as a separate package would also help to split the code and the different import sources.

I've created a repository for that. I only plan to handle my own blog migration though.

@liberforce
Copy link

I've started https://github.com/liberforce/blog2pelican based on pelican import script.
I fixed tags and creation date for now for the dotclear parser (based on the format of my own dotclear blog backup).

This is still early work, I've split that into several files to separate the different parsers and builders, making the required dependencies for each parser more clear. But this refactoring is crying for OOP, so that's one of the next steps. Not sure if this will be before the other bugfixes I have on the works, though.

I may still push force on master, so clone at your own risk.

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