Integrate Embed API where we expect it. (#3356)
* Integrate Embed where we expect it. * Re-enable ImportedFile creation * Filter files to only HTML. * Fix tests * Update media filesmore-gsoc
parent
d4c21b95e6
commit
1a053bdf35
|
@ -110,7 +110,7 @@ function EmbedView (config) {
|
|||
self.api_example = ko.observable(null);
|
||||
|
||||
self.show_help = function () {
|
||||
var embed = new rtd.Embed();
|
||||
var embed = new rtd.Embed(self.config);
|
||||
embed.section(
|
||||
'docs', 'latest', 'features/embed', 'Content Embedding',
|
||||
_show_modal
|
||||
|
@ -118,7 +118,7 @@ function EmbedView (config) {
|
|||
};
|
||||
|
||||
self.show_embed = function () {
|
||||
var embed = new rtd.Embed();
|
||||
var embed = new rtd.Embed(self.config);
|
||||
_show_modal(self.response());
|
||||
};
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -786,20 +786,17 @@ def fileify(version_pk, commit):
|
|||
"""
|
||||
Create ImportedFile objects for all of a version's files.
|
||||
|
||||
This is a prereq for indexing the docs for search.
|
||||
It also causes celery-haystack to kick off an index of the file.
|
||||
This is so we have an idea of what files we have in the database.
|
||||
"""
|
||||
version = Version.objects.get(pk=version_pk)
|
||||
project = version.project
|
||||
|
||||
if not project.cdn_enabled:
|
||||
return
|
||||
|
||||
if not commit:
|
||||
log.info(LOG_TEMPLATE
|
||||
.format(project=project.slug, version=version.slug,
|
||||
msg=('Imported File not being built because no commit '
|
||||
'information')))
|
||||
return
|
||||
|
||||
path = project.rtd_build_path(version.slug)
|
||||
if path:
|
||||
|
@ -848,12 +845,12 @@ def _manage_imported_files(version, path, commit):
|
|||
version=version
|
||||
).exclude(commit=commit).delete()
|
||||
# Purge Cache
|
||||
changed_files = [resolve_path(
|
||||
version.project, filename=fname, version_slug=version.slug,
|
||||
) for fname in changed_files]
|
||||
cdn_ids = getattr(settings, 'CDN_IDS', None)
|
||||
if cdn_ids:
|
||||
if version.project.slug in cdn_ids:
|
||||
changed_files = [resolve_path(
|
||||
version.project, filename=fname, version_slug=version.slug,
|
||||
) for fname in changed_files]
|
||||
purge(cdn_ids[version.project.slug], changed_files)
|
||||
|
||||
|
||||
|
|
|
@ -45,6 +45,11 @@ urlpatterns = [
|
|||
public.project_embed,
|
||||
name='project_embed'),
|
||||
|
||||
# url((r'^(?P<project_slug>{project_slug})/tools/analytics/$'
|
||||
# .format(**pattern_opts)),
|
||||
# public.project_analytics,
|
||||
# name='project_analytics'),
|
||||
|
||||
url(r'^(?P<project_slug>{project_slug})/search/$'.format(**pattern_opts),
|
||||
public.elastic_project_search,
|
||||
name='elastic_project_search'),
|
||||
|
|
|
@ -420,7 +420,7 @@ def project_embed(request, project_slug):
|
|||
project = get_object_or_404(Project.objects.protected(request.user),
|
||||
slug=project_slug)
|
||||
version = project.versions.get(slug=LATEST)
|
||||
files = version.imported_files.order_by('path')
|
||||
files = version.imported_files.filter(name__endswith='.html').order_by('path')
|
||||
|
||||
return render_to_response(
|
||||
'projects/project_embed.html',
|
||||
|
@ -428,7 +428,7 @@ def project_embed(request, project_slug):
|
|||
'project': project,
|
||||
'files': files,
|
||||
'settings': {
|
||||
'GROK_API_HOST': settings.GROK_API_HOST,
|
||||
'PUBLIC_API_URL': settings.PUBLIC_API_URL,
|
||||
'URI': request.build_absolute_uri(location='/').rstrip('/')
|
||||
}
|
||||
},
|
||||
|
|
|
@ -9,10 +9,10 @@ import os
|
|||
from readthedocs.core.settings import Settings
|
||||
|
||||
try:
|
||||
import readthedocsext.donate # noqa
|
||||
donate = True
|
||||
import readthedocsext # noqa
|
||||
ext = True
|
||||
except ImportError:
|
||||
donate = False
|
||||
ext = False
|
||||
|
||||
|
||||
_ = gettext = lambda s: s
|
||||
|
@ -113,9 +113,10 @@ class CommunityBaseSettings(Settings):
|
|||
'allauth.socialaccount.providers.bitbucket',
|
||||
'allauth.socialaccount.providers.bitbucket_oauth2',
|
||||
]
|
||||
if donate:
|
||||
if ext:
|
||||
apps.append('django_countries')
|
||||
apps.append('readthedocsext.donate')
|
||||
apps.append('readthedocsext.embed')
|
||||
return apps
|
||||
|
||||
TEMPLATE_LOADERS = (
|
||||
|
|
|
@ -22,7 +22,7 @@ Tools
|
|||
var project_tools = require('projects/tools');
|
||||
$(document).ready(function () {
|
||||
project_tools.init_embed({
|
||||
api_host: '{{ settings.GROK_API_HOST }}',
|
||||
api_host: '{{ settings.PUBLIC_API_URL }}',
|
||||
uri: '{{ settings.URI }}',
|
||||
project: '{{ project.slug }}'
|
||||
});
|
||||
|
|
|
@ -89,6 +89,13 @@ if 'readthedocsext.donate' in settings.INSTALLED_APPS:
|
|||
groups.append([
|
||||
url(r'^sustainability/', include('readthedocsext.donate.urls')),
|
||||
])
|
||||
|
||||
if 'readthedocsext.embed' in settings.INSTALLED_APPS:
|
||||
api_urls.insert(
|
||||
0,
|
||||
url(r'^api/v1/embed/', include('readthedocsext.embed.urls'))
|
||||
)
|
||||
|
||||
if not getattr(settings, 'USE_SUBDOMAIN', False) or settings.DEBUG:
|
||||
groups.insert(0, docs_urls)
|
||||
if getattr(settings, 'ALLOW_ADMIN', True):
|
||||
|
|
Loading…
Reference in New Issue