├── .DS_Store ├── .env.template ├── .github ├── FUNDING.yml └── workflows │ ├── ci.yml │ ├── dependencies.yml │ ├── quality.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── Gemfile ├── LICENSE.txt ├── README.md ├── command_line_args.rb ├── python ├── api │ ├── __init__.py │ └── reddit_client.py ├── auth.py ├── ci ├── ci-config.yml ├── ci_runner │ ├── __init__.py │ ├── config.py │ ├── runner.py │ └── tasks.py ├── cli_archive.py ├── cli_args.py ├── cli_search.py ├── colored_logger.py ├── core │ ├── __init__.py │ ├── cache.py │ └── rate_limiter.py ├── filters.py ├── io_ops │ ├── __init__.py │ ├── archive_creators.py │ ├── archive_manager.py │ ├── archive_security.py │ ├── archive_verifier.py │ ├── file_manager.py │ ├── file_scanner.py │ ├── metadata_manager.py │ └── path_utils.py ├── main.py ├── optimized_search_demo.py ├── post_renderer.py ├── processing │ ├── __init__.py │ ├── content_converter.py │ └── url_processor.py ├── reddit_search.db ├── reddit_utils.py ├── requirements_scheduler_optimizations.txt ├── scheduler │ ├── __init__.py │ ├── cron_parser.py │ ├── state_manager.py │ ├── task_executor.py │ └── task_scheduler.py ├── scheduler_cli.py ├── scheduler_demo.py ├── scheduler_integration.py ├── scheduler_state.db ├── search │ ├── __init__.py │ ├── indexer.py │ ├── metadata_extractor.py │ ├── optimized_indexer.py │ ├── optimized_search_database.py │ ├── optimized_search_engine.py │ ├── search_database.py │ ├── search_engine.py │ └── tag_manager.py ├── settings.py ├── tests │ ├── __init__.py │ ├── test_archive_integration.py │ ├── test_archive_manager.py │ ├── test_auth.py │ ├── test_cli_args.py │ ├── test_content_indexer.py │ ├── test_cron_parser.py │ ├── test_filters.py │ ├── test_integration.py │ ├── test_main.py │ ├── test_metadata_extractor.py │ ├── test_post_renderer.py │ ├── test_reddit_utils.py │ ├── test_scheduler_optimizations.py │ ├── test_search_database.py │ ├── test_search_engine.py │ ├── test_search_integration.py │ ├── test_search_performance.py │ ├── test_settings.py │ ├── test_state_manager.py │ ├── test_tag_manager.py │ ├── test_task_scheduler.py │ └── test_url_fetcher.py └── url_fetcher.py ├── reddit_markdown.rb ├── requirements.txt ├── settings.json ├── settings.json.example └── timestamped_subs.rb /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.DS_Store -------------------------------------------------------------------------------- /.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.env.template -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: chauduyphanvu 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/dependencies.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.github/workflows/dependencies.yml -------------------------------------------------------------------------------- /.github/workflows/quality.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.github/workflows/quality.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/README.md -------------------------------------------------------------------------------- /command_line_args.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/command_line_args.rb -------------------------------------------------------------------------------- /python/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/api/__init__.py -------------------------------------------------------------------------------- /python/api/reddit_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/api/reddit_client.py -------------------------------------------------------------------------------- /python/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/auth.py -------------------------------------------------------------------------------- /python/ci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci -------------------------------------------------------------------------------- /python/ci-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci-config.yml -------------------------------------------------------------------------------- /python/ci_runner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci_runner/__init__.py -------------------------------------------------------------------------------- /python/ci_runner/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci_runner/config.py -------------------------------------------------------------------------------- /python/ci_runner/runner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci_runner/runner.py -------------------------------------------------------------------------------- /python/ci_runner/tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/ci_runner/tasks.py -------------------------------------------------------------------------------- /python/cli_archive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/cli_archive.py -------------------------------------------------------------------------------- /python/cli_args.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/cli_args.py -------------------------------------------------------------------------------- /python/cli_search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/cli_search.py -------------------------------------------------------------------------------- /python/colored_logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/colored_logger.py -------------------------------------------------------------------------------- /python/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/core/__init__.py -------------------------------------------------------------------------------- /python/core/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/core/cache.py -------------------------------------------------------------------------------- /python/core/rate_limiter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/core/rate_limiter.py -------------------------------------------------------------------------------- /python/filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/filters.py -------------------------------------------------------------------------------- /python/io_ops/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/__init__.py -------------------------------------------------------------------------------- /python/io_ops/archive_creators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/archive_creators.py -------------------------------------------------------------------------------- /python/io_ops/archive_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/archive_manager.py -------------------------------------------------------------------------------- /python/io_ops/archive_security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/archive_security.py -------------------------------------------------------------------------------- /python/io_ops/archive_verifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/archive_verifier.py -------------------------------------------------------------------------------- /python/io_ops/file_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/file_manager.py -------------------------------------------------------------------------------- /python/io_ops/file_scanner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/file_scanner.py -------------------------------------------------------------------------------- /python/io_ops/metadata_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/metadata_manager.py -------------------------------------------------------------------------------- /python/io_ops/path_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/io_ops/path_utils.py -------------------------------------------------------------------------------- /python/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/main.py -------------------------------------------------------------------------------- /python/optimized_search_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/optimized_search_demo.py -------------------------------------------------------------------------------- /python/post_renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/post_renderer.py -------------------------------------------------------------------------------- /python/processing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/processing/__init__.py -------------------------------------------------------------------------------- /python/processing/content_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/processing/content_converter.py -------------------------------------------------------------------------------- /python/processing/url_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/processing/url_processor.py -------------------------------------------------------------------------------- /python/reddit_search.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/reddit_search.db -------------------------------------------------------------------------------- /python/reddit_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/reddit_utils.py -------------------------------------------------------------------------------- /python/requirements_scheduler_optimizations.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/requirements_scheduler_optimizations.txt -------------------------------------------------------------------------------- /python/scheduler/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler/__init__.py -------------------------------------------------------------------------------- /python/scheduler/cron_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler/cron_parser.py -------------------------------------------------------------------------------- /python/scheduler/state_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler/state_manager.py -------------------------------------------------------------------------------- /python/scheduler/task_executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler/task_executor.py -------------------------------------------------------------------------------- /python/scheduler/task_scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler/task_scheduler.py -------------------------------------------------------------------------------- /python/scheduler_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler_cli.py -------------------------------------------------------------------------------- /python/scheduler_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler_demo.py -------------------------------------------------------------------------------- /python/scheduler_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler_integration.py -------------------------------------------------------------------------------- /python/scheduler_state.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/scheduler_state.db -------------------------------------------------------------------------------- /python/search/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/__init__.py -------------------------------------------------------------------------------- /python/search/indexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/indexer.py -------------------------------------------------------------------------------- /python/search/metadata_extractor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/metadata_extractor.py -------------------------------------------------------------------------------- /python/search/optimized_indexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/optimized_indexer.py -------------------------------------------------------------------------------- /python/search/optimized_search_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/optimized_search_database.py -------------------------------------------------------------------------------- /python/search/optimized_search_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/optimized_search_engine.py -------------------------------------------------------------------------------- /python/search/search_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/search_database.py -------------------------------------------------------------------------------- /python/search/search_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/search_engine.py -------------------------------------------------------------------------------- /python/search/tag_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/search/tag_manager.py -------------------------------------------------------------------------------- /python/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/settings.py -------------------------------------------------------------------------------- /python/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/__init__.py -------------------------------------------------------------------------------- /python/tests/test_archive_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_archive_integration.py -------------------------------------------------------------------------------- /python/tests/test_archive_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_archive_manager.py -------------------------------------------------------------------------------- /python/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_auth.py -------------------------------------------------------------------------------- /python/tests/test_cli_args.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_cli_args.py -------------------------------------------------------------------------------- /python/tests/test_content_indexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_content_indexer.py -------------------------------------------------------------------------------- /python/tests/test_cron_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_cron_parser.py -------------------------------------------------------------------------------- /python/tests/test_filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_filters.py -------------------------------------------------------------------------------- /python/tests/test_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_integration.py -------------------------------------------------------------------------------- /python/tests/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_main.py -------------------------------------------------------------------------------- /python/tests/test_metadata_extractor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_metadata_extractor.py -------------------------------------------------------------------------------- /python/tests/test_post_renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_post_renderer.py -------------------------------------------------------------------------------- /python/tests/test_reddit_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_reddit_utils.py -------------------------------------------------------------------------------- /python/tests/test_scheduler_optimizations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_scheduler_optimizations.py -------------------------------------------------------------------------------- /python/tests/test_search_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_search_database.py -------------------------------------------------------------------------------- /python/tests/test_search_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_search_engine.py -------------------------------------------------------------------------------- /python/tests/test_search_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_search_integration.py -------------------------------------------------------------------------------- /python/tests/test_search_performance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_search_performance.py -------------------------------------------------------------------------------- /python/tests/test_settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_settings.py -------------------------------------------------------------------------------- /python/tests/test_state_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_state_manager.py -------------------------------------------------------------------------------- /python/tests/test_tag_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_tag_manager.py -------------------------------------------------------------------------------- /python/tests/test_task_scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_task_scheduler.py -------------------------------------------------------------------------------- /python/tests/test_url_fetcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/tests/test_url_fetcher.py -------------------------------------------------------------------------------- /python/url_fetcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/python/url_fetcher.py -------------------------------------------------------------------------------- /reddit_markdown.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/reddit_markdown.rb -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/requirements.txt -------------------------------------------------------------------------------- /settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/settings.json -------------------------------------------------------------------------------- /settings.json.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/settings.json.example -------------------------------------------------------------------------------- /timestamped_subs.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chauduyphanvu/reddit-markdown/HEAD/timestamped_subs.rb --------------------------------------------------------------------------------