zulip/zerver/lib
akshatdalton 9c6d8d9d81 markdown: Add support to shorten GitHub links.
We add support to shorten links and test their shortening in
well-organized, clean manner that makes it trivial to extend the
GitHub approach for GitLab and perhaps other services.

We only shorten basic types of GitHub links (issue, PR, commit) that
fit a set of simple common patterns; the default behaviour of Autolink
is kept for everything else.

Logic added in frontend and backend Markdown Processor is identical.
This makes easy to extend the logic for other services like GitLab.

Fixes #11895.
2021-03-25 00:39:44 -07:00
..
markdown markdown: Add support to shorten GitHub links. 2021-03-25 00:39:44 -07:00
url_preview mypy: Correct typing.re imports to typing. 2021-03-17 18:41:46 -07:00
webhooks webhooks: Fix spelling of milliseconds. 2021-03-05 12:22:50 -08:00
__init__.py
actions.py custom profile fields: Rename "CHOICE" to "SELECT" in backend. 2021-03-24 12:54:51 -07:00
addressee.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
alert_words.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
attachments.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
avatar.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
avatar_hash.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_config.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_lib.py actions: Remove realm argument to internal_send_private_message. 2021-02-23 15:26:47 -08:00
bot_storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bulk_create.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
cache.py cache: Strengthen ignore_unhashable_lru_cache decorator type. 2021-02-15 17:05:28 -08:00
cache_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
camo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
ccache.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
context_managers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
create_user.py hotspots: Fix typos in function name and code comment. 2021-02-15 18:33:21 -08:00
data_types.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
db.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
dev_ldap_directory.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
digest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
display_recipient.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
domains.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
email_mirror.py requirements: Upgrade talon fork to 1.4.8. 2021-03-18 17:10:18 -07:00
email_mirror_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
email_notifications.py docs: Add a document explaining email/push notifications. 2021-03-05 15:24:25 -08:00
email_validation.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
emoji.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
error_notify.py actions: Remove realm argument to internal_send_stream_message. 2021-02-23 15:26:47 -08:00
event_schema.py event_schema: Add checker for restart event. 2021-03-23 12:16:20 -07:00
events.py event_schema: Add schema check for realm/deactivated event. 2021-03-23 12:16:16 -07:00
exceptions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
export.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
external_accounts.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
fix_unreads.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
generate_test_data.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
github.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
home.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
hotspots.py hotspots: Extract INTRO_HOTSPOTS from ALL_HOTSPOTS. 2021-02-26 15:02:48 -08:00
html_diff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
html_to_text.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
i18n.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
import_realm.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
initial_password.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
integrations.py integration: Add jotform integration. 2021-03-04 11:40:58 -08:00
logging_util.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
management.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mdiff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
message.py message: Record whether unread_msgs data is truncated. 2021-03-21 19:48:13 -07:00
migrate.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mobile_auth_otp.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
name_restrictions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
narrow.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
onboarding.py actions: Remove realm argument to internal_send_private_message. 2021-02-23 15:26:47 -08:00
outgoing_webhook.py outgoing_webhook: Simplify error handling logic. 2021-03-18 14:41:34 -07:00
presence.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
profile.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
push_notifications.py docs: Add a document explaining email/push notifications. 2021-03-05 15:24:25 -08:00
pysa.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
queue.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
rate_limiter.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_description.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_icon.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_logo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
redis_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
remote_server.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
request.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
response.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
rest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
retention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
send_email.py email: Set an envelope-from which may be different from the From: field. 2021-02-24 17:32:28 -08:00
server_initialization.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
sessions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
soft_deactivation.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
sqlalchemy_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
statistics.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stream_subscription.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stream_topic.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
streams.py streams: Show error according to create_stream_policy on failure. 2021-03-24 12:33:58 -07:00
subdomains.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_classes.py email: Set an envelope-from which may be different from the From: field. 2021-02-24 17:32:28 -08:00
test_console_output.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_data.source.txt docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
test_fixtures.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_helpers.py refactor: Integrate POSTRequestMock into HostRequestMock. 2021-03-03 21:52:05 -08:00
test_runner.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
tex.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
thumbnail.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
timeout.py timeout: Remove unnecessary varargs support. 2021-02-15 17:05:28 -08:00
timestamp.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
timezone.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
topic.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
topic_mutes.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
transfer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
type_debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
types.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
unminify.py unminify: Fix lookup if source map does not exist in disk. 2021-03-16 14:46:18 -07:00
upload.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
url_encoding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
user_agent.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
user_groups.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
user_status.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
users.py custom profile fields: Rename "CHOICE" to "SELECT" in backend. 2021-03-24 12:54:51 -07:00
utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
validator.py custom profile fields: Rename "SELECT" field validator. 2021-03-24 12:54:51 -07:00
widget.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zcommand.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zephyr.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00