unverbuggt / mkdocs-encryptcontent-plugin

A MkDocs plugin that encrypt/decrypt markdown content with AES
https://unverbuggt.github.io/mkdocs-encryptcontent-plugin/
MIT License
130 stars 16 forks source link

Password Not Being Accepted Gitlab with Docker Image: image: python:latest #38

Closed preston3271 closed 1 year ago

preston3271 commented 2 years ago

Hello! I am using the :"mkdocs-encryptcontent-plugin" and I am seeing a persistent error with the plugins section of the "mkdocs.yml" within VSCODE.

Error: Value is not accepted. Valid values: "blog".yaml-schema: Built-in blog plugin(1)

The plugins:

Within Gitlab, my .gitlab-ci.yml looks like

The Docker image that will be used to build your app

image: python:latest

Functions that should be executed before the build scripts is run

pages: stage: deploy only:

Also, when I run the "mkdocs serve" command with a terminal window of vscode and test the password protection, works fine. However, when loading it up Gitlab and using the image "python:latest" the password typed is not being accepted.

Screenshot 2022-10-10 092919

zerenxyz commented 2 years ago

I am also running into the same issue, where locally running mkdocs serve and testing the password works however for me with Github Pages the password wont work and console logs a net::ERR_ABORTED 404

CoinK0in commented 2 years ago

Hey,

With the same configuration as defined above by @preston3271? Can you try with a classic YAML format such as:

plugins:
  - <other plugin>:
      option1: value
  - search:
      separator: '[\s\|\.]+'
  - encryptcontent

Thanks for you feedback

zerenxyz commented 2 years ago

Hey,

With the same configuration as defined above by @preston3271? Can you try with a classic YAML format such as:

plugins:
  - <other plugin>:
      option1: value
  - search:
      separator: '[\s\|\.]+'
  - encryptcontent

Thanks for you feedback

This still shows in VSCode error image

I am still running into the issue where the password is only "valid" on some pages while "invalid password" on other pages for some reason

CoinK0in commented 2 years ago

@preston3271 @zerenxyz Could you provide me with your complete mkdocs.yaml file ? This plugins doesn't seem to have anything to do with your "blog" error.

The problem seems to be related to the "blog" mode of the insider version of material. Did you install the "insider" version of material with the "mkdocs-material-insiders" package ?

zerenxyz commented 2 years ago

@zerenxyz Could you provide me with your complete mkdocs.yaml file ? This plugins doesn't seem to have anything to do with your "blog" error.

The problem seems to be related to the "blog" mode of the insider version of material. Did you install the "insider" version of material with the "mkdocs-material-insiders" package ?

https://gist.github.com/zerenxyz/6099544a8998099679b660f8040c69ad

Here is a gist of the full mkdocs.yaml file, I edited out some information into generic text as it is part of private information but it is all the same as I have it

unverbuggt commented 2 years ago

Hi,

I was sponsoring squidfunk for two months, because without the privacy plugin from insiders risks are high to receive a GDPR warning letter from an attorney (at least were I live). I am not rich enough to keep sponsoring him, but I got the first version featuring the blog plugin and I was able to replicate the strange behaviour related to this plugin.

The problem seems to be that the blog pages aren't encrypted at all. Please check the page source at your blog pages to verify.

unverbuggt commented 2 years ago

This plugin works by encrypting the page.content of a theme. The blog plugin generates a blog post not by filling page.content, but rather filling its meta information into a special blog template (with page enumeration and other stuff). This circumvents the mechanism of this plugin to inject it's encrypted page template.

There currently is no easy way to solve this. One idea I have in mind is using the on_post_page event like the encrypted_something option does to encrypt md-content: [div, class] afterwards, but then we'd need to inject our encrypted page template somehow...

preston3271 commented 2 years ago

Well, okay, thanks for the insight, I was will a different angle.

On Tue, Oct 25, 2022 at 1:56 PM unverbuggt @.***> wrote:

This plugin works by encrypting the page.content of a theme. The blog plugin generates a blog post not by filling page.content, but rather filling its meta information into a special blog template (with page enumeration and other stuff). This circumvents the mechanism of this plugin to inject it's encrypted page template.

There currently is no easy way to solve this. One idea I have in mind is using the on_post_page event like the encrypted_something https://github.com/unverbuggt/mkdocs-encryptcontent-plugin#encrypt-something option does to encrypt md-content: [div, class] afterwards, but then we'd need to inject our encrypted page template somewhere...

— Reply to this email directly, view it on GitHub https://github.com/unverbuggt/mkdocs-encryptcontent-plugin/issues/38#issuecomment-1291065128, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFILMZ2VMY6AHB4QUW2IJDWFA3N5ANCNFSM6AAAAAARBOV3RA . You are receiving this because you were mentioned.Message ID: @.***>

-- Thank you.

Louis Preston Thornton III Software Engineer Proud Graduate Of Colorado Technical University

Cell Phone: (720) 879-2001 Voice Phone: (720) 254-1684 *Email: @. @.> Alternate Email: @. @.>*

unverbuggt commented 2 years ago

Please try the current development version, this patch should also encrypt the blog pages.

You need to configure the plugin like this (for material theme):

plugins:
  - blog
  - encryptcontent:
      global_password: '12345'
      remember_password: True
      session_storage: True
      encrypted_something:
        md-footer__inner: [nav, class] #Footer
        md-nav: [nav, class] #Menu and toc
      inject:
        md-content: [div, class]

Update: "md-nav" at encrypted_something works better for me than my first try "md-sidebar__inner"