Preliminary work for new boards page
This commit is contained in:
parent
c815f5fbd6
commit
4a57fa5c7d
@ -412,7 +412,8 @@ base_url = pinout.get_setting('base_url', '/pinout/') # '/pinout-tr/pinout/'
|
||||
resource_url = pinout.get_setting('resource_url', '/resources/') # '/pinout-tr/resources/'
|
||||
url_suffix = pinout.get_setting('url_suffix', '') # '.html'
|
||||
|
||||
template = open('src/{}/template/layout.html'.format(lang)).read()
|
||||
template_main = open('src/{}/template/layout.html'.format(lang)).read()
|
||||
template_boards = open('src/{}/template/boards.html'.format(lang)).read()
|
||||
|
||||
pages = {}
|
||||
navs = {}
|
||||
@ -501,6 +502,8 @@ Generate the new categorised navigation menu
|
||||
'''
|
||||
overlay_subnav = ''.join(map(lambda overlay_type: '<li class="group_{cls}" data-group="{cls}">{text}</li>'.format(cls=overlay_type,text=strings['group_' + overlay_type]),overlay_subnav))
|
||||
|
||||
boards_page = []
|
||||
|
||||
for overlay_type in nav_html.keys():
|
||||
for overlay_group, items in nav_html[overlay_type].iteritems():
|
||||
items.sort()
|
||||
@ -509,6 +512,18 @@ for overlay_type in nav_html.keys():
|
||||
|
||||
group_items = ''
|
||||
|
||||
if overlay_type == 'board':
|
||||
for x in items:
|
||||
image = x['image'] if 'image' in x else ''
|
||||
print(x)
|
||||
|
||||
boards_page.append('<li class="board"><a href="{base_url}{page_url}"><img src="{resource_url}boards/{image}" /><strong>{name}</strong></a></li>'.format(
|
||||
image=image,
|
||||
name=x['name'],
|
||||
page_url=x['page_url'],
|
||||
base_url=base_url,
|
||||
resource_url=resource_url))
|
||||
|
||||
group_items_pictures = (''.join(map(lambda x: '<li class="featured"><a href="{base_url}{page_url}"><img src="{resource_url}boards/{image}" /><strong>{name}</strong><span>{description}</span></a></li>'.format(
|
||||
image=x['image'],
|
||||
name=x['name'],
|
||||
@ -542,7 +557,10 @@ serve.py will mirror this structure for testing.
|
||||
'''
|
||||
pages['index'] = {}
|
||||
pages['index']['rendered_html'] = render_overlay_page({'name': 'Index', 'long_description': load_md('index.md')})
|
||||
navs['index'] = render_nav('pinout')
|
||||
|
||||
default_nav = render_nav('pinout')
|
||||
|
||||
navs['index'] = default_nav
|
||||
|
||||
'''
|
||||
Add the 404 page if 404.md is present.
|
||||
@ -551,9 +569,12 @@ page404 = load_md('404.md')
|
||||
if page404 is not None:
|
||||
pages['404'] = {}
|
||||
pages['404']['rendered_html'] = render_overlay_page({'name': '404', 'long_description': page404})
|
||||
navs['404'] = render_nav('pinout')
|
||||
navs['404'] = default_nav
|
||||
|
||||
|
||||
pages['boards'] = {'rendered_html': ''.join(boards_page)}
|
||||
navs['boards'] = default_nav
|
||||
|
||||
print('\nRendering pin pages...')
|
||||
|
||||
for pin in range(1, len(pinout.pins) + 1):
|
||||
@ -565,7 +586,7 @@ for pin in range(1, len(pinout.pins) + 1):
|
||||
langlinks = get_lang_urls('pin{}'.format(pin))
|
||||
|
||||
pin_nav = render_nav(pin_url)
|
||||
pin_html = pinout.render_html(template,
|
||||
pin_html = pinout.render_html(template_main,
|
||||
lang_links="\n\t\t".join(langlinks),
|
||||
hreflang="\n\t\t".join(hreflang),
|
||||
nav=pin_nav,
|
||||
@ -592,9 +613,12 @@ for url in pages:
|
||||
hreflang = []
|
||||
langlinks = []
|
||||
|
||||
if url == 'index':
|
||||
hreflang = get_hreflang_urls('index')
|
||||
langlinks = get_lang_urls('index')
|
||||
# Select the appropriate template for this page
|
||||
template = template_boards if url == 'boards' else template_main
|
||||
|
||||
if url == 'index' or url == 'boards':
|
||||
hreflang = get_hreflang_urls(url)
|
||||
langlinks = get_lang_urls(url)
|
||||
|
||||
if 'src' in pages[url]:
|
||||
src = pages[url]['src']
|
||||
@ -622,7 +646,7 @@ for url in pages:
|
||||
nav_html=nav_html
|
||||
)
|
||||
|
||||
if url != 'index' and url != '404':
|
||||
if url not in ['index','404','boards']:
|
||||
url = os.path.join('pinout', url)
|
||||
|
||||
print('>> {}.html'.format(url))
|
||||
|
@ -247,19 +247,26 @@ Drop down nav
|
||||
width:34%;
|
||||
}
|
||||
|
||||
#sections .featured {
|
||||
#sections .featured, #boards .board {
|
||||
box-sizing:border-box;
|
||||
width:33.3333%;
|
||||
display:block;
|
||||
float:left;
|
||||
text-align:center;
|
||||
}
|
||||
#sections .featured img {
|
||||
#boards .board a {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
min-height: 230px;
|
||||
display:block;
|
||||
}
|
||||
#sections .featured img, #boards .board img {
|
||||
max-width:100%;
|
||||
height:auto;
|
||||
display:block;
|
||||
margin:0 auto;
|
||||
}
|
||||
#sections .featured a {
|
||||
#sections .featured a, #boards .board a {
|
||||
background:none;
|
||||
}
|
||||
#sections .boards hr {
|
||||
@ -273,7 +280,10 @@ Drop down nav
|
||||
#sections .boards .featured a:hover {
|
||||
background: #D33682;
|
||||
}
|
||||
#sections .featured strong {
|
||||
#boards .board a:hover {
|
||||
background: #fdfaf0;
|
||||
}
|
||||
#sections .featured strong, #boards .board strong {
|
||||
font-size:20px;
|
||||
font-family: 'Avenir', sans-serif;
|
||||
font-weight: 500;
|
||||
@ -282,7 +292,11 @@ Drop down nav
|
||||
padding: 0 5px;
|
||||
display:block;
|
||||
}
|
||||
#sections .featured span {
|
||||
#boards .board strong {
|
||||
color:#333333;
|
||||
}
|
||||
|
||||
#sections .featured span, #boards .board span {
|
||||
color: #FFFFFF;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
|
69
src/en/template/boards.html
Normal file
69
src/en/template/boards.html
Normal file
@ -0,0 +1,69 @@
|
||||
<!doctype html>
|
||||
<html lang="{{langcode}}">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
<title>{{title}}</title>
|
||||
<meta name="description" content="{{description}}" />
|
||||
<link href='//fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css' />
|
||||
<link href='{{resource_url}}prettify/prettify.css' rel='stylesheet' />
|
||||
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
|
||||
<link href="{{resource_url}}pinout.css?v={{v}}" rel="stylesheet">
|
||||
<link href="{{resource_url}}print.css?v={{v}}" rel="stylesheet" media="print">
|
||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
{{hreflang}}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-69846516-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<h1 class="logo"><a title="Raspberry Pi GPIO Pinout home" href="/"><img src="{{resource_url}}pinout-logo.png" style="top:8px;" /><span>Raspberry Pi</span>n<span class="out">out</span></a></h1>
|
||||
<nav id="gpio">
|
||||
<div id="pinbase"></div>
|
||||
<div id="pinbasebplus"></div>
|
||||
{{nav}}
|
||||
</nav>
|
||||
<div id="content">
|
||||
<div id="sections">
|
||||
<ul>
|
||||
<li class="boards"><a href="/boards" title="Add-on boards for Raspberry Pi">Boards</a></li>
|
||||
<li class="interfaces"><a href="" title="Raspberry Pi hardware interfaces">Interfaces</a>
|
||||
<div class="dropdown">{{nav_html_interface}}</div>
|
||||
</li>
|
||||
<li class="guides"><a href="" title="Connection guides for Raspberry Pi GPIO">Guides</a>
|
||||
<div class="dropdown">{{nav_html_guide}}</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="lang">
|
||||
<ul class="lang-nav">
|
||||
{{lang_links}}
|
||||
</ul>
|
||||
</div>
|
||||
<div id="pages">
|
||||
<article><h1>Raspberry Pi HATs, pHATs & Add-ons</h1></article>
|
||||
<div id="boards"><ul>{{content}}</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer" style="clear: both;padding: 20px 0px;text-align:center;">
|
||||
<p>Spotted an error, want to add your board's pinout? <a href="https://github.com/gadgetoid/Pinout2">Head on over to our GitHub repository</a> and submit an Issue or a Pull Request!</p>
|
||||
<p>Originally part of <a href="http://pi.gadgetoid.com">pi.gadgetoid.com</a></p>
|
||||
<p>Maintained by <a href="https://twitter.com/gadgetoid"><i class="fa fa-twitter"></i> @Gadgetoid</a> and <a href="https://twitter.com/roguehal13"><i class="fa fa-twitter"></i> @RogueHAL13</a></p>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery/1.9.1/jquery-1.9.1.min.js"></script>
|
||||
<script type="text/javascript" src="//cdn.jsdelivr.net/prettify/0.1/prettify.js"></script>
|
||||
<script src='{{resource_url}}prettify/lang-ruby.js'></script>
|
||||
<script src='{{resource_url}}prettify/lang-bash.js'></script>
|
||||
<script src='{{resource_url}}pinout.js?v={{v}}'></script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user