<commit_before>root: ./

structure: 
  readme: README.md
  summary: SUMMARY.md

redirects: 
  other/events : ./tutorials/advanced-development/promise-events/promise-events.md
  other/more-modules : ./tutorials/core-concepts/modules/more-modules.md
  other/nunjucks-filters : ./tutorials/core-concepts/working-with-templates/nunjucks-filters.md
  tutorials/howtos/trim-index : ./tutorials/advanced-development/advanced-pieces-topics/next-previous-links.md
  tutorials/howtos/hide-index-page : ./tutorials/advanced-development/advanced-pieces-topics/next-previous-links.md
  tutorials/howtos/what-to-do-when-you-are-locked-out-of-apostrophe : ./tutorials/core-concepts/users-and-permissions/user-login-and-password.md
  tutorials/howtos/apostrophe-i18n-config : ./tutorials/advanced-development/internationalization-localization/apostrophe-i18n-config.md
  tutorials/howtos/nested-module-folders : ./tutorials/core-concepts/modules/nested-module-folders.md
  technical-overviews/technical-overview : ./tutorials/core-concepts/technical-overview.md
  technical-overviews/how-apostrophe-starts-up : ./tutorials/advanced-development/how-apostrophe-starts-up.md
  technical-overviews/how-apostrophe-handles-requests : ./tutorials/advanced-development/how-apostrophe-handles-requests.md
  technical-overviews/how-apostrophe-modules-are-structured : ./tutorials/core-concepts/modules/how-apostrophe-modules-are-structured.md
  core-concepts/reusable-content-pieces/children-joins : ./tutorials/core-concepts/reusable-content-pieces/joins.md
  tutorials/howtos/storing-images-and-files-in-amazon-s3 : ./tutorials/devops/cloud/storing-images-and-files-in-amazon-s3.md
  tutorials/howtos/storing-images-and-files-in-azure-blob-storage : ./tutorials/devops/cloud/storing-images-and-files-in-azure-blob-storage.md
  tutorials/howtos/storing-images-and-files-in-google-cloud-storage : ./tutorials/devops/cloud/storing-images-and-files-in-google-cloud-storage.md
  tutorials/howtos/migration : ./tutorials/devops/migration.md
  tutorials/howtos/linode : ./tutorials/devops/deployment/linode.md
  tutorials/howtos/deploying-apostrophe-in-the-cloud-with-heroku : ./tutorials/devops/deployment/deploying-apostrophe-in-the-cloud-with-heroku.md
  tutorials/howtos/deploying-apostrophe-in-the-cloud-with-aws : ./tutorials/devops/deployment/deploying-apostrophe-in-the-cloud-with-aws.md
  tutorials/howtos/multicore : ./tutorials/devops/multicore.md
  tutorials/howtos/windows : ./tutorials/devops/windows.md
  tutorials/howtos/docker :  ./tutorials/devops/docker.md
  tutorials/howtos/replica-set : ./tutorials/advanced-development/database/replica-set.md
  tutorials/howtos/storing-sessions-in-redis : ./tutorials/devops/storing-sessions-in-redis.md
  tutorials/howtos/next-and-previous-pieces : ./tutorials/core-concepts/reusable-content-pieces/browsing-directory-of-pieces.md
  tutorials/howtos/adding-fields-to-all-pieces : ./tutorials/advanced-development/advanced-pieces-topics/adding-fields-to-all-pieces.md
  tutorials/howtos/lean-frontend-assets : ./tutorials/core-concepts/front-end-assets/lean-frontend-assets.md
  tutorials/howtos/adding-new-batch-operations : ./tutorials/advanced-development/advanced-pieces-topics/adding-new-batch-operations.md
  tutorials/howtos/extending-the-pieces-editor-modal : ./tutorials/advanced-development/advanced-pieces-topics/extending-the-pieces-editor-modal.md
  tutorials/howtos/children-and-joins : ./tutorials/advanced-development/advanced-pages-topics/children-and-joins.md
  tutorials/howtos/responsive-images : ./tutorials/core-concepts/front-end-assets/pushing-assets.md
  tutorials/getting-started/page-templates : ./tutorials/core-concepts/pages-and-navigation/page-templates.md
  tutorials/getting-started/editing-page-templates : ./tutorials/core-concepts/pages-and-navigation/page-templates.md
  tutorials/getting-started/adding-editable-content-to-pages : ./tutorials/core-concepts/pages-and-navigation/widgets-singletons-and-areas.md
  tutorials/getting-started/building-navigation : ./tutorials/core-concepts/pages-and-navigation/connecting-pages.md
  tutorials/getting-started/custom-widgets : ./tutorials/core-concepts/editable-content-on-pages/custom-widgets.md<commit_msg>more...<commit_after>root: ./

