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

Unable to set any configurations #103

Closed
alelom opened this issue Dec 1, 2022 · 12 comments
Closed

Unable to set any configurations #103

alelom opened this issue Dec 1, 2022 · 12 comments
Labels
bug Something isn't working

Comments

@alelom
Copy link

alelom commented Dec 1, 2022

Description

Using git-revision-date-localized-plugin along with "Material for Mkdocs". I was asked to raise this issue here as they do not believe it is related to Material: squidfunk/mkdocs-material#4697 (comment).

The plugin works when no settings are assigned in the mkdocs.yml file, i.e.:

plugins:
  - git-revision-date-localized

Shows correctly the last revision date in the webpages.

However, as soon as I add any custom setting, e.g.:

plugins:
  - git-revision-date-localized:
      enable_creation_date: true

The build fails, and this error is returned:

ERROR    -  Config value 'plugins': Invalid Plugins configuration
Aborted with 1 Configuration Errors!

For me this happens consistently regardless of any other plugin/extension/custom css/etc.

Note that this happens even if you set a configuration to its own default value, e.g.:

plugins:
  - git-revision-date-localized:
      type: date

which may indicate an incorrect parsing of the configurations?

Steps to reproduce

  1. Install git-revision-date-localized via pip
  2. Configure it in the yml file without any configuration
  3. Build the website locally
  4. Verify that it builds
  5. Add any configuration to git-revision-date-localized in the yml file
  6. Verify that build fails

