v0.6.0 更新内容详见changes.md
This commit is contained in:
parent
a2f991d88e
commit
c55c8e3e0a
12
CHANGES.md
12
CHANGES.md
@ -1,5 +1,17 @@
|
||||
## 版本更新记录
|
||||
|
||||
### v0.6.0 2020-10-18
|
||||
|
||||
- 新增站点名称、副标题、备案号、关键词等站点信息配置功能;
|
||||
- 新增文集转让功能;
|
||||
- 新增后台对文档图片缩略显示的配置;
|
||||
- 新增Vditor编辑器模式插入文档模板功能;
|
||||
- 新增Editormd编辑器模式下时间线语法的支持;
|
||||
- 新增首页文集的排序配置,支持升序和降序配置;
|
||||
- 修复导入文集的文档内容无法搜索的问题;
|
||||
- 前台页面和后台页面默认显示用户昵称,用户昵称为空时显示用户名;
|
||||
- 升级Vditor组件库版本至3.5.5;
|
||||
|
||||
### v0.5.9 2020-09-26
|
||||
|
||||
- 新增对Vditor编辑器的支持,个人中心可选择编辑器;
|
||||
|
||||
@ -40,7 +40,7 @@ SECRET_KEY = '5&71mt9@^58zdg*_!t(x6g14q*@84d%ptr%%s6e0l50zs0we3d'
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = CONFIG.getboolean('site','debug')
|
||||
|
||||
VERSIONS = '0.5.9'
|
||||
VERSIONS = '0.6.0'
|
||||
|
||||
ALLOWED_HOSTS = ['*']
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
## MrDoc觅道文档 - 记录文档,汇聚思想 - [English](./README_ENG.md)
|
||||
|
||||
  
|
||||
  
|
||||
|
||||

|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
## MrDoc - Writing documents, gathering ideas
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
|
||||

|
||||
|
||||
@ -564,16 +564,27 @@ def admin_setting(request):
|
||||
types = request.POST.get('type',None)
|
||||
# 基础设置
|
||||
if types == 'basic':
|
||||
site_name = request.POST.get('site_name',None) # 站点名称
|
||||
site_sub_name = request.POST.get('site_sub_name', None) # 站点子标题
|
||||
site_keywords = request.POST.get('site_keywords', None) # 站点关键词
|
||||
site_desc = request.POST.get('site_desc', None) # 站点描述
|
||||
beian_code = request.POST.get('beian_code', None) # 备案号
|
||||
index_project_sort = request.POST.get('index_project_sort','1') # 首页文集默认排序
|
||||
close_register = request.POST.get('close_register',None) # 禁止注册
|
||||
require_login = request.POST.get('require_login',None) # 全站登录
|
||||
static_code = request.POST.get('static_code',None) # 统计代码
|
||||
ad_code = request.POST.get('ad_code',None) # 广告位1
|
||||
ad_code_2 = request.POST.get('ad_code_2',None) # 广告位2
|
||||
ad_code_3 = request.POST.get('ad_code_3', None) # 广告位3
|
||||
beian_code = request.POST.get('beian_code',None) # 备案号
|
||||
enbale_email = request.POST.get("enable_email",None) # 启用邮箱
|
||||
img_scale = request.POST.get('img_scale',None) # 图片缩略
|
||||
enable_register_code = request.POST.get('enable_register_code',None) # 注册邀请码
|
||||
enable_project_report = request.POST.get('enable_project_report',None) # 文集导出
|
||||
# 更新首页文集默认排序
|
||||
SysSetting.objects.update_or_create(
|
||||
name='index_project_sort',
|
||||
defaults={'value': index_project_sort, 'types': 'basic'}
|
||||
)
|
||||
# 更新开放注册状态
|
||||
SysSetting.objects.update_or_create(
|
||||
name='require_login',
|
||||
@ -608,6 +619,32 @@ def admin_setting(request):
|
||||
name='beian_code',
|
||||
defaults={'value':beian_code,'types':'basic'}
|
||||
)
|
||||
# 更新站点名称
|
||||
SysSetting.objects.update_or_create(
|
||||
name='site_name',
|
||||
defaults={'value': site_name, 'types': 'basic'}
|
||||
)
|
||||
# 更新站点子标题
|
||||
SysSetting.objects.update_or_create(
|
||||
name='site_sub_name',
|
||||
defaults={'value': site_sub_name, 'types': 'basic'}
|
||||
)
|
||||
# 更新站点关键词
|
||||
SysSetting.objects.update_or_create(
|
||||
name='site_keywords',
|
||||
defaults={'value': site_keywords, 'types': 'basic'}
|
||||
)
|
||||
# 更新站点描述
|
||||
SysSetting.objects.update_or_create(
|
||||
name='site_desc',
|
||||
defaults={'value': site_desc, 'types': 'basic'}
|
||||
)
|
||||
|
||||
# 更新图片缩略状态
|
||||
SysSetting.objects.update_or_create(
|
||||
name='img_scale',
|
||||
defaults={'value': img_scale, 'types': 'basic'}
|
||||
)
|
||||
# 更新邮箱启用状态
|
||||
SysSetting.objects.update_or_create(
|
||||
name='enable_email',
|
||||
|
||||
@ -21,6 +21,7 @@ urlpatterns = [
|
||||
path('manage_pro_colla_self/',views.manage_pro_colla_self,name="manage_pro_colla_self"), # 我协作的文集
|
||||
path('manage_project_import/',import_views.import_project,name="import_project"), # 导入文集
|
||||
path('manage_project_doc_sort/',import_views.project_doc_sort,name='project_doc_sort'), # 导入文集文档排序
|
||||
path('manage_project_transfer/<int:pro_id>/',views.manage_project_transfer,name='manage_pro_transfer'), # 文集转让
|
||||
#################文档相关
|
||||
path('project-<int:pro_id>/doc-<int:doc_id>/', views.doc, name='doc'), # 文档浏览页
|
||||
path('create_doc/', views.create_doc, name="create_doc"), # 新建文档
|
||||
|
||||
111
app_doc/views.py
111
app_doc/views.py
@ -21,12 +21,14 @@ from app_admin.models import UserOptions,SysSetting
|
||||
from app_admin.decorators import check_headers,allow_report_file
|
||||
import os.path
|
||||
|
||||
|
||||
# 替换前端传来的非法字符
|
||||
def validateTitle(title):
|
||||
rstr = r"[\/\\\:\*\?\"\<\>\|\[\]]" # '/ \ : * ? " < > |'
|
||||
new_title = re.sub(rstr, "_", title) # 替换为下划线
|
||||
return new_title
|
||||
|
||||
|
||||
# 获取文集的文档目录
|
||||
def get_pro_toc(pro_id):
|
||||
# try:
|
||||
@ -101,16 +103,26 @@ def get_pro_toc(pro_id):
|
||||
# else:
|
||||
return (doc_list,n)
|
||||
|
||||
|
||||
# 文集列表(首页)
|
||||
@logger.catch()
|
||||
def project_list(request):
|
||||
kw = request.GET.get('kw','') # 搜索词
|
||||
sort = request.GET.get('sort',0) # 排序,0表示按时间升序排序,1表示按时间降序排序,默认为0
|
||||
sort = request.GET.get('sort','') # 排序,0表示按时间升序排序,1表示按时间降序排序,''表示按后台配置排序,默认为''
|
||||
role = request.GET.get('role',-1) # 筛选文集权限,默认为显示所有可显示的文集
|
||||
|
||||
# 是否排序
|
||||
if sort in ['',0,'0']:
|
||||
if sort in [0,'0']:
|
||||
sort_str = ''
|
||||
elif sort == '':
|
||||
try:
|
||||
index_project_sort = SysSetting.objects.get(name='index_project_sort')
|
||||
if index_project_sort.value == '-1':
|
||||
sort_str = '-'
|
||||
else:
|
||||
sort_str = ''
|
||||
except:
|
||||
sort_str = ''
|
||||
else:
|
||||
sort_str = '-'
|
||||
|
||||
@ -249,6 +261,7 @@ def project_list(request):
|
||||
projects = paginator.page(paginator.num_pages)
|
||||
return render(request, 'app_doc/pro_list.html', locals())
|
||||
|
||||
|
||||
# 创建文集
|
||||
@login_required()
|
||||
@require_http_methods(['POST'])
|
||||
@ -345,6 +358,7 @@ def modify_project(request):
|
||||
if request.method == 'GET':
|
||||
pro_id = request.GET.get('pro_id', None)
|
||||
pro = Project.objects.get(id=pro_id)
|
||||
project_files = ProjectReportFile.objects.filter(project=pro) # 文集的导出文件列表
|
||||
# 验证用户有权限修改文集
|
||||
if (request.user == pro.create_user) or request.user.is_superuser:
|
||||
return render(request,'app_doc/manage_project_options.html',locals())
|
||||
@ -386,27 +400,31 @@ def modify_project_role(request,pro_id):
|
||||
elif request.method == 'POST':
|
||||
role_type = request.POST.get('role','')
|
||||
if role_type != '':
|
||||
if int(role_type) in [0,1]:# 公开或私密
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role = role_type,
|
||||
modify_time = datetime.datetime.now()
|
||||
)
|
||||
if int(role_type) == 2: # 指定用户可见
|
||||
role_value = request.POST.get('tagsinput','')
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role=role_type,
|
||||
role_value = role_value,
|
||||
modify_time = datetime.datetime.now()
|
||||
)
|
||||
if int(role_type) == 3: # 访问码可见
|
||||
role_value = request.POST.get('viewcode','')
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role=role_type,
|
||||
role_value=role_value,
|
||||
modify_time=datetime.datetime.now()
|
||||
)
|
||||
pro = Project.objects.get(id=int(pro_id))
|
||||
return render(request, 'app_doc/manage_project_role.html', locals())
|
||||
try:
|
||||
if int(role_type) in [0,1]:# 公开或私密
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role = role_type,
|
||||
modify_time = datetime.datetime.now()
|
||||
)
|
||||
if int(role_type) == 2: # 指定用户可见
|
||||
role_value = request.POST.get('tagsinput','')
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role=role_type,
|
||||
role_value = role_value,
|
||||
modify_time = datetime.datetime.now()
|
||||
)
|
||||
if int(role_type) == 3: # 访问码可见
|
||||
role_value = request.POST.get('viewcode','')
|
||||
Project.objects.filter(id=int(pro_id)).update(
|
||||
role=role_type,
|
||||
role_value=role_value,
|
||||
modify_time=datetime.datetime.now()
|
||||
)
|
||||
pro = Project.objects.get(id=int(pro_id))
|
||||
# return render(request, 'app_doc/manage_project_role.html', locals())
|
||||
return JsonResponse({'status':True,'data':'ok'})
|
||||
except:
|
||||
return JsonResponse({'status':False,'data':'出错'})
|
||||
else:
|
||||
return Http404
|
||||
|
||||
@ -528,7 +546,8 @@ def modify_project_download(request,pro_id):
|
||||
ProjectReport.objects.update_or_create(
|
||||
project=pro, defaults={'allow_pdf': pdf_status}
|
||||
)
|
||||
return render(request,'app_doc/manage_project_download.html',locals())
|
||||
# return render(request,'app_doc/manage_project_download.html',locals())
|
||||
return JsonResponse({'status':True,'data':'ok'})
|
||||
|
||||
|
||||
# 文集协作管理
|
||||
@ -609,6 +628,38 @@ def manage_pro_colla_self(request):
|
||||
return render(request,'app_doc/manage_project_self_colla.html',locals())
|
||||
|
||||
|
||||
# 转让文集
|
||||
@login_required()
|
||||
@require_http_methods(['GET',"POST"])
|
||||
def manage_project_transfer(request,pro_id):
|
||||
try:
|
||||
pro = Project.objects.get(id=pro_id)
|
||||
except ObjectDoesNotExist:
|
||||
return Http404
|
||||
if (pro.create_user != request.user) and (request.user.is_superuser is False):
|
||||
return render(request,'403.html')
|
||||
else:
|
||||
if request.method == 'GET':
|
||||
user_list = User.objects.filter(~Q(username=request.user.username))
|
||||
return render(request,'app_doc/manage_project_transfer.html',locals())
|
||||
elif request.method == 'POST':
|
||||
user_name = request.POST.get('username',None)
|
||||
try:
|
||||
transfer_user = User.objects.get(username=user_name)
|
||||
init_user = pro.create_user
|
||||
# 修改文集的创建者
|
||||
pro.create_user = transfer_user
|
||||
pro.save()
|
||||
# 修改文集文档的创建者
|
||||
Doc.objects.filter(create_user=init_user,top_doc=pro_id).update(
|
||||
create_user=transfer_user
|
||||
)
|
||||
return JsonResponse({'status':True,'data':'ok'})
|
||||
|
||||
except:
|
||||
return JsonResponse({'status':False,'data':'用户不存在'})
|
||||
|
||||
|
||||
# 文档浏览页
|
||||
@require_http_methods(['GET'])
|
||||
def doc(request,pro_id,doc_id):
|
||||
@ -898,8 +949,11 @@ def del_doc(request):
|
||||
colla_user_role = 0
|
||||
except ObjectDoesNotExist:
|
||||
return JsonResponse({'status': False, 'data': '文档不存在'})
|
||||
# 如果请求用户为文档创建者、高级权限的协作者、文集的创建者,可以删除
|
||||
if (request.user == doc.create_user) or (colla_user_role == 1) or (request.user == project.create_user):
|
||||
# 如果请求用户为站点管理员、文档创建者、高级权限的协作者、文集的创建者,可以删除
|
||||
if (request.user == doc.create_user) \
|
||||
or (colla_user_role == 1) \
|
||||
or (request.user == project.create_user)\
|
||||
or (request.user.is_superuser):
|
||||
# 修改状态为删除
|
||||
doc.status = 3
|
||||
doc.modify_time = datetime.datetime.now()
|
||||
@ -1309,6 +1363,7 @@ def fast_publish_doc(request):
|
||||
else:
|
||||
return JsonResponse({'status':False,'data':'非法请求'})
|
||||
|
||||
|
||||
# 创建文档模板
|
||||
@login_required()
|
||||
@require_http_methods(['GET',"POST"])
|
||||
@ -2158,14 +2213,14 @@ def search(request):
|
||||
data_list = Doc.objects.filter(
|
||||
Q(top_doc__in=view_list), # 包含用户可浏览到的文集
|
||||
Q(create_time__gte=start_date, create_time__lte=end_date), # 筛选创建时间
|
||||
Q(name__icontains=kw) | Q(content__icontains=kw) # 筛选文档标题和内容中包含搜索词
|
||||
Q(name__icontains=kw) | Q(content__icontains=kw) | Q(pre_content__icontains=kw) # 筛选文档标题和内容中包含搜索词
|
||||
).order_by('-create_time')
|
||||
else:
|
||||
view_list = [i.id for i in Project.objects.filter(role=0)]
|
||||
data_list = Doc.objects.filter(
|
||||
Q(top_doc__in=view_list),
|
||||
Q(create_time__gte=start_date, create_time__lte=end_date), # 筛选创建时间
|
||||
Q(name__icontains=kw) | Q(content__icontains=kw) # 筛选文档标题和内容中包含搜索词
|
||||
Q(name__icontains=kw) | Q(content__icontains=kw) | Q(pre_content__icontains=kw) # 筛选文档标题和内容中包含搜索词
|
||||
).order_by('-create_time')
|
||||
|
||||
# 搜索文集
|
||||
|
||||
@ -3853,6 +3853,30 @@
|
||||
|
||||
return "<div class='echart' style='width:100%;min-height:350px;height:"+ custom_height +"px;' id='echart-"+ map_id +"'>"+code+"</div>";
|
||||
}
|
||||
else if(/^timeline/i.test(lang)){ // 时间线
|
||||
var time_line = '<ul class="layui-timeline">'
|
||||
// console.log(code)
|
||||
var timeline_code = code.split(/[(\r\n)\r\n]+/);
|
||||
// console.log(timeline_code)
|
||||
timeline_code.forEach(function(item,index){
|
||||
// console.log(item,index)
|
||||
if(item.match(/^# /)){ // 时间标题
|
||||
time_line += '<li class="layui-timeline-item" style="list-style:none;">'
|
||||
time_line += '<i class="layui-icon layui-timeline-axis"></i>'
|
||||
time_line += '<div class="layui-timeline-content layui-text">'
|
||||
time_line += '<h3 class="layui-timeline-title" style="margin-top:0px;">'
|
||||
time_line += item.replace('# ','')
|
||||
time_line += '</h3>'
|
||||
}else if(/^[=]{4,}$/.test(item)){
|
||||
time_line += '</div></li>'
|
||||
}else{
|
||||
time_line += marked(item)
|
||||
}
|
||||
})
|
||||
|
||||
time_line += '</ul>'
|
||||
return time_line;
|
||||
}
|
||||
else
|
||||
{
|
||||
return marked.Renderer.prototype.code.apply(this, arguments);
|
||||
|
||||
@ -360,6 +360,8 @@ li.active > a,li.active > div > a{
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 文档右侧悬浮工具 */
|
||||
/* 返回顶部 */
|
||||
.toTop {
|
||||
width: 40px;
|
||||
@ -371,14 +373,14 @@ li.active > a,li.active > div > a{
|
||||
/*返回顶部标签固定定位*/
|
||||
position: fixed;
|
||||
right: 35px;
|
||||
bottom: 35px;
|
||||
bottom: 45px;
|
||||
z-index: 999;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.toTop:hover {
|
||||
background: #eeeeee;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
color: red;
|
||||
}
|
||||
@ -395,17 +397,32 @@ li.active > a,li.active > div > a{
|
||||
right: 35px;
|
||||
bottom: 90px;
|
||||
z-index: 999;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.tocMenu:hover {
|
||||
.tocMenu:hover,.shareDoc:hover {
|
||||
background: #eeeeee;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
color: red;
|
||||
}
|
||||
.doc-toc-hide{
|
||||
display: none;
|
||||
}
|
||||
/* 分享按钮 */
|
||||
.shareDoc{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: #f6f6f6;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
/*返回顶部标签固定定位*/
|
||||
position: fixed;
|
||||
right: 35px;
|
||||
bottom: 135px;
|
||||
z-index: 999;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/*切换字号*/
|
||||
.switch-font{
|
||||
|
||||
4
static/vditor/dist/index.min.js
vendored
4
static/vditor/dist/index.min.js
vendored
File diff suppressed because one or more lines are too long
10
static/vditor/dist/js/lute/lute.min.js
vendored
10
static/vditor/dist/js/lute/lute.min.js
vendored
File diff suppressed because one or more lines are too long
68
static/vditor/dist/js/mermaid/mermaid.min.js
vendored
68
static/vditor/dist/js/mermaid/mermaid.min.js
vendored
File diff suppressed because one or more lines are too long
4
static/vditor/dist/method.min.js
vendored
4
static/vditor/dist/method.min.js
vendored
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>拒绝访问 - 觅道文档MrDoc</title>
|
||||
<title>拒绝访问 - {% if site_name != None %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>404 页面未找到 - 觅道文档MrDoc</title>
|
||||
<title>404 页面未找到 - {% if site_name != None %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
|
||||
@ -1,32 +1,31 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}{% endblock %} - 后台管理 - 觅道文档MrDoc</title>
|
||||
<title>{% block title %}{% endblock %} - 后台管理 {% if site_name != None %}- {{site_name}} {% endif %} - 觅道文档MrDoc</title>
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc-admin.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="layui-layout-body">
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo">
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
<h1 style="color: white;">
|
||||
<strong>MrDoc</strong>
|
||||
<span style="font-size: 14px;" class="layui-badge-rim">后台管理</span>
|
||||
</h1>
|
||||
</a>
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
<h1 style="color: white;">
|
||||
<strong>MrDoc</strong>
|
||||
<span style="font-size: 14px;" class="layui-badge-rim">后台管理</span>
|
||||
</h1>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:void(0);">
|
||||
<i class="layui-icon layui-icon-username"></i> {{request.user.username}}
|
||||
<i class="layui-icon layui-icon-username"></i> {% if request.user.first_name != '' %} {{request.user.first_name}} {% else %} {{request.user.username}}{% endif %}
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- <dd><a href="">基本资料</a></dd> -->
|
||||
@ -86,7 +85,7 @@
|
||||
当前版本:<a href="https://gitee.com/zmister/MrDoc/tree/{{mrdoc_version}}/" target="_blank">{{mrdoc_version}}</a> -
|
||||
<a href="https://github.com/zmister2016/MrDoc" target="_blank">GitHub</a> -
|
||||
<a href="https://gitee.com/zmister/MrDoc" target="_blank">码云</a> -
|
||||
<a class="register-link" id="dashang" href="javascript:void(0);">打赏作者</a>
|
||||
<a class="register-link" id="dashang" href="javascript:void(0);">打赏项目</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
@ -57,7 +57,7 @@
|
||||
<a href="{% url 'modify_doc' doc_id=doc.id %}" target="_blank" class="layui-btn layui-btn-normal layui-btn-xs">
|
||||
<i class="layui-icon layui-icon-edit"></i>修改
|
||||
</a>
|
||||
<a href="javascript:void(0);" onclick="delDoc('{{doc.id}}');" class="layui-btn layui-btn-danger layui-btn-xs">
|
||||
<a href="javascript:void(0);" onclick="delDoc('{{doc.id}}');" class="layui-btn layui-btn-warm layui-btn-xs">
|
||||
<i class="layui-icon layui-icon-delete"></i>删除
|
||||
</a>
|
||||
</td>
|
||||
@ -97,7 +97,7 @@
|
||||
title:'删除文档',
|
||||
area:'300px;',
|
||||
id:'delPro',//配置ID
|
||||
content:'<div style="margin-left:10px;">警告:此操作将删除此文档!</div>',
|
||||
content:'<div style="margin-left:10px;">警告:将删除此文档!</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档模板管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
@ -23,9 +23,9 @@
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="nob" lay-size='' lay-even>
|
||||
<colgroup>
|
||||
<col width="90">
|
||||
<col width="120">
|
||||
<col width="100">
|
||||
<col width="40">
|
||||
<col width="50">
|
||||
<col width="60">
|
||||
<col width="90">
|
||||
<col width="30">
|
||||
<col width="50">
|
||||
@ -68,10 +68,10 @@
|
||||
<i class="layui-icon layui-icon-read"></i>查看
|
||||
</a> -->
|
||||
<a href="javascript:void(0);" onclick="modifyProject('{{pro.id}}','{{pro.name}}','{{pro.intro}}')" class="layui-btn layui-btn-normal layui-btn-xs">
|
||||
<i class="layui-icon layui-icon-edit"></i>修改
|
||||
<i class="layui-icon layui-icon-edit"></i>
|
||||
</a>
|
||||
<a href="javascript:void(0);" onclick="delProject('{{pro.id}}');" class="layui-btn layui-btn-danger layui-btn-xs">
|
||||
<i class="layui-icon layui-icon-delete"></i>删除
|
||||
<a href="javascript:void(0);" onclick="delProject('{{pro.id}}');" class="layui-btn layui-btn-warm layui-btn-xs">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集权限管理{% endblock %}
|
||||
{% block content %}
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}注册码管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}应用设置{% endblock %}
|
||||
{% block title %}站点设置{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
<div class="layui-row">
|
||||
<span style="font-size:18px;">应用设置
|
||||
<span style="font-size:18px;">站点设置
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -20,7 +20,58 @@
|
||||
<div class="layui-tab-item layui-show">
|
||||
<form class="layui-form" action="{% url 'sys_setting' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<input type="text" name="type" hidden value="basic">
|
||||
<input type="text" name="type" hidden value="basic">
|
||||
<!-- 站点名称 -->
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">站点名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="site_name" placeholder="请输入站点标题" class="layui-input" value="{% if site_name != None %}{{site_name}}{% endif %}"></input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 站点子标题 -->
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">子标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="site_sub_name" placeholder="请输入站点的子标题" class="layui-input" value="{% if site_sub_name != None %}{{site_sub_name}}{% endif %}"></input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 站点关键词 -->
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">关键词</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="site_keywords" placeholder="多个关键词请使用使用英文逗号,进行分隔" class="layui-input" value="{% if site_keywords != None %}{{site_keywords}}{% endif %}"></input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 站点描述 -->
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">站点描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="site_desc" placeholder="请用简短的文字描述你的MrDoc站点" class="layui-input" value="{% if site_desc != None %}{{site_desc}}{% endif %}"></input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 备案号 -->
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">备案号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="beian_code" placeholder="请输入网站的备案号" class="layui-input" value="{% if beian_code != None %}{{beian_code}}{% endif %}"></input>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<!-- 首页文集排序 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">首页排序</label>
|
||||
<div class="layui-input-inline">
|
||||
{% if index_project_sort == '-1' %}
|
||||
<input type="radio" name="index_project_sort"" value="1" title="升序" >
|
||||
<input type="radio" name="index_project_sort" value="-1" title="降序" checked>
|
||||
{% else %}
|
||||
<input type="radio" name="index_project_sort"" value="1" title="升序" checked>
|
||||
<input type="radio" name="index_project_sort" value="-1" title="降序" >
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">首页文集列表的排序方式</div>
|
||||
</div>
|
||||
<!-- 站点注册开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">禁止注册</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -28,7 +79,7 @@
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启此选项将禁止新用户注册</div>
|
||||
</div>
|
||||
|
||||
<!-- 站点强制登录开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">全站登录</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -36,7 +87,7 @@
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启此选项,除注册、登录页面外的所有页面的访问都需要登录</div>
|
||||
</div>
|
||||
|
||||
<!-- 站点注册码开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">启用注册码</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -44,7 +95,7 @@
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启此选项,新用户注册将需要填写注册码</div>
|
||||
</div>
|
||||
|
||||
<!-- 文集导出开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文集下载</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -52,16 +103,25 @@
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启此选项,文集允许导出为EPUB和DOCX等格式文件以供下载,文集拥有者可进行进一步控制特定文集是否开放导出</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<!-- 邮箱开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">启用邮箱</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" name="enable_email" lay-skin="switch" lay-text="开启|关闭" {% if enable_email %}checked{% endif %}>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启此选项后还需进行邮箱信息配置</div>
|
||||
</div>
|
||||
<!-- 图片缩略开关 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图片缩略</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" name="img_scale" lay-skin="switch" lay-text="开启|关闭" {% if img_scale %}checked{% endif %}>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">开启后文档中的图片将显示为最大宽度350px的缩略图</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">统计代码</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="static_code" placeholder="如果需要调用第三方的统计功能,请将第三方统计工具代码输入至此,可以包含<script>标签" class="layui-textarea">{{static_code}}</textarea>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}用户管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
@ -9,8 +9,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
{# <form action="{% url 'user_manage' %}" method="post">#}
|
||||
{# {% csrf_token %}#}
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="username" id="username" required lay-verify="required" placeholder="输入用户名" autocomplete="off" class="layui-input">
|
||||
@ -19,7 +17,6 @@
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" onclick="createUser()" type="button"><i class="layui-icon layui-icon-addition"></i>新增用户</button>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" onclick="createSuperUser()" type="button"><i class="layui-icon layui-icon-addition"></i>添加管理员</button>
|
||||
</div>
|
||||
{# </form>#}
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="user-list"></table>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}用户Token管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -9,10 +9,9 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{{ doc.name }},{{ project.name }},mrdoc"/>
|
||||
<meta name="keywords" content="{{ doc.name }},{{ project.name }},{{site_keywords}}"/>
|
||||
<meta name="description" content="{{doc.pre_content | slice:"0:100"}}" />
|
||||
<title>{{ doc.name }} - {{ project.name }} - 觅道文档MrDoc</title>
|
||||
|
||||
<title>{{ doc.name }} - {{ project.name }} - {% if site_name != None and site_name != '' %}{{site_name}}{% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'editor.md/css/editormd.css' %}?version={{mrdoc_version}}" />
|
||||
<link rel="stylesheet" href="{% static 'katex/katex.min.css' %}?version={{mrdoc_version}}" />
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang='zh-CN'>
|
||||
<head>
|
||||
@ -9,14 +9,13 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<link rel="icon" href="{% static 'favicon_16.png' %}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>请输入访问码 - 觅道文档MrDoc</title>
|
||||
<title>请输入访问码 - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}站点标题{% endif %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="{% static 'layui/css/layui.css' %}" crossorigin="anonymous">
|
||||
<style>
|
||||
body{
|
||||
background-color: #fafafa;
|
||||
/*text-align: center;*/
|
||||
}
|
||||
.container{
|
||||
display: flex;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -9,9 +9,7 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
|
||||
<meta name="description" content="{% block description %}{% endblock %}" />
|
||||
<title>{% block title %}{% endblock %} - 觅道文档MrDoc</title>
|
||||
<title>{% block title %}{% endblock %} - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}站点标题{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'editor.md/css/editormd.css' %}?version={{mrdoc_version}}" />
|
||||
<link rel="stylesheet" href="{% static 'katex/katex.min.css' %}?version={{mrdoc_version}}" />
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -9,9 +9,7 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
|
||||
<meta name="description" content="{% block description %}{% endblock %}" />
|
||||
<title>{% block title %}{% endblock %} - 觅道文档MrDoc</title>
|
||||
<title>{% block title %}{% endblock %} - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}站点标题{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'editor.md/css/font-awesome.min.css' %}?version={{mrdoc_version}}" />
|
||||
<link rel="stylesheet" href="{% static 'vditor/dist/index.css' %}?version={{mrdoc_version}}" />
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{% extends 'app_doc/create_base_2.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}新建文档{% endblock %}
|
||||
{% load static %}
|
||||
{% block title %}新建文档 - Editormd编辑模式{% endblock %}
|
||||
{% block editor_type %}新建文档{% endblock %}
|
||||
|
||||
{% block head_toolbar %}
|
||||
@ -21,12 +21,12 @@
|
||||
<div class="layui-row">
|
||||
<div class="layui-btn-container" style="margin-bottom: 0px;">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" id="sel-doctemp" title="插入模板内容">
|
||||
<i class="fa fa-clipboard"></i> 选择模板
|
||||
<i class="fa fa-clipboard"></i>
|
||||
</button>
|
||||
|
||||
<input type="file" id="insert-local-file" onchange="insertLocalFile(this)" style="display:none;">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" id="sel-local" onclick="selectLocalFile()" title="插入本地文本文件内容">
|
||||
<i class="fa fa-upload"></i> 导入文本
|
||||
<i class="fa fa-upload"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
@ -101,11 +101,11 @@
|
||||
<h2 class="layui-colla-title">发布</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<div class="layui-row layui-col-space5" style="padding: 5px;background-color: #fff;">
|
||||
<button class="layui-btn layui-btn-primary mrdoc-btn-default" onclick="saveDoc()" title="保存当前内容为草稿文档">
|
||||
<i class="fa fa-save"></i> 保存为草稿
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" onclick="saveDoc()" title="保存当前内容为草稿文档">
|
||||
<i class="fa fa-save"></i> 保存
|
||||
</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="createDoc()" id="create_doc" title="发布当前内容">
|
||||
<i class="fa fa-save"></i> 发布文档
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" onclick="createDoc()" id="create_doc" title="发布当前内容">
|
||||
<i class="fa fa-save"></i> 发布
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{% extends 'app_doc/create_base_vditor.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}新建文档{% endblock %}
|
||||
{% load static %}
|
||||
{% block title %}新建文档 - Vditor编辑模式{% endblock %}
|
||||
{% block editor_type %}新建文档{% endblock %}
|
||||
|
||||
{% block head_toolbar %}
|
||||
@ -20,9 +20,9 @@
|
||||
<div class="layui-form" style="padding: 0 10px 10px 10px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-btn-container" style="margin-bottom: 0px;">
|
||||
<!-- <button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" id="sel-doctemp" title="插入模板内容">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" id="sel-doctemp" title="插入模板内容">
|
||||
<i class="fa fa-clipboard"></i> 选择模板
|
||||
</button> -->
|
||||
</button>
|
||||
|
||||
<!-- <input type="file" id="insert-local-file" onchange="insertLocalFile(this)" style="display:none;">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm mrdoc-btn-default" id="sel-local" onclick="selectLocalFile()" title="插入本地文本文件内容">
|
||||
@ -334,7 +334,8 @@
|
||||
$.post("{% url 'get_doctemp' %}",{'doctemp_id':doctemp_id},function(r){
|
||||
if(r.status){
|
||||
console.log(r.data)
|
||||
editor.insertValue(r.data);
|
||||
// editor.insertValue(r.data);
|
||||
editor.setValue(r.data);
|
||||
layer.closeAll()
|
||||
}else{
|
||||
layer.msg(r.data)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_2.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}新建文档模板{% endblock %}
|
||||
{% block editor_type %}新建模板{% endblock %}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_vditor.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}新建文档模板{% endblock %}
|
||||
{% block editor_type %}新建模板{% endblock %}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -10,7 +10,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
|
||||
<meta name="description" content="{% block description %}{% endblock %}" />
|
||||
<title>文档历史版本对比:{{ doc.name }} - MrDoc</title>
|
||||
<title>文档历史版本对比:{{ doc.name }} - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'favicon_16.png' %}"/>
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- 继承自模板:app_doc/docs_base.html -->
|
||||
{% extends 'app_doc/docs_base.html' %}
|
||||
<!-- 引入静态文件 -->
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
|
||||
{% block keyword %}{{ doc.name }},{{ project.name }},{% endblock %}
|
||||
{% block description %}{{doc.pre_content | slice:"0:100"}}{% endblock %}
|
||||
@ -62,7 +62,7 @@
|
||||
|
||||
<div class="layui-row layui-col-space20" style="padding-left: 20px;">
|
||||
<span>
|
||||
<i class="fa fa-user"></i> {{ doc.create_user.username }}
|
||||
<i class="fa fa-user"></i> {% if doc.create_user.first_name != '' %} {{doc.create_user.first_name}} {% else %} {{doc.create_user.username}}{% endif %}
|
||||
</span>
|
||||
<span tooltip="更新于:{{doc.modify_time}}">
|
||||
<i class="fa fa-clock-o"></i> {{ doc.modify_time }}
|
||||
@ -104,7 +104,12 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block right_widget %}
|
||||
<div class="tocMenu" style="display: none;">目录</div>
|
||||
<!-- 目录 -->
|
||||
<div class="tocMenu" style="display: none;"><i class="fa fa-list"></i></div>
|
||||
<!-- 分享按钮 -->
|
||||
<!-- {% if project.role == 1 and request.user == doc.create_user %}
|
||||
<div class="shareDoc" id="shareDoc" ><i class="fa fa-share"></i></div>
|
||||
{% endif %} -->
|
||||
{% endblock %}
|
||||
|
||||
{% block custom_script %}
|
||||
@ -122,7 +127,7 @@
|
||||
var layer = layui.layer;
|
||||
// 手机屏幕上默认最小化目录
|
||||
if(window.outerWidth < 1300){
|
||||
console.log('最小化目录');
|
||||
// console.log('最小化目录');
|
||||
// setTimeout(function(){
|
||||
$(".sidebar").toggleClass("doc-toc-hide");
|
||||
// },300)
|
||||
@ -161,6 +166,14 @@
|
||||
content: $('#download_div')
|
||||
});
|
||||
});
|
||||
// 分享文档
|
||||
$("#shareDoc").click(function(){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'分享文档',
|
||||
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@ -9,18 +9,15 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}{{site_keywords}}"/>
|
||||
<meta name="description" content="{% block description %}{% endblock %}" />
|
||||
<title>{% block title %}{% endblock %} - 觅道文档MrDoc</title>
|
||||
|
||||
<title>{% block title %}{% endblock %} - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}站点标题{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'editor.md/css/editormd.css' %}?version={{mrdoc_version}}" />
|
||||
<!-- <link rel="stylesheet" href="{% static 'katex/katex.min.css' %}?version={{mrdoc_version}}" /> -->
|
||||
{% if doc.editor_mode == 2 %}
|
||||
<link rel="stylesheet" href="{% static 'vditor/dist/index.css' %}?version={{mrdoc_version}}" />
|
||||
{% endif %}
|
||||
|
||||
<!-- <link href="{% static 'viewerjs/viewer.css' %}?version={{mrdoc_version}}" rel="stylesheet"> -->
|
||||
<link href="{% static 'viewerjs/viewer.min.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
@ -85,9 +82,11 @@
|
||||
.markdown-body h6{
|
||||
font-size: .85em;
|
||||
}
|
||||
{% if img_scale %}
|
||||
.markdown-body p img{
|
||||
max-width: 350px;
|
||||
}
|
||||
{% endif %}
|
||||
#url_qrcode img{
|
||||
margin: auto;
|
||||
}
|
||||
@ -295,8 +294,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右侧文档栏结束 -->
|
||||
<div class="toTop"><i class="layui-icon layui-icon-top" style="font-size: 40px;"></i></div>
|
||||
{% block right_widget %} {% endblock %}
|
||||
<!-- 右下角工具按钮 -->
|
||||
<div>
|
||||
<div class="toTop" ><i class="fa fa-arrow-up"></i></div>
|
||||
{% block right_widget %} {% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{% static 'jquery/3.1.1/jquery.min.js' %}"></script>
|
||||
@ -413,16 +415,6 @@
|
||||
<script src="{% static 'editor.md/lib/prettify.min.js' %}"></script>
|
||||
<script src="{% static 'editor.md/lib/raphael.min.js' %}"></script>
|
||||
<script src="{% static 'editor.md/lib/underscore.min.js' %}"></script>
|
||||
<!-- <script src="{% static 'editor.md/lib/sequence-diagram.min.js' %}"></script> -->
|
||||
<!-- <script src="{% static 'editor.md/lib/flowchart.min.js' %}"></script> -->
|
||||
<!-- <script src="{% static 'editor.md/lib/jquery.flowchart.min.js' %}"></script> -->
|
||||
<!-- <script src="{% static 'editor.md/lib/echarts.min.js' %}"></script> -->
|
||||
<!-- 脑图开始 -->
|
||||
<!-- <script src="{% static 'mindmap/d3@5.js' %}"></script> -->
|
||||
<!-- <script src="{% static 'mindmap/transform.min.js' %}"></script> -->
|
||||
<!-- <script src="{% static 'mindmap/view.min.js' %}"></script> -->
|
||||
<!-- 脑图结束 -->
|
||||
|
||||
<!-- <script src="{% static 'editor.md/editormd.min.js' %}?version={{mrdoc_version}}"></script> -->
|
||||
<script src="{% static 'editor.md/editormd.js' %}?version={{mrdoc_version}}"></script>
|
||||
{% endif %}
|
||||
@ -524,7 +516,7 @@
|
||||
$(".toTop").hide();
|
||||
$(window).scroll(function() {
|
||||
// 若滚动的高度,超出指定的高度后,“返回顶部”的标签出现。
|
||||
if($(document).scrollTop() >= 150) {
|
||||
if($(document).scrollTop() >= 140) {
|
||||
$(".toTop").show();
|
||||
} else {
|
||||
$(".toTop").hide();
|
||||
|
||||
@ -4,4 +4,9 @@
|
||||
<a href="https://zmister.com" target="_blank">州的先生</a>出品 |
|
||||
<a href="{% url 'sitemap' %}" target="_blank">网站地图</a>
|
||||
</div>
|
||||
{% if beian_code != None %}
|
||||
<div style="margin-top:5px;margin-bottom: 5px;">
|
||||
<a href="http://beian.miit.gov.cn/" target="_blank">{{beian_code}}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -57,7 +57,8 @@
|
||||
{% if request.user.is_authenticated %}
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:void(0);">
|
||||
<i class="layui-icon layui-icon-friends"></i> <span class="layui-hide-xs">{{request.user.username}}</span>
|
||||
<i class="layui-icon layui-icon-friends"></i>
|
||||
<span class="layui-hide-xs">{% if request.user.first_name != '' %} {{request.user.first_name}} {% else %} {{request.user.username}}{% endif %}</span>
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- <dd><a href="">基本资料</a></dd> -->
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}附件管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
{# 文档、文集、文档模板管理基础HTML模板 #}
|
||||
{% load staticfiles %}
|
||||
<!-- 文档、文集、文档模板管理基础HTML模板 -->
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}{% endblock %} - 个人中心 - 觅道文档MrDoc</title>
|
||||
<title>{% block title %}{% endblock %} - 个人中心{% if site_name != None and site_name != '' %}- {{site_name}} {% endif %} - 觅道文档MrDoc</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc-admin.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
@ -28,7 +28,7 @@
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">
|
||||
<i class="layui-icon layui-icon-username"></i> {{request.user.username}}
|
||||
<i class="layui-icon layui-icon-username"></i> {% if request.user.first_name != '' %} {{request.user.first_name}} {% else %} {{request.user.username}}{% endif %}
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
{% if request.user.is_superuser %}
|
||||
@ -91,7 +91,7 @@
|
||||
当前版本:<a href="https://gitee.com/zmister/MrDoc/tree/{{mrdoc_version}}/" target="_blank">{{mrdoc_version}}</a> -
|
||||
<a href="https://github.com/zmister2016/MrDoc" target="_blank">GitHub</a> -
|
||||
<a href="https://gitee.com/zmister/MrDoc" target="_blank">码云</a> -
|
||||
<a class="register-link" id="dashang" href="javascript:void(0);">打赏作者</a>
|
||||
<a class="register-link" id="dashang" href="javascript:void(0);">打赏项目</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档历史版本管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-row" style="margin-bottom: 10px;padding-left:15px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档回收站管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档标签管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文档模板管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}图片素材管理{% endblock %}
|
||||
|
||||
{% block custom_link %}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}图片分组管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-row" style="margin-bottom: 10px;padding-left:15px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}仪表盘{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;background-color: #fff;">
|
||||
@ -53,20 +53,20 @@
|
||||
<a href="{% url 'pro_index' pro_id=pro.id %}" target="_blank" title='{{pro.name}}'>{{ pro.name }}</a>
|
||||
<!-- 文集阅读权限 -->
|
||||
{% if pro.role == 0 %}
|
||||
<a href="{% url 'modify_pro_role' pro.id %}" title="公开文集,点击修改权限"><img src="{% static 'icon_img/manage-eye-icon.svg' %}" height="14px" width="14px" /></a>
|
||||
<a href="javascript:void(0);" title="公开文集"><img src="{% static 'icon_img/manage-eye-icon.svg' %}" height="14px" width="14px" /></a>
|
||||
{% elif pro.role == 1 %}
|
||||
<a href="{% url 'modify_pro_role' pro.id %}" title="私密文集,点击修改权限"><i class="layui-icon layui-icon-password"></i></a>
|
||||
<a href="javascript:void(0);" title="私密文集"><i class="layui-icon layui-icon-password"></i></a>
|
||||
{% elif pro.role == 2 %}
|
||||
<a href="{% url 'modify_pro_role' pro.id %}" title="指定用户可见,点击修改权限"><i class="layui-icon layui-icon-user"></i></a>
|
||||
<a href="javascript:void(0);" title="指定用户可见"><i class="layui-icon layui-icon-user"></i></a>
|
||||
{% elif pro.role == 3 %}
|
||||
<a href="{% url 'modify_pro_role' pro.id %}" title="访问码可见,点击修改权限"><i class="layui-icon layui-icon-key"></i></a>
|
||||
<a href="javascript:void(0);" title="访问码可见"><i class="layui-icon layui-icon-key"></i></a>
|
||||
{% endif %}
|
||||
|
||||
<!-- 文集前台下载权限 -->
|
||||
{% if pro.id|report_status_epub == 1 or pro.id|report_status_pdf == 1 %}
|
||||
<a href="{% url 'modify_pro_download' pro.id %}" title="允许前台下载,点击配置"><img src="{% static 'icon_img/manage-download-yes.svg' %}" height="14px" width="14px" /></a>
|
||||
<a href="javascript:void(0);" title="允许前台下载"><img src="{% static 'icon_img/manage-download-yes.svg' %}" height="14px" width="14px" /></a>
|
||||
{% else %}
|
||||
<a href="{% url 'modify_pro_download' pro.id %}" title="禁止前台下载,点击配置"><img src="{% static 'icon_img/manage-download-no.svg' %}" height="14px" width="14px" /></a>
|
||||
<a href="javascript:void(0);" title="禁止前台下载"><img src="{% static 'icon_img/manage-download-no.svg' %}" height="14px" width="14px" /></a>
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
@ -74,20 +74,20 @@
|
||||
<td>{{ pro.id | get_doc_count }}</td>
|
||||
<td>{{ pro.create_time }}</td>
|
||||
<td>{{ pro.id | project_collaborator_cnt }} <a href="{% url 'manage_pro_colla' pro.id %}" title="管理文集协作"><i class="layui-icon layui-icon-set"></i></a></td>
|
||||
<td>
|
||||
<a href="javascript:void(0);" title="修改文集" onclick="modifyProject('{{pro.id}}','{{pro.name}}','{{pro.intro}}')" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-edit"></i>
|
||||
</a>
|
||||
<!-- <a href="{% url 'modify_project' %}?pro_id={{pro.id}}" title="修改文集" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<td>
|
||||
<!-- <a href="javascript:void(0);" title="修改文集" onclick="modifyProject('{{pro.id}}','{{pro.name}}','{{pro.intro}}')" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-edit"></i>
|
||||
</a> -->
|
||||
<a href="javascript:void(0);" title="导出文集" onclick="reportMd('{{pro.id}}')" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-export"></i>
|
||||
</a>
|
||||
<a href="javascript:void(0);" title="删除文集" onclick="delProject('{{pro.id}}');" class="layui-btn layui-btn-xs layui-btn-warm">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
</a>
|
||||
</td>
|
||||
</a> -->
|
||||
<a href="{% url 'modify_project' %}?pro_id={{pro.id}}" title="修改文集配置" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-set"></i>
|
||||
</a>
|
||||
<!-- <a href="javascript:void(0);" title="导出文集" onclick="reportMd('{{pro.id}}')" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-export"></i>
|
||||
</a>
|
||||
<a href="javascript:void(0);" title="删除文集" onclick="delProject('{{pro.id}}');" class="layui-btn layui-btn-xs layui-btn-warm">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
</a> -->
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集协作管理{% endblock %}
|
||||
{% block content %}
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集下载状态管理 - {{pro.name}}{% endblock %}
|
||||
{% block content %}
|
||||
{% if enable_project_report %}
|
||||
@ -92,17 +92,17 @@
|
||||
<script>
|
||||
var form = layui.form;
|
||||
reportFile = function(pro_id,types){
|
||||
layer.load(1)
|
||||
var data = {'pro_id':pro_id,'types':types};
|
||||
$.post("{% url 'genera_project_file' %}",data,function(r){
|
||||
layer.closeAll('loading');
|
||||
if(r.status){
|
||||
layer.msg("生成完成")
|
||||
window.location.reload();
|
||||
}else{
|
||||
layer.msg("生成出错,请稍后重试")
|
||||
}
|
||||
})
|
||||
}
|
||||
layer.load(1)
|
||||
var data = {'pro_id':pro_id,'types':types};
|
||||
$.post("{% url 'genera_project_file' %}",data,function(r){
|
||||
layer.closeAll('loading');
|
||||
if(r.status){
|
||||
layer.msg("生成完成")
|
||||
window.location.reload();
|
||||
}else{
|
||||
layer.msg("生成出错,请稍后重试")
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}导入文集{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-row" style="margin-bottom: 10px;padding-left:15px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集设置{% endblock %}
|
||||
{% block content %}
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
@ -16,12 +16,17 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文集基本信息 -->
|
||||
<div class="layui-row" style="margin-top: 10px;">
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">基本信息</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
|
||||
<div class="layui-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">基础信息</li>
|
||||
<li>权限配置</li>
|
||||
<li>下载配置</li>
|
||||
<li>管理控制</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<!-- 文集基础信息配置 -->
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文集名称</label>
|
||||
@ -37,23 +42,14 @@
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-top: 10px;">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon layui-icon-edit"></i>修改</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-btn"><i class="layui-icon layui-icon-edit"></i>立即修改</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文集权限配置 -->
|
||||
<div class="layui-row" style="margin-top: 10px;">
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">权限控制</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<form action="{% url 'modify_pro_role' pro.id %}" method="post" class="layui-form">
|
||||
{% csrf_token %}
|
||||
<!-- 文集权限配置 -->
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">浏览权限</label>
|
||||
<div class="layui-input-block">
|
||||
@ -67,7 +63,7 @@
|
||||
<div class="layui-form-item" style="{% if pro.role == 3 %}{% else %}display:none;{% endif %}" id="role-pwd">
|
||||
<label class="layui-form-label">访问码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="viewcode" placeholder="请输入访问码" autocomplete="off" class="layui-input" value="{% if pro.role_value != None %}{{pro.role_value}}{% endif %}">
|
||||
<input type="text" name="viewcode" id="viewcode" placeholder="请输入访问码" autocomplete="off" class="layui-input" value="{% if pro.role_value != None %}{{pro.role_value}}{% endif %}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">不少于4位数</div>
|
||||
</div>
|
||||
@ -83,22 +79,14 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-submit lay-filter="formDemo">保存权限</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-role">修改权限</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文集下载和导出配置 -->
|
||||
<div class="layui-row" style="margin-top: 10px;">
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">下载和导出</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<form action="{% url 'modify_pro_download' pro.id %}" method="post" class="layui-form">
|
||||
{% csrf_token %}
|
||||
<!-- 下载和导出 -->
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-form">
|
||||
{% load project_filter %}
|
||||
<div class="layui-form-item">
|
||||
<blockquote class="layui-elem-quote">注意:开启某类型文件下载后,请先点击“生成或更新XXX文件”,文集文档中如果包含公式、流程图、时序图、脑图等内容,将会延长生成时间,请耐心等待</blockquote>
|
||||
@ -107,11 +95,11 @@
|
||||
<label class="layui-form-label">EPUB下载</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="download_epub"
|
||||
{% if pro.id|report_status_epub == 1 %} checked {%endif%}
|
||||
{% if pro.id|report_status_epub == 1 %} checked {% endif %}
|
||||
lay-skin="switch" lay-text="允许|禁止">
|
||||
<!-- 判断后台是否开启导出,如果开启,则显示 -->
|
||||
{% if enable_project_report %}
|
||||
<a href="javascript:void(0);" onclick="reportFile('{{pro.id}}','epub')" style=""><i class="layui-icon layui-icon-refresh"></i><u>生成或更新EPUB文件</u></a>
|
||||
<a href="javascript:void(0);" onclick="reportFile('{{pro.id}}','epub')"><i class="layui-icon layui-icon-refresh"></i><u>生成或更新EPUB文件</u></a>
|
||||
{% if project_files %}
|
||||
{% for file in project_files %}
|
||||
{% if file.file_type == 'epub' %}
|
||||
@ -153,30 +141,40 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-submit lay-filter="formDemo">保存文集导出配置</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm">导出Markdown</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-download">保存文集导出配置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 删除文集 -->
|
||||
<div class="layui-row" style="margin-top: 10px;">
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">删除文集</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<div>
|
||||
<div class="layui-form-item" style="margin-top: 10px;">
|
||||
<button class="layui-btn layui-btn-warm layui-btn-sm"><i class="layui-icon layui-icon-delete"></i>删除文集</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文集删除和转让 -->
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-row">
|
||||
<div style="float: left;">
|
||||
<strong>导出文集</strong>
|
||||
<p>将文集内的文档以Markdown(.md)的形式导出为zip压缩文件</p>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-primary" style="float: right;" id="export-project">导出文集</button>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="layui-row">
|
||||
<div style="float: left;">
|
||||
<strong>转让文集</strong>
|
||||
<p>将文集的管理权限和文集下自己创建的文档转让给站点的其他用户</p>
|
||||
</div>
|
||||
<a class="layui-btn layui-btn-primary" style="float: right;" id="transfer-project" href="{% url 'manage_pro_transfer' pro.id %}">转让文集</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="layui-row">
|
||||
<div style="float: left;">
|
||||
<strong>删除文集</strong>
|
||||
<p>删除文集及文集下的所有文档</p>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-warm" style="float: right;" id="delete-project">删除文集</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
@ -201,5 +199,175 @@
|
||||
$("#role-pwd").css("display","block");
|
||||
}
|
||||
});
|
||||
//修改文集基础信息
|
||||
modifyProject = function(pro_id,pro_name,pro_intro){
|
||||
layer.load(1);
|
||||
var project_data = {
|
||||
'pro_id':'{{pro.id}}',
|
||||
'name':$("#pname").val(),
|
||||
'desc':$("#desc").val(),
|
||||
}
|
||||
$.post("{% url 'modify_project' %}",project_data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//修改成功
|
||||
//window.location.reload();
|
||||
layer.msg("修改成功")
|
||||
}else{
|
||||
//修改失败,提示
|
||||
// console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
};
|
||||
$("#modify-project-btn").click(function(){
|
||||
modifyProject();
|
||||
});
|
||||
// 修改文集权限
|
||||
modifyProjectRole = function(){
|
||||
layer.load(1);
|
||||
var role_data = {
|
||||
'role':$("input[name='role']:checked").val(),
|
||||
'tagsinput':$("#tagsinputval").val(),
|
||||
'viewcode':$("#viewcode").val(),
|
||||
}
|
||||
$.post("{% url 'modify_pro_role' pro.id %}",role_data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//修改成功
|
||||
//window.location.reload();
|
||||
layer.msg("修改成功")
|
||||
}else{
|
||||
//修改失败,提示
|
||||
// console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
};
|
||||
$('#modify-project-role').click(function(){
|
||||
modifyProjectRole();
|
||||
});
|
||||
// 修改文集导出配置
|
||||
modifyProjectDownload = function(){
|
||||
layer.load(1);
|
||||
var download_data = {
|
||||
'download_epub':$("input[name='download_epub']:checked").val(),
|
||||
'download_pdf':$("input[name='download_pdf']:checked").val(),
|
||||
}
|
||||
$.post("{% url 'modify_pro_download' pro.id %}",download_data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//修改成功
|
||||
layer.msg("修改成功")
|
||||
}else{
|
||||
//修改失败,提示
|
||||
// console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
};
|
||||
$('#modify-project-download').click(function(){
|
||||
modifyProjectDownload();
|
||||
});
|
||||
// 生成文集文件
|
||||
reportFile = function(pro_id,types){
|
||||
layer.load(1)
|
||||
var data = {'pro_id':pro_id,'types':types};
|
||||
$.post("{% url 'genera_project_file' %}",data,function(r){
|
||||
layer.closeAll('loading');
|
||||
if(r.status){
|
||||
layer.msg("生成完成")
|
||||
window.location.reload();
|
||||
}else{
|
||||
layer.msg("生成出错,请稍后重试")
|
||||
}
|
||||
})
|
||||
}
|
||||
// 删除文集
|
||||
delProject = function(pro_id){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'删除文集',
|
||||
area:'300px;',
|
||||
id:'delPro',//配置ID
|
||||
content:'<div style="margin-left:10px;">警告:此操作将删除文集及文集下所有文档!</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
layer.load(1);
|
||||
data = {
|
||||
'pro_id':pro_id,
|
||||
}
|
||||
$.post("{% url 'del_project' %}",data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//删除成功
|
||||
layer.msg('删除成功,即将返回文集列表……',function(){
|
||||
window.location.href = "{% url 'manage_project' %}"
|
||||
})
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//删除失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
};
|
||||
$('#delete-project').click(function(){
|
||||
delProject('{{pro.id}}')
|
||||
})
|
||||
//导出MD
|
||||
reportMd = function(pro_id){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:"导出文集",
|
||||
area:"300px",
|
||||
id:"reportMd",
|
||||
content:'<div style="margin-left:10px;">将此文集下所有文档导出为MD文件并打包?</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
var load = layer.load()
|
||||
data = {
|
||||
'project_id':pro_id,
|
||||
}
|
||||
$.post("{% url 'report_md' %}",data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//导出成功
|
||||
//文件下载提示
|
||||
downloadMd(r.data)
|
||||
}else{
|
||||
//导出失败,提示
|
||||
// console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
layer.close(load)
|
||||
})
|
||||
},
|
||||
})
|
||||
};
|
||||
$("#export-project").click(function(){
|
||||
reportMd('{{pro.id}}');
|
||||
});
|
||||
//下载文件弹出框
|
||||
downloadMd = function(download_link){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:"下载导出文档",
|
||||
area:"300px",
|
||||
id:"downloadMd",
|
||||
content:'<p style="text-align:center;color:red;">请尽快下载,避免失效!</p><br><a class="layui-btn layui-btn-fluid download-md-link" href="'+ download_link + '" download="mrdoc_report_md.zip" >点击下载文件(zip)</a>',
|
||||
//btn:['确定','取消'], //添加按钮
|
||||
//btnAlign:'c', //按钮居中
|
||||
success: function (layero, index) {
|
||||
$(layero).find('.download-md-link').click(function () {
|
||||
layer.closeAll();
|
||||
})
|
||||
}
|
||||
})
|
||||
};
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}文集权限管理{% endblock %}
|
||||
{% block content %}
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}我协作的文集{% endblock %}
|
||||
{% block content %}
|
||||
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
|
||||
|
||||
64
template/app_doc/manage_project_transfer.html
Normal file
64
template/app_doc/manage_project_transfer.html
Normal file
@ -0,0 +1,64 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}文集设置{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-row" style="margin-bottom: 10px;padding-left:15px;">
|
||||
<span class="layui-breadcrumb" lay-separator=">">
|
||||
<a href="{% url 'manage_project' %}">文集管理</a>
|
||||
<a href="{% url 'modify_project' %}?pro_id={{pro.id}}">文集设置</a>
|
||||
<a><cite>转让文集</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
<div class="layui-row">
|
||||
<span style="font-size:18px;">转让文集:{{pro.name}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
<div class="layui-form">
|
||||
<select name="user-select" id="user-select" lay-verify="" lay-search>
|
||||
<option value="">选择用户,可搜索</option>
|
||||
{% for user in user_list %}
|
||||
<option value="{{user.username}}">{{user.first_name}}({{user.username}})</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row" style="margin-top: 5px;">
|
||||
<button class="layui-btn layui-btn-normal" id="transfer-project"><i class="layui-icon layui-icon-transfer"></i> 转让文集的管理权限及文档</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script src="{% static '/tagsInput/tagsinput.js' %}" type="text/javascript" charset="utf-8"></script>
|
||||
<script>
|
||||
$.ajaxSetup({
|
||||
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
|
||||
});
|
||||
var form = layui.form;
|
||||
// 转让文集
|
||||
transferProject = function(){
|
||||
layer.load(1);
|
||||
data = {
|
||||
'username':$("#user-select").val(),
|
||||
}
|
||||
$.post("{% url 'manage_pro_transfer' pro.id %}",data,function(r){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
if(r.status){
|
||||
//转让成功
|
||||
layer.msg('转让成功,即将返回文集列表……',function(){
|
||||
window.location.href = "{% url 'manage_project' %}"
|
||||
})
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//转让失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
}
|
||||
$("#transfer-project").click(function(){
|
||||
transferProject();
|
||||
})
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/manage_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}个人设置{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_2.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}修改文档{% endblock %}
|
||||
{% block editor_type %}修改文档{% endblock %}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_vditor.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}修改文档{% endblock %}
|
||||
{% block editor_type %}修改文档{% endblock %}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_2.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}修改文档模板{% endblock %}
|
||||
{% block editor_type %}修改文档模板{% endblock %}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% extends 'app_doc/create_base_vditor.html' %}
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
{% block title %}修改文档模板{% endblock %}
|
||||
{% block editor_type %}修改文档模板{% endblock %}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -7,10 +7,10 @@
|
||||
<meta http-equiv="Cache-Control" content="no-transform" />
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="keywords" content="觅道文档,mrdoc,markdown,文档写作,在线教程,Python文档系统,django应用"/>
|
||||
<meta name="description" content="MrDoc觅道文档是一个开源的在线文档系统,由州的先生(zmister.com)基于 Python 的 Django 进行开发框架,适合作为个人和小型团队的文档、笔记和知识管理工具。" />
|
||||
<meta name="keywords" content="{% if site_keywords != None %}{{site_keywords}}{% endif %}"/>
|
||||
<meta name="description" content="{% if site_desc != None %}{{site_desc}}{% endif %}" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>MrDoc觅道文档 - 一个简单的开源在线文档系统</title>
|
||||
<title>{% if site_name != None and site_name != '' %}{{site_name}} {% else %}站点标题{% endif %} - {% if site_sub_name != None %}{{site_sub_name}} {% else %}又一个MrDoc站点{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
@ -145,7 +145,7 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="layui-card-body" style="font-size: 12px;">
|
||||
<p class="layui-word-aux layui-elip">作者:{{p.create_user}}</p>
|
||||
<p class="layui-word-aux layui-elip">作者:{% if p.create_user.first_name != '' %} {{p.create_user.first_name}} {% else %} {{p.create_user}}{% endif %}</p>
|
||||
<p class="layui-word-aux layui-elip">最新:{{p.id | get_new_doc}}</p>
|
||||
<p class="tooltip layui-word-aux">简介:
|
||||
{% if p.intro == "" %}
|
||||
@ -248,7 +248,7 @@
|
||||
/*
|
||||
scrollTop() 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
|
||||
*/
|
||||
footerTop = ($(window).scrollTop() + $(window).height() - footerHeight - 35)+"px";
|
||||
footerTop = ($(window).scrollTop() + $(window).height() - footerHeight - 20)+"px";
|
||||
// console.log("页脚高度:",footerHeight)
|
||||
// console.log(footerTop)
|
||||
// console.log($(".layui-header").height()+$(".layui-container").height())
|
||||
@ -275,9 +275,6 @@
|
||||
layui.form.render('select');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
// 侦听Select下拉框的选择事件
|
||||
form.on('select()', function(data){
|
||||
var filter_data = form.val("filter-project-form");
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- 继承自模板:app_doc/docs_base.html -->
|
||||
{% extends 'app_doc/docs_base.html' %}
|
||||
<!-- 引入静态文件 -->
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}{{ project.name }}{% endblock %}
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<h1>{{ project.name }}</h1><hr>
|
||||
<p style="" class="project-doc-content-head">
|
||||
<!--<i class="fa fa-th-large"></i> 发表:{{ doc.create_time }}-->
|
||||
<i class="fa fa-user"></i> 创建人:{{ project.create_user.username }}
|
||||
<i class="fa fa-user"></i> 创建人:{% if project.create_user.first_name != '' %} {{project.create_user.first_name}} {% else %} {{project.create_user}}{% endif %}
|
||||
<i class="fa fa-timer"></i> 创建于:{{ project.create_time }}
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- 继承自模板:app_doc/docs_base.html -->
|
||||
{% extends 'app_doc/docs_base.html' %}
|
||||
<!-- 引入静态文件 -->
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}搜索“{{kw}}”的结果 - {{ project.name }}{% endblock %}
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<!--QQ强制全屏-->
|
||||
<meta name="x5-page-mode" content="app">
|
||||
<!--QQ应用模式-->
|
||||
<title>觅道搜索</title>
|
||||
<title>觅道搜索{% if site_name != None and site_name != '' %} - {{site_name}}{% endif %}</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
@ -7,10 +7,10 @@
|
||||
<meta http-equiv="Cache-Control" content="no-transform" />
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="keywords" content="觅道文档,mrdoc,markdown,文档写作,在线教程,Python文档系统,django应用"/>
|
||||
<meta name="description" content="MrDoc觅道文档是一个开源的在线文档系统,由州的先生(zmister.com)基于 Python 的 Django 进行开发框架,适合作为个人和小型团队的文档、笔记和知识管理工具。" />
|
||||
<meta name="keywords" content="{% if site_keywords != None %}{{site_keywords}}{% endif %}"/>
|
||||
<meta name="description" content="{% if site_desc != None %}{{site_desc}}{% endif %}" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>{{ kw }} - 觅道搜索 - MrDoc觅道文档</title>
|
||||
<title>{{ kw }} - 觅道搜索 - {% if site_name != None and site_name != '' %}{{ site_name }}{% endif %}</title>
|
||||
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
@ -148,7 +148,8 @@
|
||||
{% if request.user.is_authenticated %}
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:void(0);">
|
||||
<i class="layui-icon layui-icon-friends"></i> <span class="layui-hide-xs">{{request.user.username}}</span>
|
||||
<i class="layui-icon layui-icon-friends"></i>
|
||||
<span class="layui-hide-xs">{% if request.user.first_name != '' %}{{request.user.first_name}}{% else %}{{request.user.username}}{% endif %}</span>
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- <dd><a href="">基本资料</a></dd> -->
|
||||
|
||||
@ -9,9 +9,9 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
|
||||
<meta name="description" content="{% block description %}{% endblock %}" />
|
||||
<title>{% block title %}标签:{{tag.name}}{% endblock %} - 觅道文档MrDoc</title>
|
||||
<meta name="keywords" content="{% if site_keywords != None %}{{site_keywords}}{% endif %}"/>
|
||||
<meta name="description" content="{% if site_desc != None %}{{site_desc}}{% endif %}" />
|
||||
<title>{% block title %}标签:{{tag.name}}{% endblock %} - {% if site_name != None and site_name != '' %}{{ site_name }}{% else %}站点标题{% endif %}</title>
|
||||
|
||||
<link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'editor.md/css/editormd.css' %}?version={{mrdoc_version}}" />
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- 继承自模板:app_doc/tag_doc_base.html -->
|
||||
{% extends 'app_doc/tag_doc_base.html' %}
|
||||
<!-- 引入静态文件 -->
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
|
||||
{% block keyword %}{{ doc.name }},{{ project.name }},{% endblock %}
|
||||
{% block description %}{{doc.pre_content | slice:"0:100"}}{% endblock %}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- 继承自模板:app_doc/tag_doc_base.html -->
|
||||
{% extends 'app_doc/tag_doc_base.html' %}
|
||||
<!-- 引入静态文件 -->
|
||||
{% load staticfiles %}
|
||||
{% load static %}
|
||||
|
||||
{% block keyword %}{{ tag.name }},{% endblock %}
|
||||
{% block title %}标签:{{ tag.name }}{% endblock %}
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -2,7 +2,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='zh-CN'>
|
||||
<head>
|
||||
<title>忘记密码 - MrDoc</title>
|
||||
<title>忘记密码 - {% if site_name != None %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="{% static 'layui/css/layui.css' %}" crossorigin="anonymous">
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>用户登录 - MrDoc觅道文档</title>
|
||||
<title>用户登录 - {% if site_name != None %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="{% static 'layui/css/layui.css' %}" crossorigin="anonymous">
|
||||
@ -59,7 +59,7 @@
|
||||
<form class="layui-form" action="{% url 'login' %}" method='POST'>
|
||||
{% csrf_token %}
|
||||
<div class="layui-form-item">
|
||||
<h2><strong>登录 - <a href="/">MrDoc</a></strong></h2>
|
||||
<h2><strong>登录 - <a href="/">{% if site_name != None %}{{site_name}} {% else %}觅道文档{% endif %}</a></strong></h2>
|
||||
</div>
|
||||
<span style='color:red;margin-bottom: 10px;'>{{ errormsg }}</span>
|
||||
<div class="layui-form-item">
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='zh-CN'>
|
||||
<head>
|
||||
<title>用户注册 - MrDoc</title>
|
||||
<title>用户注册 - {% if site_name != None %}{{site_name}} {% else %}觅道文档MrDoc{% endif %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="{% static 'layui/css/layui.css' %}" crossorigin="anonymous">
|
||||
@ -53,7 +53,7 @@
|
||||
<form class="layui-form" action="{% url 'register' %}" method='POST'>
|
||||
{% csrf_token %}
|
||||
<div class="layui-form-item">
|
||||
<h2><strong>注册 - MrDoc</strong></h2>
|
||||
<h2><strong>注册 - {% if site_name != None %}{{site_name}} {% else %}觅道文档{% endif %}</strong></h2>
|
||||
</div>
|
||||
<span style='color:red;margin-bottom: 10px;'>{{ errormsg }}</span>
|
||||
{% if enable_register_code %}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user