structure: 
  readme: README.md
  summary: SUMMARY.md

redirects: 
  other/events : ./tutorials/advanced-development/promise-events/promise-events.md
  other/more-modules : ./tutorials/core-concepts/modules/more-modules.md
  other/nunjucks-filters : ./tutorials/core-concepts/working-with-templates/nunjucks-filters.md
  tutorials/howtos/trim-index : ./tutorials/advanced-development/advanced-pieces-topics/next-previous-links.md
  tutorials/howtos/hide-index-page : ./tutorials/advanced-development/advanced-pieces-topics/next-previous-links.md
  tutorials/howtos/what-to-do-when-you-are-locked-out-of-apostrophe : ./tutorials/core-concepts/users-and-permissions/user-login-and-password.md
  tutorials/howtos/apostrophe-i18n-config : ./tutorials/advanced-development/internationalization-localization/apostrophe-i18n-config.md
  tutorials/howtos/nested-module-folders : ./tutorials/core-concepts/modules/nested-module-folders.md
  technical-overviews/technical-overview : ./tutorials/core-concepts/technical-overview.md
  technical-overviews/how-apostrophe-starts-up : ./tutorials/advanced-development/how-apostrophe-starts-up.md
  technical-overviews/how-apostrophe-handles-requests : ./tutorials/advanced-development/how-apostrophe-handles-requests.md
  technical-overviews/how-apostrophe-modules-are-structured : ./tutorials/core-concepts/modules/how-apostrophe-modules-are-structured.md
  core-concepts/reusable-content-pieces/children-joins : ./tutorials/core-concepts/reusable-content-pieces/joins.md
  tutorials/howtos/storing-images-and-files-in-amazon-s3 : ./tutorials/devops/cloud/storing-images-and-files-in-amazon-s3.md
  tutorials/howtos/storing-images-and-files-in-azure-blob-storage : ./tutorials/devops/cloud/storing-images-and-files-in-azure-blob-storage.md
  tutorials/howtos/storing-images-and-files-in-google-cloud-storage : ./tutorials/devops/cloud/storing-images-and-files-in-google-cloud-storage.md
  tutorials/howtos/migration : ./tutorials/devops/migration.md
  tutorials/howtos/linode : ./tutorials/devops/deployment/linode.md
  tutorials/howtos/deploying-apostrophe-in-the-cloud-with-heroku : ./tutorials/devops/deployment/deploying-apostrophe-in-the-cloud-with-heroku.md
  tutorials/howtos/deploying-apostrophe-in-the-cloud-with-aws : ./tutorials/devops/deployment/deploying-apostrophe-in-the-cloud-with-aws.md
  tutorials/howtos/multicore : ./tutorials/devops/multicore.md
  tutorials/howtos/windows : ./tutorials/devops/windows.md
  tutorials/howtos/docker :  ./tutorials/devops/docker.md
  tutorials/howtos/replica-set : ./tutorials/advanced-development/database/replica-set.md
  tutorials/howtos/storing-sessions-in-redis : ./tutorials/devops/storing-sessions-in-redis.md
  tutorials/howtos/next-and-previous-pieces : ./tutorials/core-concepts/reusable-content-pieces/browsing-directory-of-pieces.md
  tutorials/howtos/adding-fields-to-all-pieces : ./tutorials/advanced-development/advanced-pieces-topics/adding-fields-to-all-pieces.md
  tutorials/howtos/lean-frontend-assets : ./tutorials/core-concepts/front-end-assets/lean-frontend-assets.md
  tutorials/howtos/adding-new-batch-operations : ./tutorials/advanced-development/advanced-pieces-topics/adding-new-batch-operations.md
  tutorials/howtos/extending-the-pieces-editor-modal : ./tutorials/advanced-development/advanced-pieces-topics/extending-the-pieces-editor-modal.md
  tutorials/howtos/children-and-joins : ./tutorials/advanced-development/advanced-pages-topics/children-and-joins.md
  tutorials/howtos/responsive-images : ./tutorials/core-concepts/front-end-assets/pushing-assets.md
  tutorials/getting-started/page-templates : ./tutorials/core-concepts/pages-and-navigation/page-templates.md
  tutorials/getting-started/editing-page-templates : ./tutorials/core-concepts/pages-and-navigation/page-templates.md
  tutorials/getting-started/adding-editable-content-to-pages : ./tutorials/core-concepts/pages-and-navigation/widgets-singletons-and-areas.md
  tutorials/getting-started/building-navigation : ./tutorials/core-concepts/pages-and-navigation/connecting-pages.md
  tutorials/getting-started/custom-widgets : ./tutorials/core-concepts/editable-content-on-pages/custom-widgets.md
  tutorials/getting-started/global : ./tutorials/core-concepts/global/README.md
  tutorials/getting-started/pushing-assets : ./tutorials/core-concepts/front-end-assets/pushing-assets.md
  tutorials/getting-started/nunjucks-helper-functions : ./tutorials/core-concepts/working-with-templates/nunjucks-helper-functions.md
  tutorials/getting-started/layout-widgets : ./tutorials/core-concepts/editable-content-on-pages/layout-widgets.md
  tutorials/getting-started/reusable-content-with-pieces : ./tutorials/core-concepts/reusable-content-pieces/reusable-content-with-pieces.md
  tutorials/getting-started/settings : ./tutorials/core-concepts/global-settings/settings.md
  tutorials/getting-started/global : ./tutorials/core-concepts/global-settings/global.md
  tutorials/getting-started/schema-guide : ./tutorials/schema-guide/schema-guide.md
  tutorials/intermediate/README : ./tutorials/advanced-development/README.md
  tutorials/intermediate/permissions : ./tutorials/core-concepts/users-and-permissions/users-and-groups.md
  tutorials/intermediate/custom-schema-fields-for-pages : ./tutorials/advanced-development/advanced-pages-topics/custom-schema-fields-for-pages.md
  tutorials/howtos/model-layer : ./tutorials/advanced-development/database/model-layer.md
  tutorials/intermediate/cursors : ./tutorials/advanced-development/database/cursors.md
  tutorials/intermediate/forms : ./tutorials/howtos/forms.md
  tutorials/howtos/notFoundPage : ./tutorials/howtos/how-do-i-create-a-404-not-found-page.md
  tutorials/howtos/notfoundpage : ./tutorials/howtos/how-do-i-create-a-404-not-found-page.md
  tutorials/intermediate/command-line-tasks : ./tutorials/advanced-development/apostrophe-cli/command-line-tasks.md
  tutorials/intermediate/accessing-the-database-directly : ./tutorials/advanced-development/database/accessing-the-database-directly.md
  tutorials/intermediate/custom-schema-field-types : ./tutorials/intermediate/custom-schema-field-types.md
  tutorials/intermediate/deployment : ./tutorials/devops/deployment/README.md
  tutorials/howtos/email : ./tutorials/devops/email.md
  tutorials/howtos/thumbnails-and-areas-of-child-pages : ./tutorials/core-concepts/working-with-templates/thumbnails-and-areas-of-child-pages.md
  tutorials/howtos/password-reset : ./tutorials/core-concepts/users-and-permissions/user-login-and-password.md
  tutorials/howtos/search : ./tutorials/core-concepts/apostrophe-search/README.md
  tutorials/howtos/redirecting-after-login : ./tutorials/core-concepts//users-and-permissions/user-login-and-password.md
{'fraction_non_alphanumeric': 0.13874464790015487, 'fraction_numerical': 0.001639792292976223, 'mean_word_length': 4.670454545454546, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '172670', 'n_tokens_mistral': 4124, 'n_tokens_neox': 3894, 'n_words': 211}