Code Monkey home page Code Monkey logo

Comments (4)

nixjdm avatar nixjdm commented on July 22, 2024 1

I think the OP may be a little unclearly worded, but I think I get the confusion.

--project / LEKTOR_PROJECT allows you to specify the project directory or projectfile, with a couple basic checks. I also tested both and verified they both behave the same way, as it looks like they should from the code. The arg does have precedence, by the way, and should for all env vars / args since that behavior comes straight from click.

.discover() allows you to run lektor from a cwd at or beneath the directory that contains a projectfile, similar to how git would recognize you are in a git repository. The method is a fallback and isn't called if other methods that determine the project's path are used.

If the project is specified, it is assumed that it is where a project actually lives, so if it doesn't find one that seems valid, it bails and does not walk back the directory tree. I think it was intentional that this does not walk backwards, because if you bother to specify a path, why would you specify a sub path and not the correct one?

I think https://www.getlektor.com/docs/cli/ should be amended to mention .discover() and clarify its use vs. --project. In my opinion no code needs to change here.

from lektor-website.

xlotlu avatar xlotlu commented on July 22, 2024

Is this a documentation bug, or a real bug?

from lektor-website.

runfalk avatar runfalk commented on July 22, 2024

Hm, I'm not actually sure. I definitely would expect the environment variable and the arg to have the same behavior (and probably give precedence to the arg so you can override it even when env is set).

For the discover method I'm not as sure. In order to be useful I guess we should change the docs and implementation of Project.discover() to respect both env and arg? Is there ever a scenario when you as a plugin author should side step the arg/env?

from lektor-website.

nixjdm avatar nixjdm commented on July 22, 2024

Is there ever a scenario when you as a plugin author should side step the arg/env?

I struggle to think of when it would be a good idea to modify the project path from a plugin, but I don't see anything preventing it. A plugin should be able to call from_path or discover wherever they like, and set the project path after it's already set, to anything.

from lektor-website.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.