├── .foreman ├── .gitignore ├── .rspec ├── .ruby-version ├── .slugignore ├── Gemfile ├── Gemfile.lock ├── Gruntfile.js ├── Guardfile ├── LICENSE.md ├── Procfile ├── README.md ├── Rakefile ├── app ├── assets │ ├── images │ │ ├── .keep │ │ ├── 1px_empty.png │ │ └── article_share_1.png │ ├── javascripts │ │ ├── admin │ │ │ ├── JSXTransformer.js │ │ │ ├── add_csrf_header.js │ │ │ ├── admin.js │ │ │ ├── bootstrap-markdown.js │ │ │ ├── ccount.js │ │ │ ├── d3.v3.js │ │ │ ├── debug.js.coffee │ │ │ ├── email_newsletter.js.coffee │ │ │ ├── formats.js.coffee │ │ │ ├── highlightify_current_nav_link.js │ │ │ ├── letters.js.coffee │ │ │ ├── links.js.coffee │ │ │ ├── live_edit_contenteditable.js │ │ │ ├── localstorage_graf.js │ │ │ ├── markdown.js │ │ │ ├── max_char_count.js │ │ │ ├── md5_graf.js │ │ │ ├── newsletters.js.coffee │ │ │ ├── photos.js.coffee │ │ │ ├── pjax_loader.js │ │ │ ├── post_threads.js.coffee │ │ │ ├── post_time_now_button.js │ │ │ ├── posts.js.coffee │ │ │ ├── public.js.coffee │ │ │ ├── quizbuilder_standalone.js │ │ │ ├── ractive.js │ │ │ ├── ractive_2_-decorators-sortable.js │ │ │ ├── rangy-test.js │ │ │ ├── ratings.js.coffee │ │ │ ├── rattle_can.js.coffee │ │ │ ├── react.js │ │ │ ├── search.js.coffee │ │ │ ├── sessions.js.coffee │ │ │ ├── social_in_post_admin.js │ │ │ ├── tags.js.coffee │ │ │ ├── underscore.js │ │ │ ├── user_deploy_api.js.coffee │ │ │ └── users.js.coffee │ │ ├── admin_components │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── annotation_2.js │ │ │ ├── app.js │ │ │ ├── audioplayer_1.js │ │ │ ├── bq_pageviews.js │ │ │ ├── build_uuid.js │ │ │ ├── cookie_helpers.js │ │ │ ├── cookie_js_lib.js │ │ │ ├── email-signup.js │ │ │ ├── email_modal_v1.js │ │ │ ├── exp_scroll_events.js │ │ │ ├── exp_social_id.js │ │ │ ├── fb-inline-share.js │ │ │ ├── feed.js │ │ │ ├── ga_reporting_helpers.js │ │ │ ├── head.js │ │ │ ├── hotzone.js │ │ │ ├── jquery-1.11.1.min.js │ │ │ ├── jquery.validate.js │ │ │ ├── js-shareable-tools.js │ │ │ ├── lazy-photos.js │ │ │ ├── lovestory_node_reporter.js │ │ │ ├── lovestory_ruby_reporter.js │ │ │ ├── mailchimp_goal_tracking.js │ │ │ ├── menu.js │ │ │ ├── moment.js │ │ │ ├── mustache.js │ │ │ ├── page-visibility.js │ │ │ ├── resize_fullbleed_photos.js │ │ │ ├── responsive_iframes.js │ │ │ ├── scroll_depth.js │ │ │ ├── share_tool_analytics.js │ │ │ ├── sidebar-embed-experiment.js │ │ │ ├── stream.js │ │ │ ├── strftime.js │ │ │ ├── svg_arc_helpers.js │ │ │ ├── topshelf.js │ │ │ ├── underscore-1.8.3.js │ │ │ ├── underscore.js │ │ │ └── uuid.js │ │ ├── collections.js.coffee │ │ ├── donate.js │ │ ├── freeform_stream_promos.js.coffee │ │ ├── launch.js │ │ ├── partner_pageviews.js.coffee │ │ ├── partners.js.coffee │ │ ├── post_deploy_tokens.js.coffee │ │ ├── project_router.js.coffee │ │ ├── react_admin.js │ │ ├── socketio.js │ │ ├── weedwacker.js.coffee │ │ ├── weekly_newsletters.js.coffee │ │ └── yahoo_posts.js.coffee │ └── stylesheets │ │ ├── admin │ │ ├── admin.css.scss │ │ ├── bootstrap-markdown.min.css │ │ ├── ccount.css.scss │ │ ├── debug.css.scss │ │ ├── email_newsletter.css.scss │ │ ├── formats.css.scss │ │ ├── letters.css.scss │ │ ├── links.css.scss │ │ ├── nav.css.scss │ │ ├── newsletters.css.scss │ │ ├── photos.css.scss │ │ ├── post_threads.css.scss │ │ ├── posts.css.scss │ │ ├── public.css.scss │ │ ├── ratings.css.scss │ │ ├── rattle_can.css.scss │ │ ├── scaffolds.css.scss │ │ ├── search.css.scss │ │ ├── sessions.css.scss │ │ ├── tags.css.scss │ │ ├── user_deploy_api.css.scss │ │ └── users.css.scss │ │ ├── admin_analytics.scss │ │ ├── admin_api_v1.scss │ │ ├── admin_gator.scss │ │ ├── admin_google_doc.css.scss │ │ ├── admin_simple.scss │ │ ├── amicus.css.scss │ │ ├── app │ │ ├── app.scss │ │ ├── article.scss.erb │ │ ├── audioplayer_1.scss │ │ ├── author.scss │ │ ├── base │ │ │ ├── _base.scss │ │ │ ├── _buttons.scss │ │ │ ├── _flashes.scss │ │ │ ├── _forms.scss │ │ │ ├── _grid-settings.scss │ │ │ ├── _lists.scss │ │ │ ├── _tables.scss │ │ │ ├── _typography.scss │ │ │ ├── _variables.scss │ │ │ ├── extends │ │ │ │ ├── _button.scss │ │ │ │ ├── _clearfix.scss │ │ │ │ └── _hide-text.scss │ │ │ └── mixins │ │ │ │ └── _flash.scss │ │ ├── base_feature_header.scss │ │ ├── collection_homepage.scss │ │ ├── container-temporary.scss │ │ ├── donate.scss │ │ ├── email_signup.scss │ │ ├── featured-block.scss │ │ ├── fluid-test.scss │ │ ├── fonts.scss.erb │ │ ├── g_google_form_v1.scss │ │ ├── landing-unbelievable.scss │ │ ├── launch.scss │ │ ├── letters.scss │ │ ├── library.scss │ │ ├── nav.scss │ │ ├── newsletter.scss │ │ ├── newsletter_subscribe.scss │ │ ├── post_annotation_2.scss │ │ ├── post_photo_essay.scss.erb │ │ ├── print.scss │ │ ├── series.scss │ │ ├── static_page.scss │ │ ├── stream_promo.scss │ │ ├── tag_collection.scss │ │ ├── topshelf.scss │ │ └── topshelf_collection.scss │ │ ├── asset_files.scss │ │ ├── assets.scss │ │ ├── collections.scss.erb │ │ ├── documents.css.scss │ │ ├── freeform_stream_promos.scss │ │ ├── launch.css.scss │ │ ├── login.css.scss │ │ ├── partner_pageviews.scss │ │ ├── partners.scss │ │ ├── post_deploy_tokens.scss │ │ ├── post_locks.css.scss │ │ ├── post_sharables.scss │ │ ├── pretest.css.scss │ │ ├── project_repo.scss │ │ ├── project_router.scss │ │ ├── public_partner.scss │ │ ├── rss.css.scss │ │ ├── scaffolds.css.scss │ │ ├── scaffolds.scss │ │ ├── sitemap.css.scss │ │ ├── user_features.css.scss │ │ ├── weedwacker.scss │ │ ├── weekly_newsletters.scss │ │ └── yahoo_posts.scss ├── controllers │ ├── admin_analytics_controller.rb │ ├── admin_api_v1_controller.rb │ ├── admin_controller.rb │ ├── admin_gator_controller.rb │ ├── admin_google_doc_controller.rb │ ├── admin_simple_controller.rb │ ├── admin_slack_bot_controller.rb │ ├── amicus_controller.rb │ ├── application_controller.rb │ ├── asset_files_controller.rb │ ├── collections_controller.rb │ ├── concerns │ │ └── .keep │ ├── debug_controller.rb │ ├── documents_controller.rb │ ├── donate_controller.rb │ ├── email_newsletter_controller.rb │ ├── email_signup_controller.rb │ ├── embed_controller.rb │ ├── featured_blocks_controller.rb │ ├── freeform_stream_promos_controller.rb │ ├── graphics_controller.rb │ ├── landing_page_controller.rb │ ├── letters_controller.rb │ ├── links_controller.rb │ ├── members_controller.rb │ ├── newsletters_controller.rb │ ├── offline_template.rb │ ├── partner_pageviews_controller.rb │ ├── partners_controller.rb │ ├── photos_controller.rb │ ├── post_deploy_tokens_controller.rb │ ├── post_locks_controller.rb │ ├── post_shareables_controller.rb │ ├── post_threads_controller.rb │ ├── posts_controller.rb │ ├── pretest_controller.rb │ ├── project_repo_controller.rb │ ├── project_repos_controller.rb │ ├── project_router_controller.rb │ ├── public_controller.rb │ ├── public_partner_controller.rb │ ├── ratings_controller.rb │ ├── rattle_can_controller.rb │ ├── rss_controller.rb │ ├── search_controller.rb │ ├── sessions_controller.rb │ ├── sitemap_controller.rb │ ├── static_pages_controller.rb │ ├── status_controller.rb │ ├── tags_controller.rb │ ├── user_deploy_api_controller.rb │ ├── user_features_controller.rb │ ├── users_controller.rb │ ├── weedwacker_controller.rb │ ├── weekly_newsletters_controller.rb │ └── yahoo_posts_controller.rb ├── helpers │ ├── admin_analytics_helper.rb │ ├── admin_api_v1_helper.rb │ ├── admin_gator_helper.rb │ ├── admin_google_doc_helper.rb │ ├── admin_helper.rb │ ├── admin_simple_helper.rb │ ├── admin_slack_bot_helper.rb │ ├── amicus_helper.rb │ ├── application_helper.rb │ ├── asset_files_helper.rb │ ├── assets_helper.rb │ ├── collections_helper.rb │ ├── debug_helper.rb │ ├── documents_helper.rb │ ├── donate_helper.rb │ ├── email_newsletter_helper.rb │ ├── featured_blocks_helper.rb │ ├── formats_helper.rb │ ├── freeform_stream_promos_helper.rb │ ├── graphics_helper.rb │ ├── letters_helper.rb │ ├── links_helper.rb │ ├── members_helper.rb │ ├── newsletters_helper.rb │ ├── partner_pageviews_helper.rb │ ├── partners_helper.rb │ ├── photos_helper.rb │ ├── post_deploy_tokens_helper.rb │ ├── post_locks_helper.rb │ ├── post_shareables_helper.rb │ ├── post_threads_helper.rb │ ├── posts_helper.rb │ ├── pretest_helper.rb │ ├── project_repo_helper.rb │ ├── project_router_helper.rb │ ├── public_helper.rb │ ├── public_partner_helper.rb │ ├── ratings_helper.rb │ ├── rattle_can_helper.rb │ ├── rss_helper.rb │ ├── search_helper.rb │ ├── sessions_helper.rb │ ├── sitemap_helper.rb │ ├── static_pages_helper.rb │ ├── tags_helper.rb │ ├── user_deploy_api_helper.rb │ ├── user_features_helper.rb │ ├── users_helper.rb │ ├── weedwacker_helper.rb │ ├── weekly_newsletters_helper.rb │ └── yahoo_posts_helper.rb ├── lib │ ├── analytics_links.rb │ ├── analytics_posts.rb │ ├── analytics_posts_per_day.rb │ ├── assets │ │ └── .keep │ ├── cached_google_analytics_query.rb │ ├── collection_item_presenter.rb │ ├── collection_recent_query.rb │ ├── collection_slice.rb │ ├── collection_summary.rb │ ├── collections │ │ ├── link_partial.mustache │ │ ├── link_partial.rb │ │ ├── post_partial.mustache │ │ └── post_partial.rb │ ├── cookie_vault.rb │ ├── crowdtangle.rb │ ├── daily_analytics_email.rb │ ├── domain_to_organization.rb │ ├── email_user_report.rb │ ├── es.rb │ ├── es_index_all_links_worker.rb │ ├── es_index_all_posts_worker.rb │ ├── external_link.rb │ ├── facebook_insights.rb │ ├── facebook_linter.rb │ ├── fastly_soft_purge.rb │ ├── gator_report.rb │ ├── gator_tag_update_post.rb │ ├── google_analytics.rb │ ├── google_doc_markdown_converter_v2.rb │ ├── hammer_string.rb │ ├── heroku.rb │ ├── mailchimp_bulk_export.rb │ ├── mailchimp_export.rb │ ├── mailchimp_old_bulk_export.rb │ ├── markdown_google_doc.rb │ ├── mini_analytics_bar_chart.rb │ ├── post_metadata_provider.rb │ ├── post_projection.rb │ ├── post_renderer.rb │ ├── post_shareable_maybe.rb │ ├── print_renderer.rb │ ├── project_next_to_die.rb │ ├── public_post_preview.rb │ ├── quick_s3_upload.rb │ ├── quiz_api_v1.rb │ ├── report_v1.rb │ ├── s3_file_uploader.rb │ ├── s3_sync_upload.rb │ ├── s3_upload.rb │ ├── s3_upload_form.rb │ ├── shortcode_annotation.rb │ ├── shortcode_argument_parser.rb │ ├── shortcode_assets.rb │ ├── shortcode_author.rb │ ├── shortcode_batman.rb │ ├── shortcode_divider.rb │ ├── shortcode_dropcap.rb │ ├── shortcode_graphic.rb │ ├── shortcode_list.rb │ ├── shortcode_photo.rb │ ├── shortcode_photo_inline.rb │ ├── shortcode_photo_tag.rb │ ├── shortcode_qaquestion.rb │ ├── shortcode_quote.rb │ ├── shortcode_section_break.rb │ ├── shortcode_sidebar.rb │ ├── shortcode_sidebar_left.rb │ ├── shortcode_sidebar_note.rb │ ├── shortcode_subhead.rb │ ├── shortcode_tag.rb │ ├── shortcode_tag_sidebar.rb │ ├── shortcode_tweet.rb │ ├── stream.rb │ ├── strip_extra_p_tag.rb │ ├── thriller.rb │ ├── topshelf_provider.rb │ ├── track_click.rb │ ├── url_rewriter.rb │ └── yahoo_renderer.rb ├── mailers │ ├── .keep │ ├── application_mailer.rb │ ├── gator_mailer.rb │ ├── post_mailer.rb │ └── user_mailer.rb ├── models │ ├── .keep │ ├── asset_file.rb │ ├── concerns │ │ └── .keep │ ├── document.rb │ ├── email_signup.rb │ ├── external_service_response.rb │ ├── feature_flag.rb │ ├── featured_block.rb │ ├── featured_block_activate_event.rb │ ├── freeform_stream_promo.rb │ ├── graphic.rb │ ├── letter.rb │ ├── link.rb │ ├── link_decode_event.rb │ ├── link_remote_status_worker.rb │ ├── link_report.rb │ ├── mailchimp_webhook.rb │ ├── member.rb │ ├── newsletter.rb │ ├── newsletter_assignment.rb │ ├── partner.rb │ ├── partner_pageview.rb │ ├── photo.rb │ ├── post.rb │ ├── post_delegate_path.rb │ ├── post_deploy_token.rb │ ├── post_embed.rb │ ├── post_lock.rb │ ├── post_mock.rb │ ├── post_published_event.rb │ ├── post_shareable.rb │ ├── post_thread.rb │ ├── post_thread_assignment.rb │ ├── post_version.rb │ ├── project_repo.rb │ ├── public_search_query.rb │ ├── rating.rb │ ├── static_page.rb │ ├── stripe_customer.rb │ ├── tag.rb │ ├── tagging.rb │ ├── user.rb │ ├── user_post_assignment.rb │ ├── user_session.rb │ ├── weekly_newsletter.rb │ ├── weekly_newsletter_assignment.rb │ └── yahoo_post.rb ├── views │ ├── admin │ │ ├── _post_index_row.html.erb │ │ ├── analytics_all_posts_v1.html.erb │ │ ├── branding.html.erb │ │ ├── daily_email.html.erb │ │ ├── debug_os_links.html.erb │ │ ├── dragons.html.erb │ │ ├── email_signup.html.erb │ │ ├── email_signups_per_day_chart.html.erb │ │ ├── every_link.html.erb │ │ ├── feedback.html.erb │ │ ├── freeform_email.html.erb │ │ ├── freeform_email_editor.html.erb │ │ ├── google_forms_index.html │ │ ├── gutcheck_stream.html.erb │ │ ├── index.html.erb │ │ ├── inlined_photos.html.erb │ │ ├── link_decode_events.html.erb │ │ ├── moar_posts.html.erb │ │ ├── ops_dynos.html.erb │ │ ├── outcome_tracker.html.erb │ │ ├── performance.html.erb │ │ ├── post_bench.html.erb │ │ ├── posts_email_index.html.erb │ │ ├── posts_index.html.erb │ │ ├── preview_post_inject.html.erb │ │ ├── preview_promo_lte.html.erb │ │ ├── qa_all.html.erb │ │ ├── quick_s3_upload.html.erb │ │ ├── quizbuilder_edit.html.erb │ │ ├── quizbuilder_index.html.erb │ │ ├── quizbuilder_preview.html.erb │ │ ├── react_tag_test.html.erb │ │ ├── report_v1.html.erb │ │ ├── robot_daily_email.html.erb │ │ ├── robot_weekly_link_social.html.erb │ │ ├── search_queries.html.erb │ │ ├── sprout_links.html.erb │ │ ├── stream_main_debug.html.erb │ │ ├── stream_preview.html.erb │ │ ├── style_guide.html.erb │ │ ├── tag_bot.html.erb │ │ ├── tag_leaderboard.html.erb │ │ ├── tag_post_index.html.erb │ │ ├── tag_post_search.html.erb │ │ ├── tag_post_show.html.erb │ │ ├── taggings.html.erb │ │ ├── user_sessions.html.erb │ │ ├── users.html.erb │ │ └── v1_hud.html.erb │ ├── admin_analytics │ │ ├── daily_email.html.erb │ │ ├── email_v1.html.erb │ │ ├── engaged_time.html.erb │ │ ├── ga_test.html.erb │ │ ├── lovestory_total.html.erb │ │ ├── partners.html.erb │ │ ├── partners_nojs.html.erb │ │ ├── today.html.erb │ │ └── yesterday.html.erb │ ├── admin_api_v1 │ │ ├── preview_gist.html.erb │ │ └── preview_post_via_post.html.erb │ ├── admin_gator │ │ ├── activity.html.erb │ │ ├── bookmarklet.js │ │ ├── iframe.html.erb │ │ ├── index.html.erb │ │ ├── post.html.erb │ │ ├── search.html.erb │ │ ├── search_links.html.erb │ │ └── tag_post_index.html.erb │ ├── admin_google_doc │ │ ├── all_google_docs.html.erb │ │ ├── all_spreadsheets.html.erb │ │ ├── oauth_callback.html.erb │ │ ├── parse_doc.html.erb │ │ └── parse_spreadsheet.html.erb │ ├── admin_simple │ │ └── edit.html.erb │ ├── admin_slack_bot │ │ └── incoming_slash_command.html.erb │ ├── amicus │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── preview.html.erb │ │ ├── preview_draft.html.erb │ │ ├── sync.html.erb │ │ └── update.html.erb │ ├── asset_files │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── collections │ │ ├── _index_tag.html.erb │ │ ├── api_v1_items.html.erb │ │ ├── index.html.erb │ │ ├── live.html.erb │ │ └── show.html.erb │ ├── debug │ │ └── throw_error.html.erb │ ├── documents │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── potential.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── donate │ │ ├── charge.html.erb │ │ └── form.html.erb │ ├── email_newsletter │ │ ├── _show_styles.html.erb │ │ ├── search_archive.html.erb │ │ └── show.html.erb │ ├── email_signup │ │ └── index.xls.erb │ ├── embed │ │ └── v1_email.html.erb │ ├── featured_blocks │ │ ├── _form.html.erb │ │ ├── _index_row.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── preview.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── freeform_stream_promos │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── preview.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── gator_mailer │ │ └── daily_email.html.erb │ ├── graphics │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── landing_page │ │ └── victim.html.erb │ ├── layouts │ │ ├── _admin_analytics.html.erb │ │ ├── _debug_box.html.erb │ │ ├── _easter.html.erb │ │ ├── _flashes.html.erb │ │ ├── _footer_analytics.html.erb │ │ ├── _layout_js_footer.html.erb │ │ ├── _nav.html.erb │ │ ├── _pixel_ping.html.erb │ │ ├── _social_metadata.html.erb │ │ ├── _typography.html.erb │ │ ├── application.html.erb │ │ ├── login.html.erb │ │ ├── mailer.html.erb │ │ ├── mailer.text.erb │ │ ├── partner.html.erb │ │ ├── pjax_loader.js │ │ └── public.html.erb │ ├── letters │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── links │ │ ├── _form.html.erb │ │ ├── _link.html.erb │ │ ├── _newsletter_attachment.html.erb │ │ ├── bookmarklet.html.erb │ │ ├── bookmarklet_app.js.erb │ │ ├── bookmarklet_link.html.erb │ │ ├── edit.html.erb │ │ ├── edit_link_in_iframe.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── partials_before.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── members │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── newsletters │ │ ├── _email_header.html.erb │ │ ├── _form.html.erb │ │ ├── _sorter_potential_item.html.erb │ │ ├── build.html.erb │ │ ├── build_text.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ ├── show.json.jbuilder │ │ └── sort.html.erb │ ├── partner_pageviews │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── partners │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── photos │ │ ├── _embed.html.erb │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── embed.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ ├── show.json.jbuilder │ │ ├── upload_form.html │ │ └── v1_picker.html.erb │ ├── post_deploy_tokens │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── post_formats │ │ └── _post_full │ │ │ ├── _decision_of_the_day.html.erb │ │ │ ├── _follow.html.erb │ │ │ ├── _stub.html.erb │ │ │ └── _trawl.html.erb │ ├── post_locks │ │ ├── _form.html.erb │ │ ├── actives_widget.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── post_mailer │ │ ├── new_published.html.erb │ │ └── new_published.text.erb │ ├── post_shareables │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── post_threads │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── posts │ │ ├── _disqus.html.erb │ │ ├── _form.html.erb │ │ ├── _post_collapse.html.erb │ │ ├── _post_full.html.erb │ │ ├── _social_bar.html.erb │ │ ├── andy.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── preview.html.erb │ │ ├── preview_post.html.erb │ │ ├── preview_promo.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── pretest │ │ ├── error.html.erb │ │ └── slow.html.erb │ ├── project_repos │ │ ├── index.html.erb │ │ └── show.html.erb │ ├── project_router │ │ └── next_to_die.html.erb │ ├── public │ │ ├── 404.html │ │ ├── _anno_1.html.erb │ │ ├── _featured_block.html.erb │ │ ├── _feed.html.erb │ │ ├── _header.html.erb │ │ ├── _header_v1.html.erb │ │ ├── _header_v2.html.erb │ │ ├── _home_topshelf.html.erb │ │ ├── _homepage_featured.html.erb │ │ ├── _inline_topshelf.html.erb │ │ ├── _nav_v1.html.erb │ │ ├── _nav_v2.html.erb │ │ ├── _newsletter.html.erb │ │ ├── _newsletter_signup_banner.html │ │ ├── _post_byline.html.erb │ │ ├── _post_footer.html.erb │ │ ├── _post_header.html.erb │ │ ├── _post_header_base_feature.html.erb │ │ ├── _post_lead_photo.html.erb │ │ ├── _post_partial.html.erb │ │ ├── _post_share_tools.html.erb │ │ ├── _stream.html.erb │ │ ├── _topshelf.html.erb │ │ ├── _topshelf_facebook.html.erb │ │ ├── _topshelf_opening_statement.html.erb │ │ ├── _topshelf_quickreads.html.erb │ │ ├── amp_post.html.erb │ │ ├── author.html.erb │ │ ├── collection.html.erb │ │ ├── collection │ │ │ └── _link.html.erb │ │ ├── collection_index.html.erb │ │ ├── document.html.erb │ │ ├── email_already_exists.html.erb │ │ ├── email_details.html.erb │ │ ├── email_details_thanks.html.erb │ │ ├── featured_block │ │ │ ├── _deathpenalty_zero_zero.html.erb │ │ │ ├── _obama.html.erb │ │ │ ├── _one_one_deathpenalty.html.erb │ │ │ ├── _one_one_kickstarter.html.erb │ │ │ ├── _one_one_manual_kickstarter.html.erb │ │ │ ├── _one_one_one.html.erb │ │ │ ├── _one_one_onejunesurvey.html.erb │ │ │ ├── _one_one_two.html.erb │ │ │ ├── _one_one_victim.html.erb │ │ │ ├── _one_one_victim_split.html.erb │ │ │ ├── _one_two_newstop.html.erb │ │ │ ├── _one_two_one.html.erb │ │ │ ├── _one_two_two.html.erb │ │ │ └── _one_zero_zero.html.erb │ │ ├── featured_block_test.html.erb │ │ ├── feed_posts.html.erb │ │ ├── fluid_test.html.erb │ │ ├── home.html.erb │ │ ├── launch.html │ │ ├── letters_index.html.erb │ │ ├── not_found.html.erb │ │ ├── opening_statement.html.erb │ │ ├── opening_statement_index.html.erb │ │ ├── pixel_ping.js.erb │ │ ├── pixel_ping_iframe.html.erb │ │ ├── pixel_setup.html.erb │ │ ├── post.html.erb │ │ ├── posts │ │ │ ├── _base.html.erb │ │ │ ├── _base_feature.html.erb │ │ │ ├── _base_freeform_header.html.erb │ │ │ ├── _branded.html.erb │ │ │ ├── _freeform.html.erb │ │ │ ├── _photo_essay.html.erb │ │ │ ├── _root.html.erb │ │ │ ├── _shell.html.erb │ │ │ └── _shell_light_on_dark.html.erb │ │ ├── print_post.html.erb │ │ ├── random_sentence.html.erb │ │ ├── search_v1.html.erb │ │ ├── static_marshall.html.erb │ │ ├── static_page.html.erb │ │ ├── static_privacy.html.erb │ │ ├── stream │ │ │ ├── _freeform_stream_promo.html.erb │ │ │ ├── _letter.html.erb │ │ │ ├── _newsletter.html.erb │ │ │ ├── _popular.html.erb │ │ │ ├── _post.html.erb │ │ │ ├── _tags.html.erb │ │ │ └── posts │ │ │ │ ├── _base.html.erb │ │ │ │ ├── _base_w_art.html.erb │ │ │ │ ├── _feature.html.erb │ │ │ │ ├── _gator.html.erb │ │ │ │ ├── _letter.html.erb │ │ │ │ ├── _photo_essay.html.erb │ │ │ │ └── _stub.html.erb │ │ ├── stream_partials.html.erb │ │ ├── stream_topshelf │ │ │ └── v1 │ │ │ │ ├── _facebook.html.erb │ │ │ │ ├── _openingstatement.html.erb │ │ │ │ ├── _quickreads.html.erb │ │ │ │ └── _records.html.erb │ │ ├── submit_letter.html.erb │ │ ├── subscribe.html.erb │ │ ├── tag.html.erb │ │ ├── tokens.html.erb │ │ └── view_letter.erb │ ├── public_partner │ │ ├── check_pixel.html.erb │ │ └── outcome_tracker.html.erb │ ├── rattle_can │ │ ├── _app.html.erb │ │ └── _template.html.erb │ ├── rss │ │ ├── home.rss.builder │ │ ├── newsbank.rss.builder │ │ ├── tag.rss.builder │ │ └── yahoo.rss.builder │ ├── search │ │ └── search.html.erb │ ├── sessions │ │ ├── create_token.html.erb │ │ ├── new.html.erb │ │ └── new_with_token.html.erb │ ├── sitemap │ │ └── index.xml.builder │ ├── static_pages │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── taggings │ │ ├── _activity_link.html.erb │ │ └── _activity_post.html.erb │ ├── tags │ │ ├── _form.html.erb │ │ ├── _form_tagger.html.erb │ │ ├── _inline.html.erb │ │ ├── _modal.html.erb │ │ ├── _poly_link.html.erb │ │ ├── _poly_post.html.erb │ │ ├── _tag.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ ├── user_features │ │ ├── all.html.erb │ │ ├── disable.html.erb │ │ └── enable.html.erb │ ├── user_mailer │ │ ├── login_token.html.erb │ │ ├── login_token.text.erb │ │ ├── reset_password.html.erb │ │ └── reset_password.text.erb │ ├── users │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── weedwacker │ │ ├── _today.html.erb │ │ ├── _yesterday.html.erb │ │ └── index.html.erb │ ├── weekly_newsletters │ │ ├── _form.html.erb │ │ ├── build.html.erb │ │ ├── build_text.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder │ └── yahoo_posts │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.json.jbuilder └── workers │ ├── attach_user_post_worker.rb │ ├── backup_links_worker.rb │ ├── bake_post.rb │ ├── build_post_partial.rb │ ├── collection_slice_worker.rb │ ├── create_mailchimp_campaign.rb │ ├── create_post_version.rb │ ├── create_weekly_newsletter_mailchimp_campaign.rb │ ├── debug_email_worker.rb │ ├── email_signup_worker.rb │ ├── facebook_count_worker.rb │ ├── facebook_linter_worker.rb │ ├── facebook_recent_post_shares_v1_worker.rb │ ├── generate_tag_slugs_if_nil.rb │ ├── index_tag.rb │ ├── link_download_worker.rb │ ├── link_meta_tag_worker.rb │ ├── lint_post_worker.rb │ ├── member_update_stats.rb │ ├── minute_cron_worker.rb │ ├── notify_published_post_worker.rb │ ├── photo_aspect_ratio_worker.rb │ ├── photo_resizer.rb │ ├── photo_resizer_service.rb │ ├── post_lock_sweeper.rb │ ├── pull_document_cloud.rb │ ├── pull_logs_for_email_signup.rb │ ├── rebuild_all_tags_json.rb │ ├── redis_heartbeat_worker.rb │ ├── refresh_twitter_count.rb │ ├── s3_upload.rb │ ├── scan_new_published_posts.rb │ ├── send_ttin.rb │ ├── slack.rb │ ├── sync_mailchimp_campaign.rb │ ├── sync_weekly_newsletter_mailchimp_campaign.rb │ ├── tag_report_v1.rb │ ├── touch_active_homepages.rb │ ├── tweet_count_worker.rb │ ├── update_document_published_url.rb │ ├── update_user_last_seen.rb │ └── upload_link_image.rb ├── bin ├── bundle ├── rails ├── rake ├── rspec └── spring ├── config.ru ├── config ├── application.rb ├── boot.rb ├── database.yml ├── environment.rb ├── environments │ ├── development.rb │ ├── production.rb │ └── test.rb ├── feature_flag_config.yml ├── featured_block_templates.yml ├── initializers │ ├── activesupport_notifications.rb │ ├── asset_precompiling.rb │ ├── backtrace_silencers.rb │ ├── cookies_serializer.rb │ ├── database_connection.rb │ ├── database_connection_old.rb │ ├── dotenv_if_development.rb │ ├── enable_gc_profiler.rb │ ├── filter_parameter_logging.rb │ ├── inflections.rb │ ├── mime_types.rb │ ├── post_lock_sweeper.rb │ ├── precompile_assets.rb │ ├── rack_attack.rb │ ├── rack_timeout.rb │ ├── redis.rb │ ├── session_store.rb │ ├── set_default_host_url.rb │ ├── sidekiq_thread_backtrace_dumper.rb │ ├── time_formats.rb │ └── wrap_parameters.rb ├── locales │ └── en.yml ├── newrelic.yml ├── post_formats.yml ├── post_stream_promos.yml ├── puma.rb ├── routes.rb ├── secrets.yml ├── sidekiq.yml ├── tag_types.yml └── unicorn.rb ├── data ├── domain_to_organization.yml ├── google-doc-html │ └── congress-passport.html └── pretty_print_v1.xsl ├── db ├── migrate │ ├── 20140624212702_create_formats.rb │ ├── 20140624214936_create_posts.rb │ ├── 20140624215659_change_formats_to_post_formats.rb │ ├── 20140624235032_change_format_column_on_posts.rb │ ├── 20140624235537_create_post_thread_assignments.rb │ ├── 20140624235554_create_post_threads.rb │ ├── 20140626161124_rename_publish_at_to_published_at_for_posts.rb │ ├── 20140630191447_add_title_to_posts.rb │ ├── 20140702164716_create_tags.rb │ ├── 20140707140945_create_photos.rb │ ├── 20140707152927_create_users.rb │ ├── 20140708204328_add_bookmarklet_token_to_users.rb │ ├── 20140708204407_create_links.rb │ ├── 20140708210125_add_login_token_to_users.rb │ ├── 20140708215131_add_login_token_date_to_users.rb │ ├── 20140709143254_add_domain_to_links.rb │ ├── 20140714142920_create_taggings.rb │ ├── 20140714230725_add_approved_to_links.rb │ ├── 20140715213751_add_content_to_taggings.rb │ ├── 20140716151713_add_html_to_links.rb │ ├── 20140724214823_add_index_on_url_to_links.rb │ ├── 20140728164656_create_ratings.rb │ ├── 20140728184730_create_hstore.rb │ ├── 20140728184738_add_slugs_to_posts.rb │ ├── 20140729173805_add_fb_url_to_links.rb │ ├── 20140807204017_add_deploy_api_key_to_users.rb │ ├── 20140808202045_add_tag_type_to_tags.rb │ ├── 20140809183938_rename_slugs_to_redirects_for_posts.rb │ ├── 20140809190927_add_slug_to_posts.rb │ ├── 20140812152811_add_post_format_to_posts.rb │ ├── 20140813201832_add_user_id_to_taggings.rb │ ├── 20140813225952_add_tweet_count_to_links.rb │ ├── 20140814150658_add_created_at_index_to_links.rb │ ├── 20140816212540_add_email_content_to_posts.rb │ ├── 20140816215902_add_random_slug_to_photos.rb │ ├── 20140816223427_add_sizes_to_photos.rb │ ├── 20140819213506_create_newsletters.rb │ ├── 20140819213524_create_newsletter_assignments.rb │ ├── 20140820175114_add_email_content_to_links.rb │ ├── 20140827181627_add_web_id_to_newsletters.rb │ ├── 20140827184510_change_id_to_string_for_newsletters.rb │ ├── 20140903182906_add_fb_count_to_links.rb │ ├── 20140911184603_add_homepage_position_to_newsletter_assignments.rb │ ├── 20140912194825_add_deck_to_posts.rb │ ├── 20140912203048_create_letters.rb │ ├── 20140912210124_add_index_to_anon_on_letters.rb │ ├── 20140912211128_add_original_content_to_letters.rb │ ├── 20140918171834_create_featured_blocks.rb │ ├── 20140926173831_add_slug_and_name_to_users.rb │ ├── 20140926173836_add_byline_freeform_to_posts.rb │ ├── 20140928155451_create_user_post_assignments.rb │ ├── 20140929154301_add_public_flag_to_tags.rb │ ├── 20140929154302_add_featured_image_to_tags.rb │ ├── 20140929154308_add_content_to_tags.rb │ ├── 20140929154315_add_byline_to_newsletters.rb │ ├── 20140929154320_add_editors_pick_boolean_to_links.rb │ ├── 20140929154324_add_published_at_to_newsletters.rb │ ├── 20140929154328_add_stream_promo_to_post.rb │ ├── 20140929154332_create_post_versions.rb │ ├── 20140929192047_add_public_to_newsletters.rb │ ├── 20140930152431_add_html_url_to_links.rb │ ├── 20140930195827_add_via_gator_to_photos.rb │ ├── 20140930195931_add_photo_id_to_links.rb │ ├── 20140930201536_add_featured_photo_to_posts.rb │ ├── 20140930201810_add_fb_and_twitter_headlines_to_posts.rb │ ├── 20140930202454_add_pgp_to_users.rb │ ├── 20140930223606_create_static_pages.rb │ ├── 20141001140928_add_published_at_to_letters.rb │ ├── 20141010190750_add_phone_to_users.rb │ ├── 20141010194404_add_produced_by_to_posts.rb │ ├── 20141010201348_add_revised_at_to_posts.rb │ ├── 20141016141413_add_lead_photo_to_posts.rb │ ├── 20141016203144_create_members.rb │ ├── 20141017160523_add_visits_from_ips_to_members.rb │ ├── 20141021210632_create_feature_flags.rb │ ├── 20141022184406_create_email_signups.rb │ ├── 20141024173220_create_graphics.rb │ ├── 20141024183444_add_title_and_desc_to_static_pages.rb │ ├── 20141103232347_add_sidebar_to_tags.rb │ ├── 20141104163602_create_documents.rb │ ├── 20141104175531_add_custom_head_to_posts.rb │ ├── 20141104185907_add_confirm_token_to_email_signups.rb │ ├── 20141104191406_add_email_fieldsto_email_signups.rb │ ├── 20141105205417_add_archive_url_to_newsletters.rb │ ├── 20141106213909_add_fields_to_email_signups.rb │ ├── 20141110184742_add_title_deck_to_documents.rb │ ├── 20141111191300_add_source_to_user_post_assignments.rb │ ├── 20141112183847_add_title_to_users.rb │ ├── 20141112230331_add_signup_source_to_email_signups.rb │ ├── 20141115163446_create_stripe_customers.rb │ ├── 20141117152901_create_post_locks.rb │ ├── 20141117204959_add_names_to_stripe_customers.rb │ ├── 20141118184153_add_draft_to_posts.rb │ ├── 20141124181757_remove_cols_from_posts.rb │ ├── 20141125171851_add_log_blob_to_email_signups.rb │ ├── 20141204145044_add_last_seen_to_users.rb │ ├── 20141207170627_create_user_sessions.rb │ ├── 20141208202311_add_display_headline_to_posts.rb │ ├── 20141208222447_add_custom_scss_to_posts.rb │ ├── 20141210162637_create_featured_block_activate_events.rb │ ├── 20141212170751_change_cols_to_strings_in_email_signups.rb │ ├── 20150112211908_create_public_search_queries.rb │ ├── 20150113161343_add_search_results_to_public_search_queries.rb │ ├── 20150113163509_add_user_id_to_public_search_queries.rb │ ├── 20150122213121_create_external_service_responses.rb │ ├── 20150129163905_add_shorttoken_to_links.rb │ ├── 20150130192809_create_link_decode_events.rb │ ├── 20150130193426_add_referer_to_link_decode_events.rb │ ├── 20150224165135_add_freeform_post_header_to_posts.rb │ ├── 20150224165406_change_freeform_post_header_to_text.rb │ ├── 20150515145826_change_byline_column_to_text_on_newsletters.rb │ ├── 20150609173000_add_facebook_description_to_posts.rb │ ├── 20150618195818_create_assets.rb │ ├── 20150618201733_create_asset_files.rb │ ├── 20150622213626_create_post_sharables.rb │ ├── 20150622220203_rename_sharable_to_shareables.rb │ ├── 20150702175957_add_mailchimp_id_to_email_signups.rb │ ├── 20150716172651_add_mailchimp_euid_leid_to_email_signups.rb │ ├── 20150729185629_create_post_published_events.rb │ ├── 20150824213411_create_weekly_newsletter_assignments.rb │ ├── 20150824213516_create_weekly_newsletters.rb │ ├── 20150831172334_add_sections_to_weekly_newsletters.rb │ ├── 20150903204918_add_options_to_email_signups.rb │ ├── 20150914174642_create_freeform_stream_promos.rb │ ├── 20150914175053_add_published_to_freeform_stream_promos.rb │ ├── 20150922174410_create_post_delegate_paths.rb │ ├── 20150923205331_create_yahoo_posts.rb │ ├── 20151007152415_add_photo_flag_to_yahoo_posts.rb │ ├── 20151014155320_add_summary_to_yahoo_posts.rb │ ├── 20151104192738_create_partners.rb │ ├── 20151104194642_create_partner_pageviews.rb │ ├── 20151202171252_create_post_deploy_tokens.rb │ ├── 20160104184134_add_deploy_token_to_graphics.rb │ ├── 20160106193656_add_souce_and_slug_to_asset_file.rb │ ├── 20160113221245_add_s3_url_to_asset_files.rb │ ├── 20160121191220_create_post_embeds.rb │ ├── 20160204195644_add_meta_tags_to_links.rb │ ├── 20160204200517_add_remote_alive_to_links.rb │ ├── 20160209200020_add_aspect_ratio_to_photos.rb │ ├── 20160219184054_rename_featured_image_for_tags.rb │ ├── 20160222185522_add_page_title_to_static_pages.rb │ ├── 20160308193653_create_link_reports.rb │ ├── 20160310222554_add_mailchimp_data_to_email_signups.rb │ ├── 20160325203410_collection_summary_to_tags.rb │ ├── 20160325214356_add_collection_summary_to_tags.rb │ ├── 20160404152647_add_in_stream_to_posts.rb │ └── 20160426134033_create_mailchimp_webhooks.rb ├── schema.rb └── seeds.rb ├── example-dot-env ├── lib └── tasks │ ├── .keep │ ├── analytics.rake │ ├── collections.rake │ ├── email_signups.rake │ ├── export.rake │ ├── external_service_response.rake │ ├── ga_rollup.rake │ ├── gator_mailer.rake │ ├── heroku.rake │ ├── index_links.rake │ ├── index_posts.rake │ ├── index_tags.rake │ ├── link.rake │ ├── posts.rake │ ├── schedule_10min_workers.rake │ ├── schedule_minute_cron_worker.rake │ ├── sidekiq.rake │ └── social_count_snapshot.rake ├── log └── .keep ├── os-x-setup.sh ├── package.json ├── public ├── 404.html ├── 422.html ├── 500.html ├── favicon.ico └── robots.txt ├── spec ├── factories.rb ├── helpers │ └── collections_helper_spec.rb ├── integration │ ├── admin_spec.rb │ ├── collection_spec.rb │ ├── home_spec.rb │ ├── public_api_spec.rb │ ├── public_post_spec.rb │ ├── public_web_api_spec.rb │ └── static_pages_spec.rb ├── mailers │ ├── gator_mailer_spec.rb │ ├── post_mailer_spec.rb │ └── previews │ │ ├── gator_mailer_preview.rb │ │ └── post_mailer_preview.rb ├── models │ ├── collection_slice_spec.rb │ ├── create_mailchimp_campaign_spec.rb │ ├── domain_to_organization_spec.rb │ ├── donation_spec.rb │ ├── featured_block_spec.rb │ ├── freeform_stream_promo_spec.rb │ ├── google_doc_markdown_converter_v2_spec.rb │ ├── link_report_spec.rb │ ├── link_spec.rb │ ├── mailchimp_webhook_spec.rb │ ├── minute_cron_worker_spec.rb │ ├── partner_spec.rb │ ├── photo_spec.rb │ ├── post_delegate_path_spec.rb │ ├── post_deploy_token_spec.rb │ ├── post_embed_spec.rb │ ├── post_metadata_provider_spec.rb │ ├── post_published_event_spec.rb │ ├── post_renderer_stress_spec.rb │ ├── post_spec.rb │ ├── posts_helper_spec.rb │ ├── print_renderer_spec.rb │ ├── quick_s3_upload_spec.rb │ ├── quiz_api_v1_spec.rb │ ├── s3_upload_form_spec.rb │ ├── shortcode_argument_parser_spec.rb │ ├── shortcode_graphic_spec.rb │ ├── shortcode_section_break_spec.rb │ ├── shortcode_sidebar_note_spec.rb │ ├── stream_spec.rb │ ├── tag_spec.rb │ ├── tagging_spec.rb │ ├── tweet_count_worker_spec.rb │ ├── url_rewriter_spec.rb │ ├── weekly_newsletter_assignment_spec.rb │ └── weekly_newsletter_spec.rb ├── rails_helper.rb ├── requests │ ├── collections_controller_spec.rb │ ├── email_signup_spec.rb │ ├── links_controller_spec.rb │ ├── photos_controller_spec.rb │ ├── posts_controller_spec.rb │ ├── public_controller_spec.rb │ └── status_controller_spec.rb ├── spec_helper.rb └── views │ └── collections │ ├── api_v1_items.html.erb_spec.rb │ ├── index.html.erb_spec.rb │ └── show.html.erb_spec.rb └── utils ├── ai_hammer.rb ├── ai_preview_header.html ├── base64_image.rb ├── current_pg_connections.sh ├── feature_flags.sh ├── find_inline_styles.sh ├── howto_preview.md ├── miller.html ├── millerital.html ├── post_deploy_token_client.rb ├── preview.rb ├── preview_alias ├── public_html_comments.sh └── setup_pow_port.sh /.foreman: -------------------------------------------------------------------------------- 1 | port: 7000 2 | -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --require spec_helper 3 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.3.0 2 | -------------------------------------------------------------------------------- /.slugignore: -------------------------------------------------------------------------------- 1 | /prod_db 2 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | grunt.initConfig({ 3 | pkg: grunt.file.readJSON('package.json'), 4 | watch: { 5 | all: { 6 | files: 'app/**/*', 7 | options: { 8 | livereload: true, 9 | }, 10 | }, 11 | } 12 | }); 13 | 14 | grunt.loadNpmTasks('grunt-contrib-watch'); 15 | grunt.registerTask('default', ['watch']); 16 | } 17 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: bundle exec puma -C config/puma.rb 2 | sidekiq: env SIDEKIQ=true bundle exec sidekiq -c 10 -t 8 -q critical,10 -q default,5 -q photo,1 -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | # Add your own tasks in files placed in lib/tasks ending in .rake, 2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 3 | 4 | require File.expand_path('../config/application', __FILE__) 5 | 6 | Rails.application.load_tasks 7 | -------------------------------------------------------------------------------- /app/assets/images/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/images/.keep -------------------------------------------------------------------------------- /app/assets/images/1px_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/images/1px_empty.png -------------------------------------------------------------------------------- /app/assets/images/article_share_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/images/article_share_1.png -------------------------------------------------------------------------------- /app/assets/javascripts/admin/add_csrf_header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/javascripts/admin/add_csrf_header.js -------------------------------------------------------------------------------- /app/assets/javascripts/admin/debug.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/email_newsletter.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/formats.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/highlightify_current_nav_link.js: -------------------------------------------------------------------------------- 1 | $(document).on('ready page:load', function() { 2 | $('.nav a[href="'+ window.location.pathname +'"]').parent().addClass('active'); 3 | }); -------------------------------------------------------------------------------- /app/assets/javascripts/admin/letters.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/links.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/newsletters.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/photos.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/pjax_loader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/javascripts/admin/pjax_loader.js -------------------------------------------------------------------------------- /app/assets/javascripts/admin/post_threads.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/posts.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/public.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/ratings.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/rattle_can.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/search.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/sessions.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/tags.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/user_deploy_api.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin/users.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/admin_components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/javascripts/admin_components/.gitkeep -------------------------------------------------------------------------------- /app/assets/javascripts/app/email_modal_v1.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | window.tmp_20151020modal = function() { 3 | return true; 4 | } 5 | })(); 6 | -------------------------------------------------------------------------------- /app/assets/javascripts/app/feed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/javascripts/app/feed.js -------------------------------------------------------------------------------- /app/assets/javascripts/app/ga_reporting_helpers.js: -------------------------------------------------------------------------------- 1 | var report = function(category, action, label) { 2 | if (!window['ga']) { 3 | window._tmp_no_ga = true; 4 | return false; 5 | } 6 | try { 7 | ga('send', 'event', category, action, label, {'nonInteraction': 1}); 8 | } catch(e) { 9 | console.log('error reporting event', category, action, label, e); 10 | } 11 | } -------------------------------------------------------------------------------- /app/assets/javascripts/app/head.js: -------------------------------------------------------------------------------- 1 | //= require 'jquery' 2 | //= require 'app/underscore' 3 | $.ajaxSetup({ cache: true }); -------------------------------------------------------------------------------- /app/assets/javascripts/app/strftime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/javascripts/app/strftime.js -------------------------------------------------------------------------------- /app/assets/javascripts/collections.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/freeform_stream_promos.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/partner_pageviews.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/partners.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/post_deploy_tokens.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/project_router.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/react_admin.js: -------------------------------------------------------------------------------- 1 | //= require react 2 | //= require react_ujs 3 | //= require_tree ./admin_components -------------------------------------------------------------------------------- /app/assets/javascripts/weedwacker.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/weekly_newsletters.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/yahoo_posts.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/ccount.css.scss: -------------------------------------------------------------------------------- 1 | .ccount-attach { 2 | font-size: 20px; 3 | } -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/debug.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the debug controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/email_newsletter.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the EmailNewsletter controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/formats.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Formats controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/nav.css.scss: -------------------------------------------------------------------------------- 1 | 2 | .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { 3 | border-bottom: 3px solid #428bca; 4 | background: #FFF !important; 5 | } 6 | 7 | .navbar-brand { 8 | padding: 10px 15px 10px 15px !important; 9 | } 10 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/photos.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Photos controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/public.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Public controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | 5 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/ratings.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Ratings controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/scaffolds.css.scss: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/search.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Search controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/sessions.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the sessions controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/tags.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Tags controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/user_deploy_api.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the UserDeployAPI controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin/users.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the users controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin_analytics.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the AdminAnalytics controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin_api_v1.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the admin_api_v1 controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin_gator.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the admin_gator controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin_google_doc.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the AdminGoogleDoc controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/admin_simple.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the admin_simple controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/amicus.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Amicus controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/_buttons.scss: -------------------------------------------------------------------------------- 1 | button, 2 | input[type="submit"] { 3 | @extend %button; 4 | @include appearance(none); 5 | border: none; 6 | cursor: pointer; 7 | user-select: none; 8 | vertical-align: middle; 9 | white-space: nowrap; 10 | } 11 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/_flashes.scss: -------------------------------------------------------------------------------- 1 | %flash-alert { 2 | @include flash($alert-color); 3 | } 4 | 5 | %flash-error { 6 | @include flash($error-color); 7 | } 8 | 9 | %flash-notice { 10 | @include flash($notice-color); 11 | } 12 | 13 | %flash-success { 14 | @include flash($success-color); 15 | } 16 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/_grid-settings.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/stylesheets/app/base/_grid-settings.scss -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/_typography.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/assets/stylesheets/app/base/_typography.scss -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/extends/_button.scss: -------------------------------------------------------------------------------- 1 | %button { 2 | -webkit-font-smoothing: antialiased; 3 | background-color: $base-button-color; 4 | border-radius: $base-border-radius; 5 | color: white; 6 | display: inline-block; 7 | font-size: $base-font-size; 8 | font-weight: bold; 9 | line-height: 1; 10 | padding: .75em 1em; 11 | text-decoration: none; 12 | 13 | &:hover { 14 | background-color: $hover-button-color; 15 | color: white; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/extends/_clearfix.scss: -------------------------------------------------------------------------------- 1 | %clearfix { 2 | @include clearfix; 3 | } 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/extends/_hide-text.scss: -------------------------------------------------------------------------------- 1 | %hide-text { 2 | @include hide-text; 3 | } 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/app/base/mixins/_flash.scss: -------------------------------------------------------------------------------- 1 | @mixin flash($color) { 2 | background: $color; 3 | color: darken($color, 60); 4 | font-weight: bold; 5 | margin-bottom: $base-line-height / 2; 6 | padding: $base-line-height / 2; 7 | 8 | a { 9 | color: darken($color, 70); 10 | 11 | &:hover { 12 | color: darken($color, 90); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/assets/stylesheets/asset_files.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the AssetFiles controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/assets.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Assets controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/documents.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Documents controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ -------------------------------------------------------------------------------- /app/assets/stylesheets/freeform_stream_promos.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the FreeformStreamPromos controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/partner_pageviews.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the PartnerPageviews controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/partners.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Partners controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/post_deploy_tokens.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the PostDeployTokens controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/post_locks.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the PostLocks controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/post_sharables.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the PostSharables controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/pretest.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the pretest controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/project_repo.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the ProjectRepo controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/project_router.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the project_router controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/public_partner.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the public_partner controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/rss.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the RSS controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/sitemap.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the Sitemap controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/user_features.css.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the UserFeatures controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/weedwacker.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the weedwacker controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/weekly_newsletters.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the weekly_newsletters controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/yahoo_posts.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the YahooPosts controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/controllers/admin_simple_controller.rb: -------------------------------------------------------------------------------- 1 | class AdminSimpleController < ApplicationController 2 | before_action :verify_current_user_present 3 | 4 | def edit 5 | PostLockSweeper.new.perform # sync! 6 | 7 | @post = Post.find_by_id(params[:post_id]) 8 | @post ||= Post.new 9 | 10 | if @post.persisted? 11 | @post_lock = PostLock.acquire(user: current_user, post: @post) 12 | end 13 | 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /app/controllers/concerns/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/controllers/concerns/.keep -------------------------------------------------------------------------------- /app/controllers/debug_controller.rb: -------------------------------------------------------------------------------- 1 | class DebugController < ApplicationController 2 | before_action :verify_current_user_present 3 | def throw_error 4 | raise "I have no idea what I'm doing." 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /app/controllers/embed_controller.rb: -------------------------------------------------------------------------------- 1 | class EmbedController < ApplicationController 2 | after_action :allow_iframe 3 | 4 | def v1_email 5 | render layout: false 6 | end 7 | 8 | private 9 | 10 | def allow_iframe 11 | # https://stackoverflow.com/questions/18445782/how-to-override-x-frame-options-for-a-controller-or-action-in-rails-4 12 | response.headers.except!('X-Frame-Options') 13 | end 14 | end -------------------------------------------------------------------------------- /app/controllers/landing_page_controller.rb: -------------------------------------------------------------------------------- 1 | class LandingPageController < ApplicationController 2 | 3 | def victim 4 | redirect_to "/2015/12/16/an-unbelievable-story-of-rape#.SxkSdehUz", status: :moved_permanently 5 | end 6 | 7 | end -------------------------------------------------------------------------------- /app/controllers/pretest_controller.rb: -------------------------------------------------------------------------------- 1 | class PretestController < ApplicationController 2 | def slow 3 | @inject_public_cache_control = true 4 | sleep 2 5 | render plain: "slow #{Time.now.utc.to_s}" 6 | end 7 | 8 | def error 9 | @inject_public_cache_control = true 10 | if rand() < 0.9 11 | render plain: "oops #{Time.now.utc.to_s}", status: 500 12 | else 13 | render plain: "ok #{Time.now.utc.to_s}" 14 | end 15 | end 16 | 17 | end 18 | -------------------------------------------------------------------------------- /app/controllers/project_repo_controller.rb: -------------------------------------------------------------------------------- 1 | class ProjectReposController < ApplicationController 2 | before_action :verify_current_user_present 3 | 4 | def index 5 | @repos = ProjectRepo.new.all 6 | render json: @repos 7 | end 8 | 9 | def show 10 | @repo = ProjectRepo.new(slug: params[:slug]) 11 | render json: @repo 12 | end 13 | 14 | end 15 | -------------------------------------------------------------------------------- /app/controllers/project_repos_controller.rb: -------------------------------------------------------------------------------- 1 | class ProjectReposController < ApplicationController 2 | before_action :verify_current_user_present 3 | 4 | def index 5 | @repos = ProjectRepo.new.all 6 | render json: { 7 | repos: @repos['values'].map do |repo| 8 | { 9 | name: repo['name'] 10 | } 11 | end 12 | } 13 | 14 | end 15 | 16 | def show 17 | @repo = ProjectRepo.new(slug: params[:slug]) 18 | render json: @repo 19 | end 20 | 21 | end 22 | -------------------------------------------------------------------------------- /app/controllers/search_controller.rb: -------------------------------------------------------------------------------- 1 | class SearchController < ApplicationController 2 | before_action :verify_current_user_present 3 | def search 4 | @posts = Post.where("title @@ :q or content @@ :q", q: params[:q]) 5 | @links = Link.where("title @@ :q or html @@ :q", q: params[:q]) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /app/controllers/sitemap_controller.rb: -------------------------------------------------------------------------------- 1 | class SitemapController < ApplicationController 2 | 3 | layout nil 4 | 5 | def index 6 | headers['Content-Type'] = 'application/xml' 7 | @inject_public_cache_control = true 8 | 9 | last_post = Post.published.order('revised_at DESC').first 10 | if stale?(etag: last_post, last_modified: last_post.revised_at.utc) 11 | @posts = Post.published.order('revised_at DESC').all 12 | end 13 | end 14 | 15 | end -------------------------------------------------------------------------------- /app/helpers/admin_analytics_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminAnalyticsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_api_v1_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminApiV1Helper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_gator_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminGatorHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_google_doc_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminGoogleDocHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_simple_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminSimpleHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/admin_slack_bot_helper.rb: -------------------------------------------------------------------------------- 1 | module AdminSlackBotHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/amicus_helper.rb: -------------------------------------------------------------------------------- 1 | module AmicusHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/asset_files_helper.rb: -------------------------------------------------------------------------------- 1 | module AssetFilesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/assets_helper.rb: -------------------------------------------------------------------------------- 1 | module AssetsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/collections_helper.rb: -------------------------------------------------------------------------------- 1 | module CollectionsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/debug_helper.rb: -------------------------------------------------------------------------------- 1 | module DebugHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/documents_helper.rb: -------------------------------------------------------------------------------- 1 | module DocumentsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/donate_helper.rb: -------------------------------------------------------------------------------- 1 | module DonateHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/email_newsletter_helper.rb: -------------------------------------------------------------------------------- 1 | module EmailNewsletterHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/formats_helper.rb: -------------------------------------------------------------------------------- 1 | module FormatsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/freeform_stream_promos_helper.rb: -------------------------------------------------------------------------------- 1 | module FreeformStreamPromosHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/graphics_helper.rb: -------------------------------------------------------------------------------- 1 | module GraphicsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/letters_helper.rb: -------------------------------------------------------------------------------- 1 | module LettersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/links_helper.rb: -------------------------------------------------------------------------------- 1 | module LinksHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/members_helper.rb: -------------------------------------------------------------------------------- 1 | module MembersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/newsletters_helper.rb: -------------------------------------------------------------------------------- 1 | module NewslettersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/partner_pageviews_helper.rb: -------------------------------------------------------------------------------- 1 | module PartnerPageviewsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/partners_helper.rb: -------------------------------------------------------------------------------- 1 | module PartnersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/photos_helper.rb: -------------------------------------------------------------------------------- 1 | module PhotosHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/post_deploy_tokens_helper.rb: -------------------------------------------------------------------------------- 1 | module PostDeployTokensHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/post_locks_helper.rb: -------------------------------------------------------------------------------- 1 | module PostLocksHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/post_shareables_helper.rb: -------------------------------------------------------------------------------- 1 | module PostShareablesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/post_threads_helper.rb: -------------------------------------------------------------------------------- 1 | module PostThreadsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/posts_helper.rb: -------------------------------------------------------------------------------- 1 | module PostsHelper 2 | 3 | def self.social_hash_id 4 | chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 5 | hash = (1..9).map{ 6 | chars[SecureRandom.random_number(chars.length)] 7 | }.join('') 8 | "#." + hash 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /app/helpers/pretest_helper.rb: -------------------------------------------------------------------------------- 1 | module PretestHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/project_repo_helper.rb: -------------------------------------------------------------------------------- 1 | module ProjectRepoHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/project_router_helper.rb: -------------------------------------------------------------------------------- 1 | module ProjectRouterHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/public_helper.rb: -------------------------------------------------------------------------------- 1 | module PublicHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/public_partner_helper.rb: -------------------------------------------------------------------------------- 1 | module PublicPartnerHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/ratings_helper.rb: -------------------------------------------------------------------------------- 1 | module RatingsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/rattle_can_helper.rb: -------------------------------------------------------------------------------- 1 | module RattleCanHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/rss_helper.rb: -------------------------------------------------------------------------------- 1 | module RssHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/search_helper.rb: -------------------------------------------------------------------------------- 1 | module SearchHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/sessions_helper.rb: -------------------------------------------------------------------------------- 1 | module SessionsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/sitemap_helper.rb: -------------------------------------------------------------------------------- 1 | module SitemapHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/static_pages_helper.rb: -------------------------------------------------------------------------------- 1 | module StaticPagesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/tags_helper.rb: -------------------------------------------------------------------------------- 1 | module TagsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/user_deploy_api_helper.rb: -------------------------------------------------------------------------------- 1 | module UserDeployApiHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/user_features_helper.rb: -------------------------------------------------------------------------------- 1 | module UserFeaturesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/users_helper.rb: -------------------------------------------------------------------------------- 1 | module UsersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/weedwacker_helper.rb: -------------------------------------------------------------------------------- 1 | module WeedwackerHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/weekly_newsletters_helper.rb: -------------------------------------------------------------------------------- 1 | module WeeklyNewslettersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/yahoo_posts_helper.rb: -------------------------------------------------------------------------------- 1 | module YahooPostsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/lib/assets/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/lib/assets/.keep -------------------------------------------------------------------------------- /app/lib/collections/link_partial.rb: -------------------------------------------------------------------------------- 1 | class Collections::LinkPartial < Mustache 2 | 3 | def initialize(link: nil) 4 | attrs = CollectionItemPresenter.new(link).render 5 | attrs.each do |k, v| 6 | self[k] = v 7 | end 8 | end 9 | 10 | def template 11 | File.read(File.join(Rails.root, "app", "lib", "collections", "link_partial.mustache")) 12 | end 13 | 14 | end -------------------------------------------------------------------------------- /app/lib/collections/post_partial.rb: -------------------------------------------------------------------------------- 1 | class Collections::PostPartial < Mustache 2 | 3 | def initialize(post: nil) 4 | attrs = CollectionItemPresenter.new(post).render 5 | attrs.each do |k, v| 6 | self[k] = v 7 | end 8 | end 9 | 10 | def template 11 | File.read(File.join(Rails.root, "app", "lib", "collections", "post_partial.mustache")) 12 | end 13 | 14 | end -------------------------------------------------------------------------------- /app/lib/cookie_vault.rb: -------------------------------------------------------------------------------- 1 | class CookieVault 2 | def self.crypt 3 | key = ActiveSupport::KeyGenerator.new(ENV['COOKIE_VAULT_PASSWORD']).generate_key(ENV['COOKIE_VAULT_SALT']) 4 | ActiveSupport::MessageEncryptor.new(key) 5 | end 6 | 7 | def self.encrypt(text) 8 | self.crypt.encrypt_and_sign(text) 9 | end 10 | 11 | def self.decrypt(text) 12 | self.crypt.decrypt_and_verify(text) 13 | end 14 | end -------------------------------------------------------------------------------- /app/lib/domain_to_organization.rb: -------------------------------------------------------------------------------- 1 | class DomainToOrganization 2 | 3 | def self.data 4 | contents = File.read(File.join(Rails.root, 'data', 'domain_to_organization.yml')) 5 | return HashWithIndifferentAccess.new(YAML.load(contents)) 6 | end 7 | 8 | def self.lookup(domain) 9 | domain = domain.to_s 10 | 11 | org = self.data[domain] 12 | 13 | if org.blank? 14 | return domain 15 | else 16 | return org 17 | end 18 | end 19 | 20 | end 21 | -------------------------------------------------------------------------------- /app/lib/es_index_all_links_worker.rb: -------------------------------------------------------------------------------- 1 | class ESIndexAllLinksWorker 2 | include Sidekiq::Worker 3 | sidekiq_options :retry => false 4 | 5 | def perform 6 | puts "ESIndexAllLinksWorker rebuilding index" 7 | puts ES.index_all_links 8 | end # perform 9 | 10 | end -------------------------------------------------------------------------------- /app/lib/es_index_all_posts_worker.rb: -------------------------------------------------------------------------------- 1 | class ESIndexAllPostsWorker 2 | include Sidekiq::Worker 3 | sidekiq_options :retry => false 4 | 5 | def perform 6 | puts "ESIndexAllPostsWorker rebuilding index" 7 | puts ES.index_all_published_posts 8 | end # perform 9 | 10 | end -------------------------------------------------------------------------------- /app/lib/gator_tag_update_post.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/lib/gator_tag_update_post.rb -------------------------------------------------------------------------------- /app/lib/google_doc_markdown_converter_v2.rb: -------------------------------------------------------------------------------- 1 | class GoogleDocMarkdownConverterV2 2 | 3 | end 4 | -------------------------------------------------------------------------------- /app/lib/hammer_string.rb: -------------------------------------------------------------------------------- 1 | class HammerString 2 | def self.coerce(dirty) 3 | dirty.to_s.force_encoding("UTF-8").encode("UTF-8", invalid: :replace, replace: "") 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/lib/post_projection.rb: -------------------------------------------------------------------------------- 1 | class PostProjection 2 | 3 | attr_reader :post 4 | def initialize(post) 5 | @post = post 6 | self 7 | end 8 | 9 | def to_array 10 | post_renderer = PostRenderer.new(post) 11 | html = post_renderer.render_markdown() 12 | doc = Nokogiri::HTML(post.content) 13 | 14 | doc.css('body > *').map do |el| 15 | el.to_html 16 | end 17 | end 18 | 19 | end -------------------------------------------------------------------------------- /app/lib/post_shareable_maybe.rb: -------------------------------------------------------------------------------- 1 | class PostShareableMaybe 2 | def self.override(shareable, post, col) 3 | if shareable.present? and shareable.respond_to?(col) and shareable.send(col).present? 4 | shareable.send(col) 5 | else 6 | post.send(col) 7 | end 8 | end 9 | end -------------------------------------------------------------------------------- /app/lib/report_v1.rb: -------------------------------------------------------------------------------- 1 | require 'securerandom' 2 | 3 | class ReportV1 4 | 5 | def self.generate_id 6 | SecureRandom.urlsafe_base64 7 | end 8 | 9 | def self.fulfill_report(id, content) 10 | Rails.cache.write("report/v1/#{id}", content) 11 | end 12 | 13 | def self.find_by_id(id) 14 | Rails.cache.read("report/v1/#{id}") 15 | end 16 | 17 | end -------------------------------------------------------------------------------- /app/lib/shortcode_divider.rb: -------------------------------------------------------------------------------- 1 | class ShortcodeDivider 2 | def self.regex 3 | /\[divider\]([\s\S]*?)\[\/divider\]/m 4 | end 5 | def self.parse(full_text) 6 | full_text.gsub!(self.regex) do |capture| 7 | inner_html = $1 8 | ['
<%= post.path %> | 6 |<%= link['href'] %> | 7 |<%= link.text %> | 8 |
<%= item.class %> | 5 |<%= link_to (item.try(:title) || item.try(:name) || item.id), edit_polymorphic_path(item) %> 6 | | <%= item.published_at %> | 7 |
Find me in app/views/admin/users.html.erb
3 | -------------------------------------------------------------------------------- /app/views/admin_analytics/email_v1.html.erb: -------------------------------------------------------------------------------- 1 |<%= post[:post].title %> | 7 |<%= post[:count] %> | 8 |
15 | <%= JSON.pretty_generate @source %> 16 |-------------------------------------------------------------------------------- /app/views/admin_analytics/ga_test.html.erb: -------------------------------------------------------------------------------- 1 |
Find me in app/views/admin_analytics/ga_test.html.erb
3 | -------------------------------------------------------------------------------- /app/views/admin_analytics/partners.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/admin_analytics/partners.html.erb
3 | -------------------------------------------------------------------------------- /app/views/admin_analytics/partners_nojs.html.erb: -------------------------------------------------------------------------------- 1 |Slug | 4 |Pageviews | 5 | 6 | <% (@response['aggregations']['group_by_slug']['buckets'] rescue []).each do |slug| %> 7 |
---|---|
<%= slug['key'] %> | 9 |<%= slug['doc_count'] %> | 10 |
<%= JSON.pretty_generate @response %>-------------------------------------------------------------------------------- /app/views/admin_api_v1/preview_gist.html.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | <%= render "public/posts/#{post_format}" %> 4 | 5 | <% if params.keys.include? 'debug' %> 6 |
<%= YAML.dump @debug %>7 | <% end %> -------------------------------------------------------------------------------- /app/views/admin_api_v1/preview_post_via_post.html.erb: -------------------------------------------------------------------------------- 1 | <%= render "public/posts/#{post_format}" %> -------------------------------------------------------------------------------- /app/views/admin_gator/index.html.erb: -------------------------------------------------------------------------------- 1 |
Find me in app/views/admin_google_doc/oauth_callback.html.erb
3 | -------------------------------------------------------------------------------- /app/views/admin_google_doc/parse_spreadsheet.html.erb: -------------------------------------------------------------------------------- 1 | <%= raw @html %> -------------------------------------------------------------------------------- /app/views/admin_slack_bot/incoming_slash_command.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/admin_slack_bot/incoming_slash_command.html.erb
3 | -------------------------------------------------------------------------------- /app/views/amicus/preview.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/amicus/preview.html.erb
3 | -------------------------------------------------------------------------------- /app/views/amicus/preview_draft.html.erb: -------------------------------------------------------------------------------- 1 | <%= render "public/posts/#{@post.post_format}" %> -------------------------------------------------------------------------------- /app/views/amicus/sync.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/amicus/sync.html.erb
3 | -------------------------------------------------------------------------------- /app/views/amicus/update.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/amicus/update.html.erb
3 | -------------------------------------------------------------------------------- /app/views/asset_files/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= notice %>
2 | 3 |4 | Asset: 5 | <%= @asset_file.asset_id %> 6 |
7 | 8 |9 | S3 bucket: 10 | <%= @asset_file.s3_bucket %> 11 |
12 | 13 |14 | S3 key: 15 | <%= @asset_file.s3_key %> 16 |
17 | 18 | <%= link_to 'Edit', edit_asset_file_path(@asset_file) %> | 19 | <%= link_to 'Back', asset_files_path %> 20 | -------------------------------------------------------------------------------- /app/views/asset_files/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @asset_file, :id, :asset_id, :s3_bucket, :s3_key, :created_at, :updated_at 2 | -------------------------------------------------------------------------------- /app/views/collections/api_v1_items.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/collections/api_v1_items.html.erb
3 | -------------------------------------------------------------------------------- /app/views/debug/throw_error.html.erb: -------------------------------------------------------------------------------- 1 |Find me in app/views/debug/throw_error.html.erb
3 | -------------------------------------------------------------------------------- /app/views/documents/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= document['title'] %> |
6 | <%= document['id'] %> | 7 |<%= link_to 'Ingest', ingest_document_path(document['id']), method: :post, class: "btn btn-success pull-right btn-padded" %> | 9 |
7 | <%= $!.inspect %> 8 |9 | <% end %> -------------------------------------------------------------------------------- /app/views/featured_blocks/show.html.erb: -------------------------------------------------------------------------------- 1 |
<%= notice %>
2 | 3 |4 | Template: 5 | <%= @featured_block.template %> 6 |
7 | 8 |9 | Slots: 10 | <%= @featured_block.slots %> 11 |
12 | 13 |14 | Published: 15 | <%= @featured_block.published %> 16 |
17 | 18 | <%= link_to 'Edit', edit_featured_block_path(@featured_block) %> | 19 | <%= link_to 'Back', featured_blocks_path %> 20 | -------------------------------------------------------------------------------- /app/views/featured_blocks/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @featured_block, :id, :template, :slots, :published, :created_at, :updated_at 2 | -------------------------------------------------------------------------------- /app/views/freeform_stream_promos/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= notice %>
2 | 3 |4 | Slug: 5 | <%= @graphic.slug %> 6 |
7 | 8 |9 | Deploy Token: 10 | <%= @graphic.deploy_token %> 11 |
12 | 13 |14 | <%= @graphic.html %> 15 |16 | 17 | <%= link_to 'Edit', edit_graphic_path(@graphic) %> | 18 | <%= link_to 'Back', graphics_path %> 19 | -------------------------------------------------------------------------------- /app/views/graphics/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @graphic, :id, :slug, :html, :head, :created_at, :updated_at 2 | -------------------------------------------------------------------------------- /app/views/landing_page/victim.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/views/landing_page/victim.html.erb -------------------------------------------------------------------------------- /app/views/layouts/_admin_analytics.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themarshallproject/open-endrun/172b5f15bdd2939d993385c36c2ab54593c35ffe/app/views/layouts/_admin_analytics.html.erb -------------------------------------------------------------------------------- /app/views/layouts/_debug_box.html.erb: -------------------------------------------------------------------------------- 1 |