Package versions

  • Python: 3.10.8
  • MkDocs: 1.4.2
  • Material: 8.5.10 (I'm on Windows and running grep is not an option -- just noting it 😄)

Configuration

site_name: BHoM documentation
site_url: https://bhom.xyz/documentation/
repo_url: https://github.com/BHoM/documentation
edit_uri: edit/main/docs/

theme:
  name: material

plugins:
  - git-revision-date-localized: #uncommenting any of the lines below makes the build fail.
    # fallback_to_build_date: false
    # enable_creation_date: true
    # type: date

System information

  • Operating system: Windows 10
  • Browser: Chrome
@timvink
Copy link
Owner

timvink commented Dec 5, 2022

That's a strange one indeed. I cannot reproduce, using python 3.10 and same versions of plugin and mkdocs/mkdocs-material.

Furthermore, I have a scheduled job so I can find any breaking changes in the dependencies, which hasn't been trigger. I retriggered the builds on master branch, but they are succeeding.

Windows support is always tricky though. My first thought was encoding, as windows uses different encodings for line ending (\r\n vs \n, see link).

Did you copy/paste those options from somewhere? Can you try manually typing them in your editor and then saving them? Or, you can use your editor to enforce consistent line endings.

The second thing I can think of is this has something to do with mkdocs 1.4, that introduced some changes around the configuration. Can you try again with pip install mkdocs==1.3.1 ? If that works, I know where to start digging!

@timvink timvink added the bug Something isn't working label Dec 5, 2022
@timvink
Copy link
Owner

timvink commented Dec 16, 2022

Had a chance to look at the suggestions yet?

@alelom
Copy link
Author

alelom commented Dec 16, 2022

Did you copy/paste those options from somewhere? Can you try manually typing them in your editor and then saving them? Or, you can use your editor to enforce consistent line endings.

Did them manually, and tried several combinations. It's not a line endings issue I believe

The second thing I can think of is this has something to do with mkdocs 1.4, that introduced some changes around the configuration. Can you try again with pip install mkdocs==1.3.1

trying that asap.

@alelom
Copy link
Author

alelom commented Dec 16, 2022

Build fails also on mkdocs v1.3.1 with same modality explained in the post.

@timvink
Copy link
Owner

timvink commented Dec 16, 2022

Ok one more idea. I noticed you haven't defined any other options in any other plugins. It might be indentation.

Can you indent with one tab? Or try four spaces?
Can you try specifying any option of any other plugin (to confirm the problem is with this plugin). For example https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin#options

I noticed that in the mkdocs of this repo I used double spaces for my options, maybe that doesn't work well in windows.

@alelom
Copy link
Author

alelom commented Dec 16, 2022

Hi, thanks for the messages. I did try with different indentations. I also have tried it in isolation and with other plugins that have options set. I will leave you my full yml config file, maybe you will spot if I'm doing anything wrong:

site_name: BHoM documentation
copyright: Copyright © 2018 - 2022 BHoM
site_url: https://bhom.xyz/documentation/
repo_url: https://github.com/BHoM/documentation
edit_uri: edit/main/docs/

theme:
  name: material
  logo: _images/logos/logo.png
  favicon: _images/logos/favicon.ico
  palette:
    primary: white
    accent: pink

  features:
    - navigation.tracking
    - navigation.top

plugins:
  - search
  - awesome-pages # allows to customise the ordering of pages.
  - git-revision-date-localized: # Displays date created/modified on the page. The below configurations are bugged, so only date modified works.
    #enable_creation_date: true


markdown_extensions:
  - attr_list # allows to add HTML/CSS attributes to almost every Markdown element, useful for e.g. aligning an image to the left/right (can't do centre though! use md_in_html instead)
  - md_in_html # allows to add markdown within HTML elements, useful for e.g. adding image captions or centering an image
  
  - pymdownx.betterem # Wider support to markdown symbols
  
  # Code syntax highlighting
  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences

  # Mathjax support
  - pymdownx.arithmatex:
      generic: true

  # Call-outs and note boxes ('admonition')
  - admonition
  - pymdownx.details
  - pymdownx.superfences

extra_javascript: 
  # Also required for Mathjax support
  - javascripts/mathjax.js
  - https://polyfill.io/v3/polyfill.min.js?features=es6
  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js


extra:
  social:
    - icon: fontawesome/brands/github
      link: https://github.com/BHoM
      name: BHoM on Github

@dcaddick
Copy link

Hi, I'm getting exactly the same error from this action:
https://github.com/dcaddick/gsd_public/actions/runs/3937319131
image

Installing this Plugin is fine, no prob at all.
But once it reaches the "enablement" phase of adding the hook by reading the mkdocs.yml file
Copy of my config from this file here: https://github.com/dcaddick/gsd_public/blob/main/mkdocs.yml

Once enabled as below, it will fail every time, if I comment out the Plugin it'll work fine

Relevant snip:

# Plugins
plugins:
  - search
  - simple
  #- git-authors:
  #      exclude:
  #          - index.md
  - git-revision-date-localized
  #    type: timeago
  #    timezone: Europe/Amsterdam
  #    locale: en
  #    fallback_to_build_date: false
  #    enable_creation_date: true
  #- glightbox
  #- social
  #- awesome-list
  #- table-reader
  #- img2fig
  #- mermaid2
  #- macros
  #- minify

@timvink
Copy link
Owner

timvink commented Jan 24, 2023

@dcaddick your issue is another one. From your link I could deduce you are using https://github.com/athackst/mkdocs-simple-plugin. Please see their documentation on how to properly install plugins. Secondly, mkdocs-simple-plugin does not document which plugins are not supported. Because it copies all content to a /tmp directory, but does not copy the .git folder, all git-based plugins will not work. Please find more information in the issue: athackst/mkdocs-simple-plugin#466

@alelom I will need to setup a development environment on a windows machine to be able to try and reproduce the error. Not a high priority for me tbh..

@dcaddick
Copy link

Thanks Tim,

Any suggestions on a better alternative that does fully support the git elements?

Regards,
DaveC

@alelom
Copy link
Author

alelom commented Jan 25, 2023

Thanks @timvink, that's understandable. I will update you in case I find something else. For example, since you are suggesting that this is an OS-specific issue, I will try and set the configuration to include these settings and see if at least the github actions are still able to run it correctly, given they run on Linux.

@SilentGlasses
Copy link

SilentGlasses commented Mar 26, 2024

Here is how I have my portion of mkdocs.yml set and it works for me...

  - git-revision-date-localized:
      type: timeago
      locale: en
      enable_creation_date: true
      fallback_to_build_date: true

This is in a local build so the dates show the same
revision_date_working

@timvink
Copy link
Owner

timvink commented Apr 12, 2024

Closing the issue as I can't reproduce

@timvink timvink closed this as completed Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants