Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/home/page/attributions/attributions.html b/home/page/attributions/attributions.html
index 07da9fd..2d08c79 100644
--- a/home/page/attributions/attributions.html
+++ b/home/page/attributions/attributions.html
@@ -27,6 +27,10 @@
<td>The Number One HTTP Server On The Internet.</td>
</tr>
<tr>
+ <td><a href="http://memcached.org/">Memcached</a></td>
+ <td>Free & open source, high-performance, distributed memory object caching system.</td>
+ </tr>
+ <tr>
<td><a href="http://python.org/">Python Programming Language</a></td>
<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
<ul>
diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py
index 1664b4f..ff6cc99 100644
--- a/website/doctype/blog_post/blog_post.py
+++ b/website/doctype/blog_post/blog_post.py
@@ -74,13 +74,15 @@
# temp fields
from webnotes.utils import global_date_format, get_fullname
self.doc.full_name = get_fullname(self.doc.owner)
- self.doc.updated = global_date_format(self.doc.creation)
+ self.doc.updated = global_date_format(self.doc.published_on)
self.doc.content_html = self.doc.content
if self.doc.blogger:
self.doc.blogger_info = webnotes.doc("Blogger", self.doc.blogger).fields
if self.doc.blogger_info.avatar and not "/" in self.doc.blogger_info.avatar:
self.doc.blogger_info.avatar = "files/" + self.doc.blogger_info.avatar
+ self.doc.description = self.doc.blog_intro or self.doc.content[:140]
+
self.doc.categories = webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
self.doc.texts = {
diff --git a/website/doctype/blog_settings/__init__.py b/website/doctype/blog_settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/website/doctype/blog_settings/__init__.py
diff --git a/website/doctype/blog_settings/blog_settings.py b/website/doctype/blog_settings/blog_settings.py
new file mode 100644
index 0000000..928aa9f
--- /dev/null
+++ b/website/doctype/blog_settings/blog_settings.py
@@ -0,0 +1,8 @@
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+class DocType:
+ def __init__(self, d, dl):
+ self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/blog_settings/blog_settings.txt b/website/doctype/blog_settings/blog_settings.txt
new file mode 100644
index 0000000..09740eb
--- /dev/null
+++ b/website/doctype/blog_settings/blog_settings.txt
@@ -0,0 +1,61 @@
+[
+ {
+ "creation": "2013-03-11 17:48:16",
+ "docstatus": 0,
+ "modified": "2013-03-11 17:48:16",
+ "modified_by": "Administrator",
+ "owner": "Administrator"
+ },
+ {
+ "description": "Blog Settings",
+ "doctype": "DocType",
+ "issingle": 1,
+ "module": "Website",
+ "name": "__common__"
+ },
+ {
+ "doctype": "DocField",
+ "name": "__common__",
+ "parent": "Blog Settings",
+ "parentfield": "fields",
+ "parenttype": "DocType",
+ "permlevel": 0
+ },
+ {
+ "create": 1,
+ "doctype": "DocPerm",
+ "name": "__common__",
+ "parent": "Blog Settings",
+ "parentfield": "permissions",
+ "parenttype": "DocType",
+ "permlevel": 0,
+ "read": 1,
+ "role": "Website Manager",
+ "write": 1
+ },
+ {
+ "doctype": "DocType",
+ "name": "Blog Settings"
+ },
+ {
+ "doctype": "DocField",
+ "fieldname": "blog_title",
+ "fieldtype": "Data",
+ "label": "Blog Title"
+ },
+ {
+ "doctype": "DocField",
+ "fieldname": "blog_introduction",
+ "fieldtype": "Small Text",
+ "label": "Blog Introduction"
+ },
+ {
+ "doctype": "DocField",
+ "fieldname": "writers_introduction",
+ "fieldtype": "Small Text",
+ "label": "Writers Introduction"
+ },
+ {
+ "doctype": "DocPerm"
+ }
+]
\ No newline at end of file
diff --git a/website/doctype/style_settings/custom_template.css b/website/doctype/style_settings/custom_template.css
index 4925837..00c02bb 100644
--- a/website/doctype/style_settings/custom_template.css
+++ b/website/doctype/style_settings/custom_template.css
@@ -12,7 +12,7 @@
background-color: #edede7;
{% endif %}
{% if doc.font or doc.google_web_font_for_text %}
- font-family: '{{ doc.google_web_font_for_text or doc.font }}', Verdana, Sans !important;
+ font-family: '{{ doc.google_web_font_for_text or doc.font }}', 'Helvetica Neue', Arial, Sans !important;
{% endif %}
{% if doc.font_size %}
font-size: {{ doc.font_size }} !important;
@@ -31,7 +31,7 @@
{% if doc.google_web_font_for_heading or doc.heading_font %}
h1, h2, h3, h4, h5 {
- font-family: '{{ doc.google_web_font_for_heading or doc.heading_font }}', Arial, 'Helvetica Neue' !important;
+ font-family: '{{ doc.google_web_font_for_heading or doc.heading_font }}', 'Helvetica Neue', Arial !important;
}
{% endif %}
{% if doc.heading_text_style %}
@@ -64,20 +64,16 @@
}
.navbar-inverse .brand,
+.navbar-inverse .brand:hover,
+.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a {
color: #{{ doc.top_bar_foreground or "fff"}};
text-shadow: none;
}
-.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
-.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
- color: #{{ doc.top_bar_background or "aaa"}};
-}
-
-.navbar-inverse .brand {
- color: #{{ doc.top_bar_foreground or "fff"}};
+ color: #{{ doc.top_bar_background or "000"}};
}
.navbar-inverse .navbar-text {
diff --git a/website/doctype/style_settings/style_settings.py b/website/doctype/style_settings/style_settings.py
index 434f4b5..ba003ae 100644
--- a/website/doctype/style_settings/style_settings.py
+++ b/website/doctype/style_settings/style_settings.py
@@ -39,6 +39,9 @@
from webnotes.sessions import clear_cache
clear_cache('Guest')
+
+ from website.utils import clear_cache
+ clear_cache()
for f in ["small_font_size", "at_import", "heading_text_style"]:
if f in self.doc.fields:
diff --git a/website/doctype/web_page/web_page.txt b/website/doctype/web_page/web_page.txt
index 861ac86..eed7d2b 100644
--- a/website/doctype/web_page/web_page.txt
+++ b/website/doctype/web_page/web_page.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-01-27 16:31:21",
+ "creation": "2013-02-12 13:19:11",
"docstatus": 0,
- "modified": "2013-02-12 09:33:47",
+ "modified": "2013-03-11 17:41:11",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -24,18 +24,16 @@
"permlevel": 0
},
{
- "create": 1,
+ "amend": 0,
"doctype": "DocPerm",
"name": "__common__",
"parent": "Web Page",
"parentfield": "permissions",
"parenttype": "DocType",
- "permlevel": 0,
"read": 1,
"report": 1,
"role": "Website Manager",
- "submit": 0,
- "write": 1
+ "submit": 0
},
{
"doctype": "DocType",
@@ -86,6 +84,13 @@
"options": "Website Slideshow"
},
{
+ "description": "Description for page header.",
+ "doctype": "DocField",
+ "fieldname": "description",
+ "fieldtype": "Small Text",
+ "label": "Description"
+ },
+ {
"description": "Content in markdown format that appears on the main side of your page",
"doctype": "DocField",
"fieldname": "main_section",
@@ -143,6 +148,17 @@
"print_hide": 1
},
{
- "doctype": "DocPerm"
+ "cancel": 1,
+ "create": 1,
+ "doctype": "DocPerm",
+ "permlevel": 0,
+ "write": 1
+ },
+ {
+ "cancel": 0,
+ "create": 0,
+ "doctype": "DocPerm",
+ "permlevel": 1,
+ "write": 0
}
]
\ No newline at end of file
diff --git a/website/helpers/blog.py b/website/helpers/blog.py
index ec57105..5ee3451 100644
--- a/website/helpers/blog.py
+++ b/website/helpers/blog.py
@@ -99,10 +99,8 @@
return comment_html
@webnotes.whitelist(allow_guest=True)
-def add_subscriber():
+def add_subscriber(name, email_id):
"""add blog subscriber to lead"""
- full_name = webnotes.form_dict.get('your_name')
- email = webnotes.form_dict.get('your_email_address')
name = webnotes.conn.sql("""select name from tabLead where email_id=%s""", email)
from webnotes.model.doc import Document
@@ -114,22 +112,23 @@
if not lead.source: lead.source = 'Blog'
lead.unsubscribed = 0
lead.blog_subscriber = 1
- lead.lead_name = full_name
+ lead.lead_name = name
lead.email_id = email
lead.save()
-
+
def get_blog_content(blog_page_name):
import website.utils
content = website.utils.get_html(blog_page_name)
- content = split_blog_content(content)
import webnotes.utils
content = webnotes.utils.escape_html(content)
return content
def get_blog_template_args():
- return {
+ args = {
"categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
}
+ args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
+ return args
def get_writers_args():
bloggers = webnotes.conn.sql("""select * from `tabBlogger`
@@ -138,10 +137,13 @@
if blogger.avatar and not "/" in blogger.avatar:
blogger.avatar = "files/" + blogger.avatar
- return {
+ args = {
"bloggers": bloggers,
"texts": {
"all_posts_by": _("All posts by")
},
"categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
- }
\ No newline at end of file
+ }
+
+ args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
+ return args
\ No newline at end of file
diff --git a/website/helpers/blog_feed.py b/website/helpers/blog_feed.py
index 19fc5d8..c59a419 100644
--- a/website/helpers/blog_feed.py
+++ b/website/helpers/blog_feed.py
@@ -59,7 +59,7 @@
blog_list = webnotes.conn.sql("""\
select page_name as name, modified, creation, title from `tabBlog Post`
where ifnull(published,0)=1
- order by creation desc, modified desc, name asc limit 100""", as_dict=1)
+ order by creation desc, modified desc, name asc limit 20""", as_dict=1)
for blog in blog_list:
blog.link = host + '/' + blog.name + '.html'
diff --git a/website/page/website_home/website_home.js b/website/page/website_home/website_home.js
index bb3d14f..e112207 100644
--- a/website/page/website_home/website_home.js
+++ b/website/page/website_home/website_home.js
@@ -37,6 +37,12 @@
description: wn._("Categorize blog posts."),
doctype:"Blog Category"
},
+ {
+ label: wn._("Blog Settings"),
+ description: wn._("Write titles and introductions to your blog."),
+ doctype:"Blog Settings",
+ route: "Form/Blog Settings"
+ },
]
},
diff --git a/website/templates/html/base.html b/website/templates/html/base.html
index fa01f8a..2719f8d 100644
--- a/website/templates/html/base.html
+++ b/website/templates/html/base.html
@@ -19,6 +19,9 @@
<link rel="icon" href="app/images/favicon.ico" type="image/x-icon">
{% endif %}
+ {% if description %}
+ <meta name="description" content="{{ description }}">
+ {% endif %}
{% block header %}
{% endblock %}
diff --git a/website/templates/html/blog_page.html b/website/templates/html/blog_page.html
index e605a12..270d427 100644
--- a/website/templates/html/blog_page.html
+++ b/website/templates/html/blog_page.html
@@ -9,14 +9,17 @@
{% endblock %}
{% block content %}
-<div class="span12">
- <h2>{{ title }}</h2>
+<div class="span12" itemscope itemtype="http://schema.org/BlogPost">
+ <h2 itemprop="name headline">{{ title }}</h2>
<!-- begin blog content -->
<div class="help" style="color: #aaa">
- {{ blogger_info and blogger_info.full_name or full_name }} / {{ updated }}</div>
+ <span itemprop="author">{{ blogger_info and blogger_info.full_name or full_name }}</span> /
+ <span itemprop="dateCreated">{{ updated }}</span></div>
<br>
+ <div itemprop="articleBody">
{{ content_html }}
+ </div>
<!-- end blog content -->
{% if blogger_info %}
<hr />
diff --git a/website/templates/html/blogger.html b/website/templates/html/blogger.html
index eab371e..e18f86a 100644
--- a/website/templates/html/blogger.html
+++ b/website/templates/html/blogger.html
@@ -1,7 +1,7 @@
<div class="row">
<div class="span2">
<div class="avatar avatar-large">
- <img src="{{ blogger_info.avatar }}" />
+ <img itemprop="thumbnailUrl" src="{{ blogger_info.avatar }}" />
</div>
</div>
<div class="span10">
diff --git a/website/templates/html/comment.html b/website/templates/html/comment.html
index 1323e09..27baaad 100644
--- a/website/templates/html/comment.html
+++ b/website/templates/html/comment.html
@@ -3,12 +3,15 @@
it is to be included in the blog/blog.html template
#}
-{% for comment in comment_list %}
-<div class="comment-row">
- <div class="comment-title">
- {{ comment.comment_by_fullname }} - {{ comment.comment_date }}:
+<div itemscope itemtype="http://schema.org/UserComments">
+ {% for comment in comment_list %}
+ <div class="comment-row">
+ <div class="comment-title">
+ <span itemprop="name" class="author">{{ comment.comment_by_fullname }}</span> /
+ <span itemprop="commentTime">{{ comment.comment_date }}</span>:
+ </div>
+ <p class="comment-content" itemprop="commentText">{{ comment.comment }}</p>
+ <hr>
</div>
- <p class="comment-content">{{ comment.comment }}</p>
- <hr>
-</div>
-{% endfor %}
\ No newline at end of file
+ {% endfor %}
+</div>
\ No newline at end of file
diff --git a/website/templates/html/footer.html b/website/templates/html/footer.html
new file mode 100644
index 0000000..19aeabe
--- /dev/null
+++ b/website/templates/html/footer.html
@@ -0,0 +1,66 @@
+<footer class="container"><div class="web-footer">
+ {% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
+ <div class="social-icons" style="">
+ <span style="font-size: 11px;">{{ share_text or "Share this page on: "}}</span>
+ {% if google_plus_one %}
+ <a href="https://plus.google.com/share?url={{ url }}"
+ target="_blank"><i class="icon-google-plus"></i></a>
+ {% endif %}
+ {% if twitter_share %}
+ <a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
+ target="_blank" ><i class="icon-twitter"></i></a>
+ {% endif %}
+ {% if facebook_share %}
+ <a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
+ target="_blank"><i class="icon-facebook"></i></a>
+ {% endif %}
+ {% if linked_in_share %}
+ <a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
+ target="_blank"><i class="icon-linkedin"></i></a>
+ {% endif %}
+ </div>
+ {% endif %}
+ <p style="float: right; clear: right;">
+ <a style="font-size: 90%; color: #888;" href="attributions">ERPNext Powered</a>
+ </p>
+ <div class="web-footer-menu">
+ <ul>
+ {% for item in footer_items %}
+ <li><a href="{{ item.url }}" {{ item.target }}
+ data-label="{{ item.label }}">{{ item.label }}</a></li>
+ {% endfor %}
+ </ul>
+ </div>
+ {% if copyright %}
+ <div class="web-footer-copyright">© {{ copyright }}</div>
+ {% endif %}
+ {% if address %}
+ {{ address }}
+ {% endif %}
+ <p><div class="input-append" style="text-align: center; margin:30px 0px;">
+ <input class="span3" id="footer-subscribe-email" type="text" placeholder="Your email address...">
+ <button class="btn" type="button" id="footer-subscribe-button">Stay Updated</button>
+ </div></p>
+ <script>
+ $("#footer-subscribe-button").click(function() {
+ if($("#footer-subscribe-email").val()) {
+ erpnext.send_message({
+ subject:"Subscribe me",
+ sender: $("#footer-subscribe-email").val(),
+ message: "Subscribe to newsletter (via website footer).",
+ callback: function(r) {
+ console.log(r)
+ if(!r.exc) {
+ $("#footer-subscribe-email").val("").attr('disabled', true);
+ $("#footer-subscribe-button").html("Thank You :)")
+ .addClass("btn-success").attr("disabled", true);
+ } else {
+ $("#footer-subscribe-button").html("Error :( Not a valid id?").addClass("btn-danger");
+ }
+ }
+ });
+ }
+ });
+ </script>
+ </div>
+</footer>
diff --git a/website/templates/html/navbar.html b/website/templates/html/navbar.html
new file mode 100644
index 0000000..5a30c6a
--- /dev/null
+++ b/website/templates/html/navbar.html
@@ -0,0 +1,57 @@
+<div class="navbar{% if top_bar_background=="Black" %} navbar-inverse{% endif %}"
+ style="">
+ <div class="navbar-inner">
+ <a class="brand" href="index">{{ brand_html }}</a>
+ <div class="container">
+ <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <div class="nav-collapse collapse">
+ <ul class="nav">
+ {% for page in top_bar_items %}
+ {% if not page.parent_label %}
+ <li data-label="{{ page.label }}"
+ {% if page.child_items %}
+ class="dropdown"
+ {% endif %}>
+ <a href="{{ page.url or '#' }}"
+ {% if page.child_items %}
+ class="dropdown-toggle"
+ onclick="return false;"
+ data-toggle="dropdown"
+ {% endif %}
+ {{ page.target or ''}}>
+ {{ page.label }}
+ {% if page.child_items %}
+ <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu">
+ {% for child in page.child_items %}
+ <li data-label="{{ child.label }}">
+ <a {% if child.indent %}
+ style="padding-left:
+ {{(int(child.indent)+1)*15 }}px"
+ {% endif %}
+ href="{{ child.url }}" {{ child.target or '' }}>
+ {{ child.label }}
+ </a>
+ </li>
+ {% endfor %}
+ </ul>
+ {% else %}
+ </a>
+ {% endif %}
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ <ul class="nav pull-right">
+ <li id="login-topbar-item"><a href="login">Login</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+<script>$('.dropdown-toggle').dropdown()</script>
diff --git a/website/templates/html/outer.html b/website/templates/html/outer.html
index e582d0a..9c8cd9f 100644
--- a/website/templates/html/outer.html
+++ b/website/templates/html/outer.html
@@ -5,106 +5,13 @@
</header>
<div class="container">
<div class="outer">
- <div class="navbar{% if top_bar_background=="Black" %} navbar-inverse{% endif %}"
- style="">
- <div class="navbar-inner">
- <a class="brand" href="index">{{ brand_html }}</a>
- <div class="container">
- <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <div class="nav-collapse collapse">
- <ul class="nav">
- {% for page in top_bar_items %}
- {% if not page.parent_label %}
- <li data-label="{{ page.label }}"
- {% if page.child_items %}
- class="dropdown"
- {% endif %}>
- <a href="{{ page.url or '#' }}"
- {% if page.child_items %}
- class="dropdown-toggle"
- onclick="return false;"
- data-toggle="dropdown"
- {% endif %}
- {{ page.target or ''}}>
- {{ page.label }}
- {% if page.child_items %}
- <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- {% for child in page.child_items %}
- <li data-label="{{ child.label }}">
- <a {% if child.indent %}
- style="padding-left:
- {{(int(child.indent)+1)*15 }}px"
- {% endif %}
- href="{{ child.url }}" {{ child.target or '' }}>
- {{ child.label }}
- </a>
- </li>
- {% endfor %}
- </ul>
- {% else %}
- </a>
- {% endif %}
- </li>
- {% endif %}
- {% endfor %}
- </ul>
- <ul class="nav pull-right">
- <li id="login-topbar-item"><a href="login">Login</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <script>$('.dropdown-toggle').dropdown()</script>
+ {% include "html/navbar.html" %}
<div class="content row" id="page-{{ name }}" style="display: block;">
{% block content %}
{% endblock %}
</div>
</div>
</div>
- <footer class="container"><div class="web-footer">
- {% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
- <div class="social-icons" style="">
- <span style="font-size: 11px;">{{ share_text or "Share this page on: "}}</span>
- {% if google_plus_one %}
- <a href="https://plus.google.com/share?url={{ url }}"
- target="_blank"><i class="icon-google-plus"></i></a>
- {% endif %}
- {% if twitter_share %}
- <a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
- target="_blank" ><i class="icon-twitter"></i></a>
- {% endif %}
- {% if facebook_share %}
- <a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
- target="_blank"><i class="icon-facebook"></i></a>
- {% endif %}
- {% if linked_in_share %}
- <a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
- target="_blank"><i class="icon-linkedin"></i></a>
- {% endif %}
- </div>
- {% endif %}
- <p style="float: right; clear: right;">
- <a style="font-size: 90%; color: #888;" href="attributions">ERPNext Powered</a></p>
- <div class="web-footer-menu"><ul>
- {% for item in footer_items %}
- <li><a href="{{ item.url }}" {{ item.target }}
- data-label="{{ item.label }}">{{ item.label }}</a></li>
- {% endfor %}
- </ul></div>
- {% if copyright %}
- <div class="web-footer-copyright">© {{ copyright }}</div>
- {% endif %}
- {% if address %}
- {{ address }}
- {% endif %}
- </div>
- </footer>
+ {% include "html/footer.html" %}
{% endblock %}
\ No newline at end of file
diff --git a/website/templates/html/slideshow.html b/website/templates/html/slideshow.html
index 8641724..e0e9038 100644
--- a/website/templates/html/slideshow.html
+++ b/website/templates/html/slideshow.html
@@ -5,10 +5,12 @@
{% for slide in obj.slides %}
<div class="{% if slide.idx==1 %}active {% endif %}item">
<img src="{{ slide.image }}" />
+ {% if slide.heading or slide.description %}
<div class="carousel-caption">
- <h4>{{ slide.heading }}</h4>
- <p>{{ slide.description }}</p>
+ {% if slide.heading %}<h4>{{ slide.heading }}</h4>{% endif %}
+ {% if slide.heading %}<p>{{ slide.description }}</p>{% endif %}
</div>
+ {% endif %}
</div>
{% endfor %}
</div>
diff --git a/website/templates/js/blog.js b/website/templates/js/blog.js
index 3cfb234..61e1b65 100644
--- a/website/templates/js/blog.js
+++ b/website/templates/js/blog.js
@@ -25,11 +25,11 @@
})
if(get_url_arg("by_name")) {
- $("#blog-title").html("Posts by " + get_url_arg("by_name"));
+ $("#blot-subtitle").html("Posts by " + get_url_arg("by_name")).toggle(true);
}
if(get_url_arg("category")) {
- $("#blog-title").html("Posts filed under " + get_url_arg("category"));
+ $("#blot-subtitle").html("Posts filed under " + get_url_arg("category")).toggle(true);
}
});
@@ -48,6 +48,7 @@
},
dataType: "json",
success: function(data) {
+ $(".progress").toggle(false);
if(data.exc) console.log(data.exc);
blog.render(data.message);
}
@@ -81,10 +82,10 @@
</div><hr>', b)).appendTo($wrap);
});
blog.start += (data.length || 0);
- if(!data.length) {
+ if(!data.length || data.length < 20) {
if(blog.start) {
$("#next-page").toggle(false)
- .parent().append("<div class='alert'>Nothing more to show.</div>");
+ .parent().append("<div class='alert alert-info'>Nothing more to show.</div>");
} else {
$("#next-page").toggle(false)
.parent().append("<div class='alert'>No blogs written yet.</div>");
diff --git a/website/templates/pages/attributions.html b/website/templates/pages/attributions.html
index 2d195ba..9e4b50d 100644
--- a/website/templates/pages/attributions.html
+++ b/website/templates/pages/attributions.html
@@ -12,7 +12,7 @@
{% block content %}
<div class="layout-attributions span12">
- <h3>This website is made using these Awesome Open Source Projects <i class="icon-heart" style="color: red"></i></h3>
+ <h3>This website is made using these awesome Open Source projects <i class="icon-heart" style="color: red"></i></h3>
<hr>
<table class="table table-bordered table-striped">
<tbody>
@@ -38,6 +38,10 @@
<td>The Number One HTTP Server On The Internet.</td>
</tr>
<tr>
+ <td><a href="http://memcached.org/">Memcached</a></td>
+ <td>Free & open source, high-performance, distributed memory object caching system.</td>
+ </tr>
+ <tr>
<td><a href="http://python.org/">Python Programming Language</a></td>
<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
<ul>
@@ -81,6 +85,10 @@
<td>A lightning fast JavaScript grid/spreadsheet.</td>
</tr>
<tr>
+ <td><a href="http://arshaw.com/fullcalendar/">FullCalendar</a></td>
+ <td>FullCalendar is a jQuery plugin that provides a full-sized, drag and drop calendar.</td>
+ </tr>
+ <tr>
<td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
<td>Attractive JavaScript plotting for jQuery.</td>
</tr>
@@ -97,12 +105,36 @@
<td>HTML/Javascript Color Picker.</td>
</tr>
<tr>
+ <td><a href="http://qunitjs.com/">QUnit</a></td>
+ <td>A JavaScript Unit Testing framework.</td>
+ </tr>
+ <tr>
<td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
<td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
</tr>
</tbody>
</table>
+
+ <hr>
+ <h3>ERPNext License: GNU/General Public License</h3>
+ <div class="well">
+ <p><b>ERPNext - Open Source, web based ERP</b></p>
+ <p>Copyright © 2012, Web Notes Technologies Pvt Ltd, India</p>
- <p class="alert">Note: A link to this page must be easily accessible.</p>
+ <p>This program is free software: you can redistribute it and/or modify
+ it under the terms of the <b>GNU General Public License</b> as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.</p>
+
+ <p>This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.</p>
+
+ <p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
+ </div>
+ <p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
+ <hr>
+ <p>For more information please write to us at support@erpnext.com</p>
</div>
{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/blog.html b/website/templates/pages/blog.html
index 05302c6..df258e1 100644
--- a/website/templates/pages/blog.html
+++ b/website/templates/pages/blog.html
@@ -12,8 +12,15 @@
{% block content %}
<div class="span12">
- <h2 id="blog-title">Blog</h2>
+ <h2 id="blog-title">{{ blog_title }}</h2>
+ {% if blog_introduction %}
+ <p>{{ blog_introduction }}</p>
+ {% endif %}
+ <h3 id="blot-subtitle" style="display:none;"></h3>
<br>
+ <div class="progress progress-striped active">
+ <div class="bar" style="width: 100%;"></div>
+ </div>
<div id="blog-list">
<!-- blog list will be generated dynamically -->
</div>
diff --git a/website/templates/pages/writers.html b/website/templates/pages/writers.html
index 0ae8549..bba3749 100644
--- a/website/templates/pages/writers.html
+++ b/website/templates/pages/writers.html
@@ -5,6 +5,9 @@
{% block content %}
<div class="span12">
<h2 id="blog-title">Blog Writers</h2>
+ {% if writers_introduction %}
+ <p>{{ writers_introduction }}</p>
+ {% endif %}
<hr>
{% for blogger_info in bloggers %}
{% include "html/blogger.html" %}