A declarative website generator designed for high-quality websites, with a focus on easy maintenance and localization.

Overview

Grow

Circle CI Downloads PyPi Code Coverage

Grow is a declarative tool for rapidly building, launching, and maintaining high-quality static HTML.

  • Easy installation
  • Jinja template engine
  • Content managed in YAML and JSON files
  • Data-binding between content and templates
  • Configuration-based site architecture
  • Easy URL changes
  • Flexible internationalization and translation
  • Integration with external CMSes
  • Integration with Google Sheets
  • Fast builds

Quick start

One time only: install Pipenv and libyaml.

# On Mac with Homebrew (https://brew.sh/).
brew install pipenv libyaml

# On Ubuntu.
sudo apt install -y pipenv libyaml-dev

# On other distributions.
sudo apt install python-pip; pip install pipenv

Next: install and run Grow using a starter.

git clone https://github.com/grow/starter
cd starter
pipenv install
pipenv run grow install
pipenv run grow run

Documentation

Visit https://grow.dev to read the documentation.

Comments
  • Allow partial overriding of nested YAML content

    Allow partial overriding of nested YAML content

    A section of an example YAML file:

    sections:
      header:
        text@: "Some header text"
      promo:
        heading@: "Heading"
    

    The above YAML is used in the default locale (en_US). If in the en_IN locale I want to override just the promo section, using the code below would override the whole sections object:

    
    ---
    $locale: en_IN
      sections:
        promo:
          heading@: "New heading"
    

    Obviously the desired outcome is that we only affect the promo subsection.

    /cc @meizon

    opened by dcgauld 22
  • Refactor `Catalogs.extract()` to implement more consistent behaviour

    Refactor `Catalogs.extract()` to implement more consistent behaviour

    Fixes #204, #157 & #206.

    Pretty much by definition this is a breaking change — see #204 and the aim & the included tests for details of cases I’ve covered. Not sure the best way to communicate this to users.

    Note that in this version /data/ isn’t treated as a special directory anymore.

    I’ve tested this on a very large project I work on and it does what I’d expect:

    • Removes unnecessary translations (because of #157)
    • No longer extracts tagged terms in ‘global’ locations (i.e. where no document part, document or collection locale can be determined) for all locales defined in the pod: just for those locales in podspec.yaml

    This last point caused some work for us: we had a “globals.yaml” file which assumed everything was relevant to every locale (which was wrong: not every locale used those) and hence didn’t declare any locales… which worked until now. Solved by either listing all relevant locales in that file, or listing them all in podspec.yaml (the list there only contained primary locales, which might be better defined at collection level).

    Note: Would appreciate if people could test on some other projects.

    I’ll try a few others of ours while @jeremydw is checking out the code.

    opened by stucox 15
  • metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

    update grow to 0.2.8

    OS Distributor ID: LinuxMint Description: Linux Mint 18.1 Serena Release: 18.1

    Python 2.7.12

    Got error about pyOpenssl, then upgrade it sudo pip install -U pyopenssl

    then grow run and

    Warning: libyaml missing, using slower yaml parser. Traceback (most recent call last): File "/usr/local/bin/grow", line 42, in from grow.common import ca_certs_locater File "/usr/local/lib/python2.7/dist-packages/grow/init.py", line 12, in from .pods.pods import Pod File "/usr/local/lib/python2.7/dist-packages/grow/pods/pods.py", line 19, in from grow.preprocessors import preprocessors File "/usr/local/lib/python2.7/dist-packages/grow/preprocessors/preprocessors.py", line 1, in from . import blogger File "/usr/local/lib/python2.7/dist-packages/grow/preprocessors/blogger.py", line 6, in from protorpc import messages File "/usr/local/lib/python2.7/dist-packages/protorpc/messages.py", line 1146, in class Field(six.with_metaclass(_FieldMeta, object)): TypeError: Error when calling the metaclass bases metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

    Thank you.

    bug 
    opened by radiopapus 14
  • Travis build is stalled and no output produced when using grow 0.2.3

    Travis build is stalled and no output produced when using grow 0.2.3

    Production build using Grow 0.2.3 in Travis CI fails with the following error: "No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself." The actual "building" doesn't kick off.

    Production build: https://travis-ci.org/ampproject/docs/builds/267810002

    I set the build to grow version to 0.2.2 and Travis build succeeds.

    bug 
    opened by ghost 14
  • Support for python 3

    Support for python 3

    I can only run grow using python 2 which I don't want as I want unicode support in URI. For python 3 I keep getting when I run pip install grow

    Collecting translitcodec==0.3 (from grow)
      Using cached translitcodec-0.3.tar.gz
        Complete output from command python setup.py egg_info:
        running egg_info
        creating pip-egg-info/translitcodec.egg-info
        writing top-level names to pip-egg-info/translitcodec.egg-info/top_level.txt
        writing pip-egg-info/translitcodec.egg-info/PKG-INFO
        Traceback (most recent call last):
          File "<string>", line 20, in <module>
          File "/tmp/pip-build-1f5sae3p/translitcodec/setup.py", line 33, in <module>
            'Topic :: Utilities',
          File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
            dist.run_commands()
          File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
            self.run_command(cmd)
          File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
            cmd_obj.run()
          File "<string>", line 14, in replacement_run
          File "/usr/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 388, in write_pkg_info
            metadata.write_pkg_info(cmd.egg_info)
          File "/usr/lib/python3.5/distutils/dist.py", line 1107, in write_pkg_info
            self.write_pkg_file(pkg_info)
          File "/usr/lib/python3.5/distutils/dist.py", line 1128, in write_pkg_file
            long_desc = rfc822_escape(self.get_long_description())
          File "/usr/lib/python3.5/distutils/util.py", line 471, in rfc822_escape
            lines = header.split('\n')
        TypeError: a bytes-like object is required, not 'str'
    
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-1f5sae3p/translitcodec
    

    Doesn't grow support python 3 ?

    I'm running Arch Linux 64bit, Python 3.5.0 .

    major feature 
    opened by panchtatvam 14
  • Add ability to configure trailing slash redirect behavior

    Add ability to configure trailing slash redirect behavior

    Here's a pull request that's an alternative implementation to #65.

    A few high-level notes:

    • I realized that Grow already has a way to specify whether a resource should be served at a path with a trailing slash or not. This configuration is specified in a content file's frontmatter or blueprint. Here's an example: https://github.com/jeremydw/grow-redirect-slashes-demo/blob/master/content/pages/about.html – this makes the problem in #65 much more about how Grow configures trailing slash behavior for object stores rather than how Grow builds filesets.
    • When a pod is deployed, we should follow this configuration as best we can. This means for object store deployments (S3 and GCS) – ones that allow objects and directories to share the same basename – we can deploy resources with a configuration following exactly what the user has specified. (Local deployments, where objects and directories cannot share the same name, use the "suffix" configuration.)
    • In the current version of Grow, there is no way for the developer to specify trailing slash behavior for object store deployments.

    This patch adds a way for the developer to control trailing slash behavior, independently of how resources are built by Grow. This matches werkzeug's strict_slashes parameter (http://werkzeug.pocoo.org/docs/0.10/routing/#maps-rules-and-adapters) or Django's APPEND_SLASH (https://docs.djangoproject.com/en/1.7/ref/settings/#append-slash).

    In this patch, when a developer configures an object store deployment with redirect_trailing_slashes: true – any "leaf" resource (that is, any resource whose path doesn't end in a trailing slash) will be redirected using the object store's built-in redirect rule (for GCS, this redirects to $PATH/$MAIN_PAGE_SUFFIX). redirect_trailing_slashes: true is the current default behavior of Grow.

    If a developer specifies redirect_trailing_slashes: false – resources will be deployed to the object store exactly as they're specified in the pod's configuration. This means when a user visits a path /foo, that resource will only be served if it exists. /foo/ causes a 404, as does /foo/index.html (for example).

    Here's a sample pod that demonstrates this configuration: https://github.com/jeremydw/grow-redirect-slashes-demo

    With redirect_trailing_slashes: false (new behavior): http://slashes-off.growlaunches.com/about-us (serves) http://slashes-off.growlaunches.com/about-us/nested (serves) http://slashes-off.growlaunches.com/about-us/ (404s) http://slashes-off.growlaunches.com/about-us/index.html (404s)

    With redirect_trailing_slashes: true (current/default behavior): http://slashes-off.growlaunches.com/about-us (redirects) http://slashes-off.growlaunches.com/about-us/ (serves) http://slashes-off.growlaunches.com/about-us/index.html (serves)

    @vitorio – sorry for sitting on this so long, but I wanted to think this through, and I knew that we already had a way to specify whether or not a path should have a trailing slash or not. This configuration format matches Jinja2's and Django's configuration options, which I'm happy about.

    What do you think? Does this meet your needs? Thanks!

    opened by jeremydw 13
  • Add Budou custom filter

    Add Budou custom filter

    It would be great if we can add Budou as a custom filter in order to provide organized line breaks for CJK websites. Budou is a simple python script, so migration should go smoothly. https://github.com/google/budou Perhaps it's better to add caching functionality to Budou before we proceed to the migration.

    opened by tushuhei 11
  • Implement builtin support for partials

    Implement builtin support for partials

    There are several ways folks currently implement partials (templates, data, styles). We should spec out and implement a canonical way for folks to use partials to build pages.

    opened by jeremydw 11
  • I'm trying to install grow but I am getting this error

    I'm trying to install grow but I am getting this error

    curl https://install.growsdk.org | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 377 100 377 0 0 1861 0 --:--:-- --:--:-- --:--:-- 1866 File "/tmp/tmp.W3ZNMXQxY0/install_growsdk.py", line 36 print text.format(*args, **{ ^ SyntaxError: invalid syntax

    Does anyone experienced this kind of error?

    opened by ionutindreica 10
  • Insert partial support inside content files

    Insert partial support inside content files

    Say there's /about.html document and much-much code, and to clear it up & maintainable I want to move part of html-code & break that to small partials to be included when/where needed (into content pages). Things like {% include 'path/to/partial.html' %} which fork well in template documents don't work within content .md/.html files. Is that possible at all? Please help dummy

    opened by NetLancer 10
  • Cli, Grow command unknown

    Cli, Grow command unknown

    fish: Unknown command 'grow' After using the curl command to install the next step is to run grow I get the above. Updated from 2.7 to newest version of Python still the same.

    opened by jel111 9
  • chore(deps): bump setuptools from 60.5.0 to 65.5.1

    chore(deps): bump setuptools from 60.5.0 to 65.5.1

    Bumps setuptools from 60.5.0 to 65.5.1.

    Release notes

    Sourced from setuptools's releases.

    v65.5.1

    No release notes provided.

    v65.5.0

    No release notes provided.

    v65.4.1

    No release notes provided.

    v65.4.0

    No release notes provided.

    v65.3.0

    No release notes provided.

    v65.2.0

    No release notes provided.

    v65.1.1

    No release notes provided.

    v65.1.0

    No release notes provided.

    v65.0.2

    No release notes provided.

    v65.0.1

    No release notes provided.

    v65.0.0

    No release notes provided.

    v64.0.3

    No release notes provided.

    v64.0.2

    No release notes provided.

    v64.0.1

    No release notes provided.

    v64.0.0

    No release notes provided.

    v63.4.3

    No release notes provided.

    v63.4.2

    No release notes provided.

    ... (truncated)

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    • #3613: Fixed encoding errors in expand.StaticModule when system default encoding doesn't match expectations for source files.
    • #3617: Merge with pypa/distutils@6852b20 including fix for pypa/distutils#181.

    v65.4.0

    Changes ^^^^^^^

    v65.3.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • chore(deps): bump certifi from 2020.4.5.2 to 2022.12.7

    chore(deps): bump certifi from 2020.4.5.2 to 2022.12.7

    Bumps certifi from 2020.4.5.2 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /grow/ui

    chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /grow/ui

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /grow/ui

    chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /grow/ui

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • chore(deps): bump protobuf from 3.19.3 to 3.19.5

    chore(deps): bump protobuf from 3.19.3 to 3.19.5

    Bumps protobuf from 3.19.3 to 3.19.5.

    Release notes

    Sourced from protobuf's releases.

    Protocol Buffers v3.19.5

    C++

    Protocol Buffers v3.19.4

    Python

    • Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)

    Ruby

    • Fixed a data loss bug that could occur when the number of optional fields in a message is an exact multiple of 32. (#9440).

    PHP

    • Fixed a data loss bug that could occur when the number of optional fields in a message is an exact multiple of 32. (#9440).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • chore(deps): bump terser from 5.10.0 to 5.14.2 in /grow/ui

    chore(deps): bump terser from 5.10.0 to 5.14.2 in /grow/ui

    Bumps terser from 5.10.0 to 5.14.2.

    Changelog

    Sourced from terser's changelog.

    v5.14.2

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    • Source maps improvements (#1211)
    • Performance improvements in long property access evaluation (#1213)

    v5.14.1

    • keep_numbers option added to TypeScript defs (#1208)
    • Fixed parsing of nested template strings (#1204)

    v5.14.0

    • Switched to @​jridgewell/source-map for sourcemap generation (#1190, #1181)
    • Fixed source maps with non-terminated segments (#1106)
    • Enabled typescript types to be imported from the package (#1194)
    • Extra DOM props have been added (#1191)
    • Delete the AST while generating code, as a means to save RAM

    v5.13.1

    • Removed self-assignments (varname=varname) (closes #1081)
    • Separated inlining code (for inlining things into references, or removing IIFEs)
    • Allow multiple identifiers with the same name in var destructuring (eg var { a, a } = x) (#1176)

    v5.13.0

    • All calls to eval() were removed (#1171, #1184)
    • source-map was updated to 0.8.0-beta.0 (#1164)
    • NavigatorUAData was added to domprops to avoid property mangling (#1166)

    v5.12.1

    • Fixed an issue with function definitions inside blocks (#1155)
    • Fixed parens of new in some situations (closes #1159)

    v5.12.0

    • TERSER_DEBUG_DIR environment variable
    • @​copyright comments are now preserved with the comments="some" option (#1153)

    v5.11.0

    • Unicode code point escapes (\u{abcde}) are not emitted inside RegExp literals anymore (#1147)
    • acorn is now a regular dependency
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v2.2.3)
Owner
Grow
Grow is a fresh, declarative static site generator for rapidly building content-driven microsites.
Grow
A static website and blog generator

Nikola, a Static Site and Blog Generator In goes content, out comes a website, ready to deploy. Why Static Websites? Static websites are safer, use fe

Nikola, a static site generator 2.4k Jan 5, 2023
A Python Static Website Generator

Version 0.8.9 Overview Hyde starter kit by merlinrebrovic is a really nice way to get started with hyde. Hyde layout for bootstrap by auzigog is also

Hyde - Static Website Generator 1.6k Jan 1, 2023
a static website generator to make beautiful customizable pictures galleries that tell a story

Prosopopee Prosopopee. Static site generator for your story. Make beautiful customizable pictures galleries that tell a story using a static website g

Bram 259 Dec 19, 2022
A static website generator for people who enjoy the simpler things in life.

A static website generator for people who enjoy the simpler things in life.

Darren Mulholland 93 Dec 22, 2022
Simple, lightweight, and magic-free static site/blog generator for Python coders

makesite.py Take full control of your static website/blog generation by writing your own simple, lightweight, and magic-free static site generator in

Sunaina Pai 1.7k Jan 1, 2023
Static site generator that supports Markdown and reST syntax. Powered by Python.

Pelican Pelican is a static site generator, written in Python. Write content in reStructuredText or Markdown using your editor of choice Includes a si

Pelican dev team 11.3k Jan 4, 2023
Static site generator for designers. Uses Python and Django templates.

News Cactus 3 is out! We're happy to announce Cactus 3. It brings a set of great new features like asset fingerprinting, an asset pipeline, pretty url

null 3.4k Jan 1, 2023
A simple static site generator with deployment to S3/Cloudfront.

Stasis A simple static site generator with deployment to S3/Cloudfront. Features Stasis is a static website generator written in Python, using Pandoc

Scott Czepiel 56 Sep 29, 2022
AutoLoader is a plugin for Pelican, a static site generator written in Python.

AutoLoader AutoLoader is a plugin for Pelican, a static site generator written in Python. AutoLoader is designed to autoload the other Pelican plugins

null 2 Nov 7, 2022
Kaktos is a python static site generator

Python static site generator κάκτος Kaktos is a python static site generator. The idea is create a simple static site generator for people that don't

Paulo Coutinho 4 Sep 21, 2022
barely is a lightweight, but highly extensible static site generator written in pure python.

barely is a lightweight, but highly extensible static site generator. Explore the docs » Quickstart · See available Plugins · Report Bug · Request Fea

null 40 Dec 1, 2022
A python-based static site generator for setting up a CV/Resume site

ezcv A python-based static site generator for setting up a CV/Resume site Table of Contents What does ezcv do? Features & Roadmap Why should I use ezc

Kieran Wood 5 Oct 25, 2022
Hobby Project. A Python Library to create and generate static web pages using just python.

PyWeb ??️ ?? Current Release: 0.1 A Hobby Project ?? PyWeb is a small Library to generate customized static web pages using python. Aimed for new deve

Abhinav Sinha 2 Nov 18, 2021
Fully Automated YouTube Channel ▶️with Added Extra Features.

Fully Automated Youtube Channel ▒█▀▀█ █▀▀█ ▀▀█▀▀ ▀▀█▀▀ █░░█ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀▄ █░░█ ░░█░░ ░▒█░░ █░░█ █▀▀▄ █▀▀ █▄▄▀ ▒█▄▄█ ▀▀▀▀ ░░▀░░ ░▒█░░ ░▀▀▀ ▀▀▀░

sam-sepiol 249 Jan 2, 2023
Ella is a CMS based on Python web framework Django with a main focus on high-traffic news websites and Internet magazines.

Ella CMS Ella is opensource CMS based on Django framework, designed for flexibility. It is composed from several modules: Ella core is the main module

null 295 Oct 16, 2022
Automated Machine Learning Pipeline for tabular data. Designed for predictive maintenance applications, failure identification, failure prediction, condition monitoring, etc.

Automated Machine Learning Pipeline for tabular data. Designed for predictive maintenance applications, failure identification, failure prediction, condition monitoring, etc.

Amplo 10 May 15, 2022
An all-inclusive Python framework for the Riot Games League of Legends API. We focus on making the data easy and fun to work with, while providing all the tools necessary to create a website or do data analysis.

Cassiopeia A Python adaptation of the Riot Games League of Legends API (https://developer.riotgames.com/). Cassiopeia is the sister library to Orianna

Meraki Analytics 473 Jan 7, 2023
This is a simple website crawler which asks for a website link from the user to crawl and find specific data from the given website address.

This is a simple website crawler which asks for a website link from the user to crawl and find specific data from the given website address.

Faisal Ahmed 1 Jan 10, 2022
Firebase Admin Console is a centralized platform for easy viewing and maintenance of Firestore database, the back-end API is a Python Flask app.

Firebase Admin Console is a centralized platform for easy viewing and maintenance of Firestore database, the back-end API is a Python Flask app. A starting template for developers to customize, build, and even deploy the desired admin console for their DB.

Daqi Chen 1 Sep 10, 2022
Filters to block and remove copycat-websites from DuckDuckGo and Google. Specific to dev websites like StackOverflow or GitHub.

uBlock-Origin-dev-filter Filters to block and remove copycat-websites from DuckDuckGo and Google. Specific to dev websites like StackOverflow or GitHu

null 1.7k Dec 30, 2022