├── .gitignore ├── CHANGELOG.md ├── Dockerfile ├── LICENSE ├── README.md ├── THANKS.md ├── conf ├── entrypoint.sh ├── nginx.conf ├── supervisord.conf └── uwsgi.ini ├── documents ├── sg_wam_v1_2015_08_10.jpg ├── wam_v1_2015_08_10_mm.png ├── wiki.md └── wiki_imgs │ ├── 1.png │ ├── 10.png │ ├── 11.png │ ├── 12.png │ ├── 13.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png ├── manage.py ├── monitor.py ├── monitor ├── __init__.py ├── core │ ├── __init__.py │ ├── analysis.py │ ├── api.py │ ├── diff.py │ ├── download.py │ ├── exception.py │ ├── log.py │ └── settings.py ├── parse │ ├── __init__.py │ └── cmdline.py ├── plugins │ ├── __init__.py │ ├── backdoor.py │ ├── baseframe.py │ ├── sqli.py │ └── xss.py └── utils │ ├── __init__.py │ ├── common.py │ ├── email_list.py │ ├── local_settings.py │ ├── mail.py │ └── settings.py ├── requirements.txt └── wam ├── __init__.py ├── apps ├── __init__.py ├── am │ ├── __init__.py │ ├── admin.py │ ├── mail.py │ ├── models.py │ ├── smtp.py │ ├── tests.py │ ├── utils.py │ └── views.py ├── fm │ ├── __init__.py │ ├── admin.py │ ├── models.py │ ├── tests.py │ └── views.py ├── idm │ ├── __init__.py │ ├── admin.py │ ├── models.py │ ├── tests.py │ └── views.py ├── main │ ├── __init__.py │ ├── admin.py │ ├── models.py │ ├── tests.py │ └── views.py └── vdr │ ├── __init__.py │ ├── admin.py │ ├── models.py │ ├── tests.py │ └── views.py ├── ldap_backend.py ├── settings.py ├── static ├── css │ ├── messenger-spinner.css │ ├── messenger-theme-air.css │ ├── messenger-theme-block.css │ ├── messenger-theme-flat.css │ ├── messenger-theme-future.css │ ├── messenger-theme-ice.css │ ├── messenger.css │ └── shake.css ├── dist │ ├── components │ │ ├── accordion.css │ │ ├── accordion.js │ │ ├── accordion.min.css │ │ ├── accordion.min.js │ │ ├── ad.css │ │ ├── ad.min.css │ │ ├── api.js │ │ ├── api.min.js │ │ ├── breadcrumb.css │ │ ├── breadcrumb.min.css │ │ ├── button.css │ │ ├── button.min.css │ │ ├── card.css │ │ ├── card.min.css │ │ ├── checkbox.css │ │ ├── checkbox.js │ │ ├── checkbox.min.css │ │ ├── checkbox.min.js │ │ ├── comment.css │ │ ├── comment.min.css │ │ ├── container.css │ │ ├── container.min.css │ │ ├── dimmer.css │ │ ├── dimmer.js │ │ ├── dimmer.min.css │ │ ├── dimmer.min.js │ │ ├── divider.css │ │ ├── divider.min.css │ │ ├── dropdown.css │ │ ├── dropdown.js │ │ ├── dropdown.min.css │ │ ├── dropdown.min.js │ │ ├── embed.css │ │ ├── embed.js │ │ ├── embed.min.css │ │ ├── embed.min.js │ │ ├── feed.css │ │ ├── feed.min.css │ │ ├── flag.css │ │ ├── flag.min.css │ │ ├── form.css │ │ ├── form.js │ │ ├── form.min.css │ │ ├── form.min.js │ │ ├── grid.css │ │ ├── grid.min.css │ │ ├── header.css │ │ ├── header.min.css │ │ ├── icon.css │ │ ├── icon.min.css │ │ ├── image.css │ │ ├── image.min.css │ │ ├── input.css │ │ ├── input.min.css │ │ ├── item.css │ │ ├── item.min.css │ │ ├── label.css │ │ ├── label.min.css │ │ ├── list.css │ │ ├── list.min.css │ │ ├── loader.css │ │ ├── loader.min.css │ │ ├── menu.css │ │ ├── menu.min.css │ │ ├── message.css │ │ ├── message.min.css │ │ ├── modal.css │ │ ├── modal.js │ │ ├── modal.min.css │ │ ├── modal.min.js │ │ ├── nag.css │ │ ├── nag.js │ │ ├── nag.min.css │ │ ├── nag.min.js │ │ ├── popup.css │ │ ├── popup.js │ │ ├── popup.min.css │ │ ├── popup.min.js │ │ ├── progress.css │ │ ├── progress.js │ │ ├── progress.min.css │ │ ├── progress.min.js │ │ ├── rail.css │ │ ├── rail.min.css │ │ ├── rating.css │ │ ├── rating.js │ │ ├── rating.min.css │ │ ├── rating.min.js │ │ ├── reset.css │ │ ├── reset.min.css │ │ ├── reveal.css │ │ ├── reveal.min.css │ │ ├── search.css │ │ ├── search.js │ │ ├── search.min.css │ │ ├── search.min.js │ │ ├── segment.css │ │ ├── segment.min.css │ │ ├── shape.css │ │ ├── shape.js │ │ ├── shape.min.css │ │ ├── shape.min.js │ │ ├── sidebar.css │ │ ├── sidebar.js │ │ ├── sidebar.min.css │ │ ├── sidebar.min.js │ │ ├── site.css │ │ ├── site.js │ │ ├── site.min.css │ │ ├── site.min.js │ │ ├── state.js │ │ ├── state.min.js │ │ ├── statistic.css │ │ ├── statistic.min.css │ │ ├── step.css │ │ ├── step.min.css │ │ ├── sticky.css │ │ ├── sticky.js │ │ ├── sticky.min.css │ │ ├── sticky.min.js │ │ ├── tab.css │ │ ├── tab.js │ │ ├── tab.min.css │ │ ├── tab.min.js │ │ ├── table.css │ │ ├── table.min.css │ │ ├── transition.css │ │ ├── transition.js │ │ ├── transition.min.css │ │ ├── transition.min.js │ │ ├── visibility.js │ │ └── visibility.min.js │ ├── semantic.css │ ├── semantic.js │ ├── semantic.min.css │ ├── semantic.min.js │ └── themes │ │ ├── basic │ │ └── assets │ │ │ └── fonts │ │ │ ├── icons.eot │ │ │ ├── icons.svg │ │ │ ├── icons.ttf │ │ │ └── icons.woff │ │ └── default │ │ └── assets │ │ ├── fonts │ │ ├── icons.eot │ │ ├── icons.svg │ │ ├── icons.ttf │ │ ├── icons.woff │ │ └── icons.woff2 │ │ └── images │ │ └── flags.png ├── gulpfile.js ├── images │ ├── 20141007092745108.jpg │ ├── Activity-Monitor-icon.png │ ├── Messages-icon.png │ ├── SourceTreeNewIcon-300x300.png │ ├── Time-Machine-icon.png │ ├── bg-img1.jpg │ ├── elliot.jpg │ ├── jenny.jpg │ ├── joe.jpg │ └── matt.jpg ├── jquery.min.js ├── js │ ├── adapters │ │ ├── standalone-framework.js │ │ └── standalone-framework.src.js │ ├── highcharts-3d.js │ ├── highcharts-3d.src.js │ ├── highcharts-more.js │ ├── highcharts-more.src.js │ ├── highcharts.js │ ├── highcharts.src.js │ ├── messenger-theme-flat.js │ ├── messenger-theme-future.js │ ├── messenger.js │ ├── messenger.min.js │ ├── modules │ │ ├── boost.js │ │ ├── boost.src.js │ │ ├── broken-axis.js │ │ ├── broken-axis.src.js │ │ ├── canvas-tools.js │ │ ├── canvas-tools.src.js │ │ ├── data.js │ │ ├── data.src.js │ │ ├── drilldown.js │ │ ├── drilldown.src.js │ │ ├── exporting.js │ │ ├── exporting.src.js │ │ ├── funnel.js │ │ ├── funnel.src.js │ │ ├── heatmap.js │ │ ├── heatmap.src.js │ │ ├── no-data-to-display.js │ │ ├── no-data-to-display.src.js │ │ ├── offline-exporting.js │ │ ├── offline-exporting.src.js │ │ ├── solid-gauge.js │ │ ├── solid-gauge.src.js │ │ ├── treemap.js │ │ └── treemap.src.js │ └── themes │ │ ├── dark-blue.js │ │ ├── dark-green.js │ │ ├── dark-unica.js │ │ ├── gray.js │ │ ├── grid-light.js │ │ ├── grid.js │ │ ├── sand-signika.js │ │ └── skies.js ├── src │ ├── definitions │ │ ├── behaviors │ │ │ ├── api.js │ │ │ ├── colorize.js │ │ │ ├── form.js │ │ │ ├── state.js │ │ │ ├── visibility.js │ │ │ └── visit.js │ │ ├── collections │ │ │ ├── breadcrumb.less │ │ │ ├── form.less │ │ │ ├── grid.less │ │ │ ├── menu.less │ │ │ ├── message.less │ │ │ └── table.less │ │ ├── elements │ │ │ ├── button.less │ │ │ ├── container.less │ │ │ ├── divider.less │ │ │ ├── flag.less │ │ │ ├── header.less │ │ │ ├── icon.less │ │ │ ├── image.less │ │ │ ├── input.less │ │ │ ├── label.less │ │ │ ├── list.less │ │ │ ├── loader.less │ │ │ ├── rail.less │ │ │ ├── reveal.less │ │ │ ├── segment.less │ │ │ └── step.less │ │ ├── globals │ │ │ ├── reset.less │ │ │ ├── site.js │ │ │ └── site.less │ │ ├── modules │ │ │ ├── accordion.js │ │ │ ├── accordion.less │ │ │ ├── checkbox.js │ │ │ ├── checkbox.less │ │ │ ├── dimmer.js │ │ │ ├── dimmer.less │ │ │ ├── dropdown.js │ │ │ ├── dropdown.less │ │ │ ├── embed.js │ │ │ ├── embed.less │ │ │ ├── modal.js │ │ │ ├── modal.less │ │ │ ├── nag.js │ │ │ ├── nag.less │ │ │ ├── popup.js │ │ │ ├── popup.less │ │ │ ├── progress.js │ │ │ ├── progress.less │ │ │ ├── rating.js │ │ │ ├── rating.less │ │ │ ├── search.js │ │ │ ├── search.less │ │ │ ├── shape.js │ │ │ ├── shape.less │ │ │ ├── sidebar.js │ │ │ ├── sidebar.less │ │ │ ├── sticky.js │ │ │ ├── sticky.less │ │ │ ├── tab.js │ │ │ ├── tab.less │ │ │ ├── transition.js │ │ │ └── transition.less │ │ └── views │ │ │ ├── ad.less │ │ │ ├── card.less │ │ │ ├── comment.less │ │ │ ├── feed.less │ │ │ ├── item.less │ │ │ └── statistic.less │ ├── semantic.less │ ├── site │ │ ├── collections │ │ │ ├── breadcrumb.overrides │ │ │ ├── breadcrumb.variables │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── grid.overrides │ │ │ ├── grid.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ ├── message.variables │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── container.overrides │ │ │ ├── container.variables │ │ │ ├── divider.overrides │ │ │ ├── divider.variables │ │ │ ├── flag.overrides │ │ │ ├── flag.variables │ │ │ ├── header.overrides │ │ │ ├── header.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── image.overrides │ │ │ ├── image.variables │ │ │ ├── input.overrides │ │ │ ├── input.variables │ │ │ ├── label.overrides │ │ │ ├── label.variables │ │ │ ├── list.overrides │ │ │ ├── list.variables │ │ │ ├── loader.overrides │ │ │ ├── loader.variables │ │ │ ├── rail.overrides │ │ │ ├── rail.variables │ │ │ ├── reveal.overrides │ │ │ ├── reveal.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ ├── reset.variables │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ ├── accordion.variables │ │ │ ├── chatroom.overrides │ │ │ ├── chatroom.variables │ │ │ ├── checkbox.overrides │ │ │ ├── checkbox.variables │ │ │ ├── dimmer.overrides │ │ │ ├── dimmer.variables │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── embed.overrides │ │ │ ├── embed.variables │ │ │ ├── modal.overrides │ │ │ ├── modal.variables │ │ │ ├── nag.overrides │ │ │ ├── nag.variables │ │ │ ├── popup.overrides │ │ │ ├── popup.variables │ │ │ ├── progress.overrides │ │ │ ├── progress.variables │ │ │ ├── rating.overrides │ │ │ ├── rating.variables │ │ │ ├── search.overrides │ │ │ ├── search.variables │ │ │ ├── shape.overrides │ │ │ ├── shape.variables │ │ │ ├── sidebar.overrides │ │ │ ├── sidebar.variables │ │ │ ├── sticky.overrides │ │ │ ├── sticky.variables │ │ │ ├── tab.overrides │ │ │ ├── tab.variables │ │ │ ├── transition.overrides │ │ │ └── transition.variables │ │ └── views │ │ │ ├── ad.overrides │ │ │ ├── ad.variables │ │ │ ├── card.overrides │ │ │ ├── card.variables │ │ │ ├── comment.overrides │ │ │ ├── comment.variables │ │ │ ├── feed.overrides │ │ │ ├── feed.variables │ │ │ ├── item.overrides │ │ │ ├── item.variables │ │ │ ├── statistic.overrides │ │ │ └── statistic.variables │ ├── theme.config │ ├── theme.less │ └── themes │ │ ├── amazon │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── basic │ │ ├── assets │ │ │ └── fonts │ │ │ │ ├── icons.eot │ │ │ │ ├── icons.svg │ │ │ │ ├── icons.ttf │ │ │ │ └── icons.woff │ │ ├── collections │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ └── reset.variables │ │ ├── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── bookish │ │ └── elements │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── bootstrap3 │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── chubby │ │ ├── collections │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── menu.overrides │ │ │ └── menu.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ └── accordion.variables │ │ └── views │ │ │ ├── comment.overrides │ │ │ └── comment.variables │ │ ├── classic │ │ ├── collections │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── colored │ │ └── modules │ │ │ ├── checkbox.overrides │ │ │ └── checkbox.variables │ │ ├── default │ │ ├── assets │ │ │ ├── fonts │ │ │ │ ├── icons.eot │ │ │ │ ├── icons.svg │ │ │ │ ├── icons.ttf │ │ │ │ ├── icons.woff │ │ │ │ └── icons.woff2 │ │ │ └── images │ │ │ │ └── flags.png │ │ ├── collections │ │ │ ├── breadcrumb.overrides │ │ │ ├── breadcrumb.variables │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── grid.overrides │ │ │ ├── grid.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ ├── message.variables │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── container.overrides │ │ │ ├── container.variables │ │ │ ├── divider.overrides │ │ │ ├── divider.variables │ │ │ ├── flag.overrides │ │ │ ├── flag.variables │ │ │ ├── header.overrides │ │ │ ├── header.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── image.overrides │ │ │ ├── image.variables │ │ │ ├── input.overrides │ │ │ ├── input.variables │ │ │ ├── label.overrides │ │ │ ├── label.variables │ │ │ ├── list.overrides │ │ │ ├── list.variables │ │ │ ├── loader.overrides │ │ │ ├── loader.variables │ │ │ ├── rail.overrides │ │ │ ├── rail.variables │ │ │ ├── reveal.overrides │ │ │ ├── reveal.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ ├── reset.variables │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ ├── accordion.variables │ │ │ ├── chatroom.overrides │ │ │ ├── chatroom.variables │ │ │ ├── checkbox.overrides │ │ │ ├── checkbox.variables │ │ │ ├── dimmer.overrides │ │ │ ├── dimmer.variables │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── embed.overrides │ │ │ ├── embed.variables │ │ │ ├── modal.overrides │ │ │ ├── modal.variables │ │ │ ├── nag.overrides │ │ │ ├── nag.variables │ │ │ ├── popup.overrides │ │ │ ├── popup.variables │ │ │ ├── progress.overrides │ │ │ ├── progress.variables │ │ │ ├── rating.overrides │ │ │ ├── rating.variables │ │ │ ├── search.overrides │ │ │ ├── search.variables │ │ │ ├── shape.overrides │ │ │ ├── shape.variables │ │ │ ├── sidebar.overrides │ │ │ ├── sidebar.variables │ │ │ ├── sticky.overrides │ │ │ ├── sticky.variables │ │ │ ├── tab.overrides │ │ │ ├── tab.variables │ │ │ ├── transition.overrides │ │ │ └── transition.variables │ │ └── views │ │ │ ├── ad.overrides │ │ │ ├── ad.variables │ │ │ ├── card.overrides │ │ │ ├── card.variables │ │ │ ├── comment.overrides │ │ │ ├── comment.variables │ │ │ ├── feed.overrides │ │ │ ├── feed.variables │ │ │ ├── item.overrides │ │ │ ├── item.variables │ │ │ ├── statistic.overrides │ │ │ └── statistic.variables │ │ ├── duo │ │ └── elements │ │ │ ├── loader.overrides │ │ │ └── loader.variables │ │ ├── fixed-width │ │ ├── collections │ │ │ ├── grid.overrides │ │ │ └── grid.variables │ │ └── modules │ │ │ ├── modal.overrides │ │ │ └── modal.variables │ │ ├── flat │ │ ├── collections │ │ │ ├── form.overrides │ │ │ └── form.variables │ │ └── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── github │ │ ├── collections │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ └── message.variables │ │ └── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── gmail │ │ └── collections │ │ │ ├── message.overrides │ │ │ └── message.variables │ │ ├── instagram │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── material │ │ ├── collections │ │ │ ├── menu.overrides │ │ │ └── menu.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ └── modules │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── modal.overrides │ │ │ └── modal.variables │ │ ├── pulsar │ │ └── elements │ │ │ ├── loader.overrides │ │ │ └── loader.variables │ │ ├── raised │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── resetcss │ │ └── globals │ │ │ ├── reset.overrides │ │ │ └── reset.variables │ │ ├── round │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── rtl │ │ └── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── striped │ │ └── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ ├── timeline │ │ └── views │ │ │ ├── feed.overrides │ │ │ └── feed.variables │ │ └── twitter │ │ └── elements │ │ ├── button.overrides │ │ └── button.variables ├── tasks │ ├── README.md │ ├── admin │ │ ├── components │ │ │ ├── create.js │ │ │ ├── init.js │ │ │ └── update.js │ │ ├── distributions │ │ │ ├── create.js │ │ │ ├── init.js │ │ │ └── update.js │ │ ├── publish.js │ │ ├── register.js │ │ └── release.js │ ├── build.js │ ├── build │ │ ├── assets.js │ │ ├── css.js │ │ └── javascript.js │ ├── check-install.js │ ├── clean.js │ ├── collections │ │ ├── README.md │ │ ├── admin.js │ │ ├── build.js │ │ ├── internal.js │ │ └── rtl.js │ ├── config │ │ ├── admin │ │ │ ├── github.js │ │ │ ├── oauth.example.js │ │ │ ├── release.js │ │ │ └── templates │ │ │ │ ├── README.md │ │ │ │ ├── bower.json │ │ │ │ ├── component-package.js │ │ │ │ ├── composer.json │ │ │ │ ├── css-package.js │ │ │ │ ├── less-package.js │ │ │ │ └── package.json │ │ ├── defaults.js │ │ ├── docs.js │ │ ├── npm │ │ │ └── gulpfile.js │ │ ├── project │ │ │ ├── config.js │ │ │ ├── install.js │ │ │ └── release.js │ │ ├── tasks.js │ │ └── user.js │ ├── docs │ │ ├── build.js │ │ ├── metadata.js │ │ └── serve.js │ ├── install.js │ ├── rtl │ │ ├── build.js │ │ └── watch.js │ ├── version.js │ └── watch.js ├── wam.css └── wam.js ├── templates ├── am │ ├── am_menu.html │ ├── diff_detail.html │ ├── diff_index.html │ ├── index.html │ ├── rules.html │ ├── vendor.html │ └── vendor_detail.html ├── base.html ├── fm │ ├── diff_detail.html │ ├── diff_index.html │ ├── diff_list.html │ ├── fm_menu.html │ ├── index.html │ └── rules.html ├── headers.html ├── idm │ ├── idm_menu.html │ ├── index.html │ └── info_m.html ├── index.html ├── login.html ├── set_am.html ├── set_idm.html ├── settings.html ├── settings_menu.html └── vdr │ ├── index.html │ └── packages_list.html ├── urls.py └── wsgi.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.egg-info 2 | *.py[cod] 3 | *.swp 4 | .coverage 5 | .svn 6 | .tox 7 | .DS_Store 8 | *.sqlite3 9 | wam/static/images/logo/ 10 | wam/packages/ 11 | wam/files/ 12 | .idea/ 13 | monitor/logs/ 14 | migrations/ 15 | env/ 16 | venv/ 17 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Version 1.0 (2018-08-25) 2 | * init for public -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Knownsec, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /THANKS.md: -------------------------------------------------------------------------------- 1 | # Individuals 2 | 3 | * Cos https://evilcos.me 4 | * Greysign http://weibo.com/greysign 5 | * niubl http://weibo.com/2193898767 6 | * Superhei https://twitter.com/80vul 7 | * issmall http://weibo.com/i55m411 8 | * Ricter Z https://ricterz.me 9 | * RickGray https://rickgray.me 10 | * evi1m0 http://rm-rf.gg 11 | * Fooying http://www.fooying.com 12 | * Hysia https://poc.app 13 | * Ethan https://github.com/hxer 14 | * Sebao http://www.daimacn.com 15 | 16 | 17 | # Organizations -------------------------------------------------------------------------------- /conf/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Get the maximum upload file size for Nginx, default to 0: unlimited 5 | USE_NGINX_MAX_UPLOAD=${NGINX_MAX_UPLOAD:-0} 6 | # Generate Nginx config for maximum upload file size 7 | echo "client_max_body_size $USE_NGINX_MAX_UPLOAD;" > /etc/nginx/conf.d/upload.conf 8 | 9 | # Get the number of workers for Nginx, default to 1 10 | USE_NGINX_WORKER_PROCESSES=${NGINX_WORKER_PROCESSES:-1} 11 | # Modify the number of worker processes in Nginx config 12 | sed -i "/worker_processes\s/c\worker_processes ${USE_NGINX_WORKER_PROCESSES};" /etc/nginx/nginx.conf 13 | 14 | # Set the max number of connections per worker for Nginx, if requested 15 | # Cannot exceed worker_rlimit_nofile, see NGINX_WORKER_OPEN_FILES below 16 | if [[ -v NGINX_WORKER_CONNECTIONS ]] ; then 17 | sed -i "/worker_connections\s/c\ worker_connections ${NGINX_WORKER_CONNECTIONS};" /etc/nginx/nginx.conf 18 | fi 19 | 20 | # Set the max number of open file descriptors for Nginx workers, if requested 21 | if [[ -v NGINX_WORKER_OPEN_FILES ]] ; then 22 | echo "worker_rlimit_nofile ${NGINX_WORKER_OPEN_FILES};" >> /etc/nginx/nginx.conf 23 | fi 24 | 25 | # Get the listen port for Nginx, default to 80 26 | USE_LISTEN_PORT=${LISTEN_PORT:-80} 27 | # Modify Nignx config for listen port 28 | if ! grep -q "listen ${USE_LISTEN_PORT};" /etc/nginx/conf.d/nginx.conf ; then 29 | sed -i -e "/server {/a\ listen ${USE_LISTEN_PORT};" /etc/nginx/conf.d/nginx.conf 30 | fi 31 | exec "$@" 32 | -------------------------------------------------------------------------------- /conf/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | # 3 | # set project environment variable 4 | # 5 | set $base /data/projects; 6 | set $project wam; 7 | set $env /data/envs/$project; 8 | set $statichtml $base/$project/wam/static; 9 | 10 | access_log /var/log/nginx/${project}_access.log; 11 | error_log /var/log/nginx/${project}_error.log; 12 | 13 | #listen 80 default_server; 14 | #listen 8080; 15 | charset utf-8; 16 | root $base/$project; # project root path 17 | server_name localhost; 18 | 19 | location / { 20 | include uwsgi_params; 21 | #uwsgi_param UWSGI_PYHOME $env; # python virtual environment 22 | uwsgi_param UWSGI_CHDIR $base/$project; # django project path 23 | uwsgi_param UWSGI_SCRIPT $project.wsgi; # app endpoint 24 | uwsgi_pass 127.0.0.1:8898; # you can change port in 'uwsgi.ini' file 25 | } 26 | 27 | location /static { 28 | alias $statichtml; 29 | access_log off; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /conf/uwsgi.ini: -------------------------------------------------------------------------------- 1 | #site_uwsgi.ini file 2 | [uwsgi] 3 | 4 | project = wam 5 | base = /data/projects 6 | wamenv = /data/envs/wam 7 | env = PYTHONIOENCODING=UTF-8 8 | env = LANG=en_US.utf8 9 | # process-related settings 10 | # 11 | 12 | uid = www-data 13 | gid = www-data 14 | 15 | # master 16 | master = true 17 | 18 | # the socket 19 | socket = 127.0.0.1:8898 # port 20 | 21 | # maximum number of worker processes 22 | processes = 4 23 | enable-threads = true 24 | 25 | # respawn processes after serving 1000 requests 26 | max-requests = 1000 27 | 28 | # respawn processes taking more than 30 seconds 29 | harakiri = 30 30 | 31 | post-buffering = 8192 32 | 33 | 34 | # ... with appropriate permissions - may be needed 35 | # chmod-socket = 664 36 | 37 | # clear environment on exit 38 | vacuum = true 39 | 40 | # 41 | # Django-related settings 42 | # 43 | 44 | # the base directory (full path) 45 | chdir = %(base)/%(project) 46 | 47 | # Django's wsgi file 48 | module = %(project).wsgi 49 | 50 | # optional path to a virtualenv (full path) 51 | #home = %(wamenv) 52 | -------------------------------------------------------------------------------- /documents/sg_wam_v1_2015_08_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/sg_wam_v1_2015_08_10.jpg -------------------------------------------------------------------------------- /documents/wam_v1_2015_08_10_mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wam_v1_2015_08_10_mm.png -------------------------------------------------------------------------------- /documents/wiki_imgs/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/1.png -------------------------------------------------------------------------------- /documents/wiki_imgs/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/10.png -------------------------------------------------------------------------------- /documents/wiki_imgs/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/11.png -------------------------------------------------------------------------------- /documents/wiki_imgs/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/12.png -------------------------------------------------------------------------------- /documents/wiki_imgs/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/13.png -------------------------------------------------------------------------------- /documents/wiki_imgs/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/2.png -------------------------------------------------------------------------------- /documents/wiki_imgs/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/3.png -------------------------------------------------------------------------------- /documents/wiki_imgs/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/4.png -------------------------------------------------------------------------------- /documents/wiki_imgs/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/5.png -------------------------------------------------------------------------------- /documents/wiki_imgs/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/6.png -------------------------------------------------------------------------------- /documents/wiki_imgs/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/7.png -------------------------------------------------------------------------------- /documents/wiki_imgs/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/8.png -------------------------------------------------------------------------------- /documents/wiki_imgs/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/documents/wiki_imgs/9.png -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "wam.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /monitor.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # __buildin__ modules 5 | import os 6 | import sys 7 | 8 | # django modules 9 | import django 10 | 11 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'wam.settings') 12 | django.setup() 13 | 14 | 15 | if __name__ == '__main__': 16 | # monitor modules 17 | from monitor.parse.cmdline import parse_command 18 | from monitor.core.download import download_file 19 | from monitor.core.diff import differ_two_packages 20 | from monitor.core.analysis import analysis_content 21 | from monitor.core.api import AppMonitor, FileMonitor 22 | 23 | args = parse_command() 24 | 25 | if args.MODULE: 26 | try: 27 | if args.MODULE == 'download': 28 | print download_file(args.SOURCEURL, args.REGEX) 29 | elif args.MODULE == 'diff': 30 | print differ_two_packages(args.SRCPACKAGE, args.DESTPACKAGE) 31 | elif args.MODULE == 'analysis': 32 | print analysis_content(open(args.FILE, 'rb').read()) 33 | except Exception, ex: 34 | print ex 35 | sys.exit() 36 | 37 | else: 38 | if args.TYPE == 'app': 39 | try: 40 | monitor = AppMonitor(is_immediate=True) 41 | monitor.run() 42 | except KeyboardInterrupt: 43 | sys.exit() 44 | elif args.TYPE == 'file': 45 | try: 46 | monitor = FileMonitor(is_immediate=True) 47 | monitor.run() 48 | except KeyboardInterrupt: 49 | sys.exit() 50 | else: 51 | print 'invalid arguments' 52 | -------------------------------------------------------------------------------- /monitor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/monitor/__init__.py -------------------------------------------------------------------------------- /monitor/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/monitor/core/__init__.py -------------------------------------------------------------------------------- /monitor/core/exception.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | 5 | class MonitorBaseError(Exception): 6 | pass 7 | 8 | 9 | class MonitorDownloadError(MonitorBaseError): 10 | pass 11 | 12 | 13 | class MonitorDiffError(MonitorBaseError): 14 | pass 15 | 16 | 17 | class MonitorAnalysisError(MonitorBaseError): 18 | pass 19 | -------------------------------------------------------------------------------- /monitor/core/log.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # __buildin__ modules 5 | import logging 6 | 7 | from logging.handlers import RotatingFileHandler 8 | 9 | # monitor modules 10 | from monitor.core.settings import LOG_PATH 11 | 12 | 13 | class LogFormatter(logging.Formatter): 14 | FORMATS = { 15 | logging.DEBUG: '%(asctime)s [DEBUG] %(message)s', 16 | logging.INFO: '%(asctime)s [INFO] %(message)s', 17 | logging.WARNING: '%(asctime)s [WARNING] %(message)s', 18 | logging.ERROR: '%(asctime)s [ERROR] %(message)s', 19 | logging.CRITICAL: '%(asctime)s [CRITICAL] %(message)s', 20 | 'DEFAULT': '%(asctime)s [GENERATION] %(message)s' 21 | } 22 | 23 | def __init__(self): 24 | logging.Formatter.__init__(self) 25 | self.datefmt = '%Y-%m-%d %H:%M:%S' 26 | 27 | def format(self, record): 28 | self._fmt = self.FORMATS.get(record.levelno, self.FORMATS['DEFAULT']) 29 | return logging.Formatter.format(self, record) 30 | 31 | file_handler = RotatingFileHandler(LOG_PATH, mode='0', maxBytes=5*1024*1024) 32 | file_handler.setFormatter(LogFormatter()) 33 | file_handler.setLevel(logging.DEBUG) 34 | 35 | stream_handler = logging.StreamHandler() 36 | stream_handler.setFormatter(LogFormatter()) 37 | stream_handler.setLevel(logging.DEBUG) 38 | 39 | logger = logging.getLogger('wamlog') 40 | logger.addHandler(stream_handler) 41 | logger.addHandler(file_handler) 42 | logger.setLevel(logging.DEBUG) 43 | -------------------------------------------------------------------------------- /monitor/core/settings.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # __buildin__ modules 5 | import os 6 | 7 | 8 | # 监控程序循环间隔(秒) 9 | MONITOR_CHECK_INTERVAL = 3600 10 | 11 | # 下载大小限制(字节) 12 | DOWNLOAD_MAX_BYTES = 104857600 # 1024*1024*100 = 100MB 13 | 14 | # 应用包存储路径 15 | PACKAGE_SOTRE_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), '../wam/packages/') 16 | FILE_STORE_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), '../wam/files/') 17 | 18 | # Diff 比较的文件扩展名 19 | DIFF_FILTER_EXT = 'php,jsp,js,asp,aspx,py,css,html,htm,txt,cs,xml,inc,info,rb,md,ini,java' 20 | 21 | # 当强行编码 Diff 原始输出结果出错时,用替代内容代替该行 22 | CONTENT_REPLACE = '***** line contains special binary bytes cant show here *****\n' 23 | 24 | # 分析器插件所在路径 25 | ANALYSIS_PLUGIN_DIR = os.path.join(os.path.dirname(__file__), '../plugins') 26 | 27 | # 日志存储路径 28 | LOG_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'logs/wam.log') 29 | -------------------------------------------------------------------------------- /monitor/parse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/monitor/parse/__init__.py -------------------------------------------------------------------------------- /monitor/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/monitor/plugins/__init__.py -------------------------------------------------------------------------------- /monitor/plugins/backdoor.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | from baseframe import Plugin 5 | 6 | 7 | class MyPlugin(Plugin): 8 | info = { 9 | 'name': 'Sample Backdoor Match', 10 | 'tag': 'backdoor' 11 | } 12 | 13 | rules = [ 14 | { 15 | 'desc': '常见Webshell特征检测', 16 | 'rule': ( 17 | r'(?i)\$_(GET|POST|REQUEST)\[.{0,15}\]\(\$_(GET|POST|REQUEST)\[.{0,15}\]\)|' 18 | r'base64_decode\([\'"][\w\+/=]{200,}[\'"]\)|' 19 | r'(?[\'"])(?P.)(?P=quote),[ ]*(?P=quote)\\(?P=char)*(?P=quote)' 26 | ) 27 | }, 28 | ] 29 | -------------------------------------------------------------------------------- /monitor/plugins/xss.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | from baseframe import Plugin 5 | 6 | 7 | class MyPlugin(Plugin): 8 | info = { 9 | 'name': 'Sample XSS Match', 10 | 'tag': 'xss' 11 | } 12 | 13 | rules = [ 14 | { 15 | 'desc': 'PHP常见XSS过滤函数', 16 | 'rule': ( 17 | r'(?i)htmlspecialchars\(|' 18 | r'htmlentities\(|' 19 | r'addslashes\(|' 20 | r'strip_tags\(|' 21 | r'strip_tags\(|' 22 | r'xss_filter\(|' 23 | r'HTMLPurifier\(|' 24 | r'RemoveXSS\(|' 25 | r'checkhtml\(|' 26 | r'json_encode\(|' 27 | r'[\'"]+onmouseleave[\'"]+,[ ]*[\'"]+onmousemove[\'"]+,[ ]*[\'"]onmouseout[\'"]' 28 | ) 29 | }, 30 | { 31 | 'desc': 'ASP常见XSS过滤函数', 32 | 'rule': r'(?i)HTMLEncode\(' 33 | }, 34 | { 35 | 'desc': 'Python常见XSS过滤函数', 36 | 'rule': r'(?i)cgi.escape\(' 37 | }, 38 | { 39 | 'desc': 'Java常见XSS过滤函数', 40 | 'rule': r'(?i)xssprotect\(' 41 | }, 42 | ] 43 | -------------------------------------------------------------------------------- /monitor/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/monitor/utils/__init__.py -------------------------------------------------------------------------------- /monitor/utils/common.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # __buildin__ modules 5 | import os 6 | import time 7 | import hashlib 8 | 9 | 10 | # wam modules 11 | from wam.apps.main.models import Config 12 | 13 | 14 | def get_config(key): 15 | """从数据库中获取全参数值""" 16 | config = Config.objects.filter(key=key).first() 17 | return config.value if config else None 18 | 19 | 20 | def set_config(key, value): 21 | """设置数据库中全局参数值""" 22 | config = Config.objects.filter(key=key).first() 23 | if config: 24 | config.value = value 25 | config.save() 26 | else: 27 | config = Config(key=key, value=value) 28 | config.save() 29 | 30 | 31 | def md5(string): 32 | """计算字符串的 md5 值""" 33 | return hashlib.md5(str(string)).hexdigest() 34 | 35 | -------------------------------------------------------------------------------- /monitor/utils/email_list.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | """ 5 | email 地址硬编码, 今后根据需要使用数据库存储 6 | """ 7 | 8 | EMAIL_LIST = [ 9 | ] 10 | -------------------------------------------------------------------------------- /monitor/utils/local_settings.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # email 5 | EMAIL_SERVER = 'smtp.mailgun.org' 6 | EMAIL_PORT = 465 7 | EMAIL_USER = '' 8 | EMAIL_PASS = '' 9 | EMAIL_FROM_ADDR = 'wam@fbi.gov' -------------------------------------------------------------------------------- /monitor/utils/mail.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # __buildin__ modules 5 | import smtplib 6 | from email.mime.text import MIMEText 7 | 8 | from monitor.utils.settings import EMAIL_SERVER 9 | from monitor.utils.settings import EMAIL_PORT 10 | from monitor.utils.settings import EMAIL_USER 11 | from monitor.utils.settings import EMAIL_PASS 12 | from monitor.utils.settings import EMAIL_FROM_ADDR 13 | from monitor.utils.email_list import EMAIL_LIST 14 | 15 | 16 | def _sendmail(to_list, subject, content): 17 | """ 18 | params: 19 | to_addr[list]: 20 | subject[str]: 21 | content[str]: plain content 22 | """ 23 | msg = MIMEText(content, 'plain', 'utf-8') 24 | msg['Subject'] = subject 25 | msg['From'] = EMAIL_FROM_ADDR 26 | msg['To'] = ', '.join(to_list) 27 | 28 | smtp = smtplib.SMTP_SSL() 29 | smtp.set_debuglevel(0) 30 | smtp.connect(EMAIL_SERVER, EMAIL_PORT) 31 | smtp.login(EMAIL_USER, EMAIL_PASS) 32 | smtp.sendmail(EMAIL_FROM_ADDR, to_list, msg.as_string()) 33 | smtp.quit() 34 | 35 | 36 | def sendmail(subject, content): 37 | """ 38 | params: 39 | subject[str]: 40 | content[str]: plain content 41 | """ 42 | if EMAIL_LIST: 43 | _sendmail(EMAIL_LIST, subject, content) 44 | else: 45 | raise ValueError('email list is empty') 46 | -------------------------------------------------------------------------------- /monitor/utils/settings.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # email 5 | EMAIL_SERVER = 'smtp.mailgun.org' 6 | EMAIL_PORT = 465 7 | EMAIL_USER = '' 8 | EMAIL_PASS = '' 9 | EMAIL_FROM_ADDR = 'wam@fbi.gov' 10 | 11 | try: 12 | from .local_settings import * 13 | except: 14 | pass 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | django==1.7.11 2 | requests 3 | chardet 4 | patool 5 | #python-ldap 6 | -------------------------------------------------------------------------------- /wam/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/__init__.py -------------------------------------------------------------------------------- /wam/apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/__init__.py -------------------------------------------------------------------------------- /wam/apps/am/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/am/__init__.py -------------------------------------------------------------------------------- /wam/apps/am/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/am/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /wam/apps/fm/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/fm/__init__.py -------------------------------------------------------------------------------- /wam/apps/fm/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/fm/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /wam/apps/idm/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/idm/__init__.py -------------------------------------------------------------------------------- /wam/apps/idm/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/idm/models.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # __buildin__ modules 4 | import os 5 | 6 | # django moduels 7 | from django.db import models 8 | 9 | # wam modules 10 | from wam.settings import FILE_STORE_DIR 11 | 12 | # Create your models here. 13 | 14 | 15 | class Message(models.Model): 16 | """ 17 | 爬取的社区消息 18 | """ 19 | # 字段说明=> 20 | # url: 消息链接 21 | # user: 所发消息的用户名称 22 | # title: 消息标题 23 | # topic: 消息所属话题 24 | # content: 消息内容 25 | # keyword: 爬取时使用的关键字 26 | # add_time: 记录添加时间 27 | url = models.URLField(blank=True) 28 | user = models.TextField(blank=True) 29 | title = models.TextField(blank=True) 30 | topic = models.TextField(blank=True) 31 | content = models.TextField(blank=True) 32 | keyword = models.TextField(blank=True) 33 | 34 | add_time = models.DateTimeField(auto_now_add=True) 35 | -------------------------------------------------------------------------------- /wam/apps/idm/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /wam/apps/idm/views.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf8 3 | # author: $pdb & $vim 4 | 5 | # django modules 6 | from django.db.models import Q 7 | from django.shortcuts import render, HttpResponse 8 | from django.contrib.auth.decorators import login_required 9 | 10 | # wam modules 11 | from wam.settings import WAM_VENDOR_LOGO_URL 12 | from wam.apps.am.models import Vendor, Rule, Diff, Package 13 | 14 | 15 | @login_required(login_url='/login/') 16 | def index_view(request): 17 | """ idm模块主页 """ 18 | return render(request, 'idm/index.html') 19 | 20 | 21 | @login_required(login_url='/login/') 22 | def info_view(request): 23 | """ info_m Index""" 24 | return render(request, 'idm/info_m.html') 25 | -------------------------------------------------------------------------------- /wam/apps/main/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/main/__init__.py -------------------------------------------------------------------------------- /wam/apps/main/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/main/models.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from django.db import models 4 | 5 | # Create your models here. 6 | 7 | 8 | class Config(models.Model): 9 | """ 10 | 全局配置 11 | """ 12 | # 字段说明=> 13 | # key: 参数名 14 | # value: 参数值 15 | # module: 参数所属模块 16 | key = models.CharField(max_length=60, unique=True) 17 | value = models.TextField() 18 | 19 | def __unicode__(self): 20 | return u'key=%s, value=%s' % (self.key, self.value) 21 | -------------------------------------------------------------------------------- /wam/apps/main/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /wam/apps/vdr/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/apps/vdr/__init__.py -------------------------------------------------------------------------------- /wam/apps/vdr/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/vdr/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /wam/apps/vdr/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /wam/ldap_backend.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | import os, sys, ldap 5 | from django.conf import settings 6 | from django.contrib.auth.models import User 7 | import random 8 | 9 | 10 | class LDAPBackend(object): 11 | ''' 12 | LDAP auth backend 13 | ''' 14 | 15 | def authenticate(self, username=None, password=None): 16 | if ldap_auth(username, password): 17 | try: 18 | user = User.objects.get(username=username) 19 | except User.DoesNotExist: 20 | user = User.objects.create(username=username, password='!') 21 | user.set_password(random_passwd()) 22 | user.is_staff = True 23 | user.email = '%s@%s' %(username,settings.LDAP_SERVER_DOMAIN) 24 | user.save() 25 | return user 26 | 27 | def get_user(self, user_id): 28 | try: 29 | return User.objects.get(pk=user_id) 30 | except User.DoesNotExist: 31 | return None 32 | 33 | def ldap_auth(username, password): 34 | if username and password: 35 | bind_dn = settings.LDAP_USER_DN_TEMPLATE % username 36 | bind_password = password 37 | ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER) 38 | ldapobject = ldap.initialize(settings.LDAP_SERVER_URI) 39 | try: 40 | ldapobject.simple_bind_s(bind_dn, bind_password) 41 | return True 42 | except Exception as e: 43 | return False 44 | finally: 45 | ldapobject.unbind() 46 | return False 47 | 48 | 49 | def random_passwd(size=16): 50 | chars = "qwertyuiopasdfghjklZxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890" 51 | return "".join([random.choice(chars) for _ in range(size)]) 52 | -------------------------------------------------------------------------------- /wam/static/dist/components/breadcrumb.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Breadcrumb 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.breadcrumb{line-height:1;margin:1em 0;display:inline-block;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.71428571em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.71428571rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:13px}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem} -------------------------------------------------------------------------------- /wam/static/dist/components/container.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Container 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto;margin-left:1em!important;margin-right:1em!important}.ui.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2em)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2em)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2em)!important}}.ui.text.container{font-family:Roboto,Arial,sans-serif;max-width:700px!important;line-height:1.5;font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto} -------------------------------------------------------------------------------- /wam/static/dist/components/embed.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Video 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%} -------------------------------------------------------------------------------- /wam/static/dist/components/nag.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Nag 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:#222;border-radius:0 0 .14285714em .14285714em;-webkit-transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease;transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.14285714em .14285714em 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .14285714em .14285714em}.ui.bottom.nags .nag:last-child{border-radius:.14285714em .14285714em 0 0} -------------------------------------------------------------------------------- /wam/static/dist/components/rail.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Rail 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.rail{position:absolute;top:0;width:300px;height:100%;font-size:13px}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:301px}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:300.5px}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0} -------------------------------------------------------------------------------- /wam/static/dist/components/shape.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Shape 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.shape{position:relative;vertical-align:top;display:inline-block;-webkit-perspective:2000px;perspective:2000px;-webkit-transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease;transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease}.ui.shape .sides{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute;-webkit-transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease;transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease}.ui.shape.animating .side{-webkit-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block} -------------------------------------------------------------------------------- /wam/static/dist/components/site.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Site 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */@import url(https://fonts.googleapis.com/css?family=Roboto:400,700,400italic,700italic&subset=latin);body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Roboto,Arial,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.2857em;margin:calc(2rem - .14285em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.714rem}h3{font-size:1.28rem}h4{font-size:1.071rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,p:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)} -------------------------------------------------------------------------------- /wam/static/dist/components/sticky.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Sticky 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.sticky{position:static;-webkit-transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease;transition:opacity .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease,background .3s ease;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky} -------------------------------------------------------------------------------- /wam/static/dist/components/tab.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI x.x - Tab 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent} -------------------------------------------------------------------------------- /wam/static/dist/themes/basic/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/basic/assets/fonts/icons.eot -------------------------------------------------------------------------------- /wam/static/dist/themes/basic/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/basic/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /wam/static/dist/themes/basic/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/basic/assets/fonts/icons.woff -------------------------------------------------------------------------------- /wam/static/dist/themes/default/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/default/assets/fonts/icons.eot -------------------------------------------------------------------------------- /wam/static/dist/themes/default/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/default/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /wam/static/dist/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /wam/static/dist/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /wam/static/dist/themes/default/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/dist/themes/default/assets/images/flags.png -------------------------------------------------------------------------------- /wam/static/images/20141007092745108.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/20141007092745108.jpg -------------------------------------------------------------------------------- /wam/static/images/Activity-Monitor-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/Activity-Monitor-icon.png -------------------------------------------------------------------------------- /wam/static/images/Messages-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/Messages-icon.png -------------------------------------------------------------------------------- /wam/static/images/SourceTreeNewIcon-300x300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/SourceTreeNewIcon-300x300.png -------------------------------------------------------------------------------- /wam/static/images/Time-Machine-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/Time-Machine-icon.png -------------------------------------------------------------------------------- /wam/static/images/bg-img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/bg-img1.jpg -------------------------------------------------------------------------------- /wam/static/images/elliot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/elliot.jpg -------------------------------------------------------------------------------- /wam/static/images/jenny.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/jenny.jpg -------------------------------------------------------------------------------- /wam/static/images/joe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/joe.jpg -------------------------------------------------------------------------------- /wam/static/images/matt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/images/matt.jpg -------------------------------------------------------------------------------- /wam/static/js/messenger-theme-flat.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var $, FlatMessage, spinner_template, 3 | __hasProp = {}.hasOwnProperty, 4 | __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; 5 | 6 | $ = jQuery; 7 | 8 | spinner_template = '
\n \n \n \n \n \n \n
'; 9 | 10 | FlatMessage = (function(_super) { 11 | 12 | __extends(FlatMessage, _super); 13 | 14 | function FlatMessage() { 15 | return FlatMessage.__super__.constructor.apply(this, arguments); 16 | } 17 | 18 | FlatMessage.prototype.template = function(opts) { 19 | var $message; 20 | $message = FlatMessage.__super__.template.apply(this, arguments); 21 | $message.append($(spinner_template)); 22 | return $message; 23 | }; 24 | 25 | return FlatMessage; 26 | 27 | })(window.Messenger.Message); 28 | 29 | window.Messenger.themes.flat = { 30 | Message: FlatMessage 31 | }; 32 | 33 | }).call(this); 34 | -------------------------------------------------------------------------------- /wam/static/js/messenger-theme-future.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var $, FutureMessage, spinner_template, 3 | __hasProp = {}.hasOwnProperty, 4 | __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; 5 | 6 | $ = jQuery; 7 | 8 | spinner_template = '
\n \n \n \n \n \n \n
'; 9 | 10 | FutureMessage = (function(_super) { 11 | 12 | __extends(FutureMessage, _super); 13 | 14 | function FutureMessage() { 15 | return FutureMessage.__super__.constructor.apply(this, arguments); 16 | } 17 | 18 | FutureMessage.prototype.template = function(opts) { 19 | var $message; 20 | $message = FutureMessage.__super__.template.apply(this, arguments); 21 | $message.append($(spinner_template)); 22 | return $message; 23 | }; 24 | 25 | return FutureMessage; 26 | 27 | })(window.Messenger.Message); 28 | 29 | window.Messenger.themes.future = { 30 | Message: FutureMessage 31 | }; 32 | 33 | }).call(this); 34 | -------------------------------------------------------------------------------- /wam/static/js/modules/no-data-to-display.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highcharts JS v4.1.8 (2015-08-20) 3 | Plugin for displaying a message when there is no data visible in chart. 4 | 5 | (c) 2010-2014 Highsoft AS 6 | Author: Oystein Moseng 7 | 8 | License: www.highcharts.com/license 9 | */ 10 | (function(c){function i(){return!!this.points.length}function e(){this.hasData()?this.hideNoData():this.showNoData()}var f=c.seriesTypes,d=c.Chart.prototype,g=c.getOptions(),h=c.extend,j=c.each;h(g.lang,{noData:"No data to display"});g.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};j(["pie","gauge","waterfall","bubble"],function(a){if(f[a])f[a].prototype.hasData=i});c.Series.prototype.hasData=function(){return this.visible&& 11 | this.dataMax!==void 0&&this.dataMin!==void 0};d.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,b.useHTML,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(h(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};d.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};d.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&& 12 | !a[b].options.isInternal)return!0;return!1};d.callbacks.push(function(a){c.addEvent(a,"load",e);c.addEvent(a,"redraw",e)})})(Highcharts); 13 | -------------------------------------------------------------------------------- /wam/static/js/themes/grid-light.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Grid-light theme for Highcharts JS 3 | * @author Torstein Honsi 4 | */ 5 | 6 | // Load the fonts 7 | Highcharts.createElement('link', { 8 | href: '//fonts.googleapis.com/css?family=Dosis:400,600', 9 | rel: 'stylesheet', 10 | type: 'text/css' 11 | }, null, document.getElementsByTagName('head')[0]); 12 | 13 | Highcharts.theme = { 14 | colors: ["#7cb5ec", "#f7a35c", "#90ee7e", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", 15 | "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], 16 | chart: { 17 | backgroundColor: null, 18 | style: { 19 | fontFamily: "Dosis, sans-serif" 20 | } 21 | }, 22 | title: { 23 | style: { 24 | fontSize: '16px', 25 | fontWeight: 'bold', 26 | textTransform: 'uppercase' 27 | } 28 | }, 29 | tooltip: { 30 | borderWidth: 0, 31 | backgroundColor: 'rgba(219,219,216,0.8)', 32 | shadow: false 33 | }, 34 | legend: { 35 | itemStyle: { 36 | fontWeight: 'bold', 37 | fontSize: '13px' 38 | } 39 | }, 40 | xAxis: { 41 | gridLineWidth: 1, 42 | labels: { 43 | style: { 44 | fontSize: '12px' 45 | } 46 | } 47 | }, 48 | yAxis: { 49 | minorTickInterval: 'auto', 50 | title: { 51 | style: { 52 | textTransform: 'uppercase' 53 | } 54 | }, 55 | labels: { 56 | style: { 57 | fontSize: '12px' 58 | } 59 | } 60 | }, 61 | plotOptions: { 62 | candlestick: { 63 | lineColor: '#404048' 64 | } 65 | }, 66 | 67 | 68 | // General 69 | background2: '#F0F0EA' 70 | 71 | }; 72 | 73 | // Apply the theme 74 | Highcharts.setOptions(Highcharts.theme); 75 | -------------------------------------------------------------------------------- /wam/static/src/definitions/elements/flag.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Flag 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'element'; 18 | @element : 'flag'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | 23 | /******************************* 24 | Flag 25 | *******************************/ 26 | 27 | i.flag:not(.icon) { 28 | display: inline-block; 29 | 30 | width: @width; 31 | height: @height; 32 | 33 | line-height: @height; 34 | vertical-align: @verticalAlign; 35 | margin: 0em @margin 0em 0em; 36 | 37 | text-decoration: inherit; 38 | 39 | speak: none; 40 | font-smoothing: antialiased; 41 | backface-visibility: hidden; 42 | } 43 | 44 | /* Sprite */ 45 | i.flag:not(.icon):before { 46 | display: inline-block; 47 | content: ''; 48 | background: url(@spritePath) no-repeat 0px 0px; 49 | width: @width; 50 | height: @height; 51 | } 52 | 53 | .loadUIOverrides(); -------------------------------------------------------------------------------- /wam/static/src/definitions/globals/reset.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Reset 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | /******************************* 13 | Theme 14 | *******************************/ 15 | 16 | @type : 'global'; 17 | @element : 'reset'; 18 | 19 | @import (multiple) '../../theme.config'; 20 | 21 | /******************************* 22 | Reset 23 | *******************************/ 24 | 25 | /* Border-Box */ 26 | *, 27 | *:before, 28 | *:after { 29 | box-sizing: inherit; 30 | } 31 | html { 32 | box-sizing: border-box; 33 | } 34 | 35 | /* iPad Input Shadows */ 36 | input[type="text"], input[type="email"], input[type="search"], input[type="password"] { 37 | -webkit-appearance: none; 38 | -moz-appearance: none; /* mobile firefox too! */ 39 | } 40 | 41 | .loadUIOverrides(); -------------------------------------------------------------------------------- /wam/static/src/definitions/modules/sticky.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Sticky 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'module'; 18 | @element : 'sticky'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | /******************************* 23 | Sticky 24 | *******************************/ 25 | 26 | .ui.sticky { 27 | position: static; 28 | transition: @transition; 29 | z-index: @zIndex; 30 | } 31 | 32 | /******************************* 33 | States 34 | *******************************/ 35 | 36 | /* Bound */ 37 | .ui.sticky.bound { 38 | position: absolute; 39 | left: auto; 40 | right: auto; 41 | } 42 | 43 | /* Fixed */ 44 | .ui.sticky.fixed { 45 | position: fixed; 46 | left: auto; 47 | right: auto; 48 | } 49 | 50 | /* Bound/Fixed Position */ 51 | .ui.sticky.bound.top, 52 | .ui.sticky.fixed.top { 53 | top: 0px; 54 | bottom: auto; 55 | } 56 | .ui.sticky.bound.bottom, 57 | .ui.sticky.fixed.bottom { 58 | top: auto; 59 | bottom: 0px; 60 | } 61 | 62 | 63 | /******************************* 64 | Types 65 | *******************************/ 66 | 67 | .ui.native.sticky { 68 | position: -webkit-sticky; 69 | position: -moz-sticky; 70 | position: -ms-sticky; 71 | position: -o-sticky; 72 | position: sticky; 73 | } 74 | 75 | .loadUIOverrides(); -------------------------------------------------------------------------------- /wam/static/src/definitions/modules/transition.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Transition 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'module'; 18 | @element : 'transition'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | /******************************* 23 | Transitions 24 | *******************************/ 25 | 26 | .transition { 27 | animation-iteration-count: 1; 28 | animation-duration: @transitionDefaultDuration; 29 | animation-timing-function: @transitionDefaultEasing; 30 | animation-fill-mode: @transitionDefaultFill; 31 | } 32 | 33 | /******************************* 34 | States 35 | *******************************/ 36 | 37 | 38 | /* Animating */ 39 | .animating.transition { 40 | backface-visibility: @backfaceVisibility; 41 | visibility: visible !important; 42 | } 43 | 44 | /* Loading */ 45 | .loading.transition { 46 | position: absolute; 47 | top: -99999px; 48 | left: -99999px; 49 | } 50 | 51 | /* Hidden */ 52 | .hidden.transition { 53 | display: none; 54 | visibility: hidden; 55 | } 56 | 57 | /* Visible */ 58 | .visible.transition { 59 | display: block !important; 60 | visibility: visible !important; 61 | /* backface-visibility: @backfaceVisibility; 62 | transform: @use3DAcceleration;*/ 63 | } 64 | 65 | /* Disabled */ 66 | .disabled.transition { 67 | animation-play-state: paused; 68 | } 69 | 70 | /******************************* 71 | Variations 72 | *******************************/ 73 | 74 | .looping.transition { 75 | animation-iteration-count: infinite; 76 | } 77 | 78 | 79 | .loadUIOverrides(); -------------------------------------------------------------------------------- /wam/static/src/site/collections/breadcrumb.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/breadcrumb.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/grid.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/message.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/message.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/collections/table.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/button.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/container.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/container.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/divider.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/divider.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/flag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/flag.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Flag Variables 3 | --------------------*/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/header.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/icon.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/image.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/image.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/input.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/input.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/label.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/label.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/list.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/list.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/rail.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/rail.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/reveal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/reveal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/segment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/elements/step.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/accordion.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/accordion.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/chatroom.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/chatroom.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/checkbox.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/checkbox.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/dimmer.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/dimmer.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/dropdown.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/dropdown.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/embed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/embed.variables: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/site/modules/embed.variables -------------------------------------------------------------------------------- /wam/static/src/site/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/modal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/nag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/nag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/popup.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/popup.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/rating.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/rating.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/search.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/search.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/shape.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/shape.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/sidebar.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/sidebar.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/sticky.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/sticky.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/tab.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/tab.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/transition.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/modules/transition.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/ad.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/ad.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/comment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/feed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/item.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/item.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/statistic.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/site/views/statistic.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/theme.less: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Import Directives 3 | *******************************/ 4 | 5 | @theme : @@element; 6 | 7 | 8 | /*-------------------- 9 | Site Variables 10 | ---------------------*/ 11 | 12 | /* Default */ 13 | @import "@{themesFolder}/default/globals/site.variables"; 14 | 15 | /* Packaged Theme */ 16 | @import (optional) "@{themesFolder}/@{site}/globals/site.variables"; 17 | 18 | /* Site Theme */ 19 | @import (optional) "@{siteFolder}/globals/site.variables"; 20 | 21 | 22 | /*------------------- 23 | Component Variables 24 | ---------------------*/ 25 | 26 | /* Default */ 27 | @import "@{themesFolder}/default/@{type}s/@{element}.variables"; 28 | 29 | /* Packaged Theme */ 30 | @import "@{themesFolder}/@{theme}/@{type}s/@{element}.variables"; 31 | 32 | /* Site Theme */ 33 | @import (optional) "@{siteFolder}/@{type}s/@{element}.variables"; 34 | 35 | 36 | /******************************* 37 | Mix-ins 38 | *******************************/ 39 | 40 | /*------------------ 41 | Fonts 42 | -------------------*/ 43 | 44 | .loadFonts() when (@importGoogleFonts) { 45 | @import url('@{googleProtocol}fonts.googleapis.com/css?family=@{googleFontRequest}'); 46 | } 47 | 48 | /*------------------ 49 | Overrides 50 | -------------------*/ 51 | 52 | .loadUIOverrides() { 53 | @import "@{themesFolder}/@{theme}/@{type}s/@{element}.overrides"; 54 | @import (optional) "@{siteFolder}/@{type}s/@{element}.overrides"; 55 | } 56 | -------------------------------------------------------------------------------- /wam/static/src/themes/amazon/elements/button.overrides: -------------------------------------------------------------------------------- 1 | .ui.button { 2 | background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0); 3 | } 4 | 5 | .ui.primary.button { 6 | color: #111111; 7 | border: 1px solid; 8 | border-color: #C59F43 #AA8326 #957321; 9 | } 10 | .ui.primary.button:hover { 11 | border-color: #C59F43 #AA8326 #957321; 12 | color: #111111; 13 | } 14 | 15 | .ui.secondary.button { 16 | border: 1px solid; 17 | border-color: #3D444C #2F353B #2C3137; 18 | } 19 | .ui.secondary.button:hover { 20 | border-color: #32373E #24282D #212429; 21 | } 22 | 23 | 24 | .ui.labeled.icon.buttons .button > .icon, 25 | .ui.labeled.icon.button > .icon { 26 | padding-bottom: 0.48em; 27 | padding-top: 0.48em; 28 | position: absolute; 29 | text-align: center; 30 | width: 2em; 31 | height: 2em; 32 | top: 0.35em; 33 | left: 0.4em; 34 | border-radius: 3px; 35 | } 36 | .ui.right.labeled.icon.buttons .button > .icon, 37 | .ui.right.labeled.icon.button > .icon { 38 | left: auto; 39 | right: 0.4em; 40 | border-radius: 3px; 41 | } 42 | 43 | .ui.basic.labeled.icon.buttons .button > .icon, 44 | .ui.basic.labeled.icon.button > .icon { 45 | padding-top: 0.4em !important; 46 | } -------------------------------------------------------------------------------- /wam/static/src/themes/amazon/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 7 | @textTransform: none; 8 | @textColor: #111111; 9 | @fontWeight: normal; 10 | @transition: 11 | opacity @defaultDuration @defaultEasing, 12 | background-color @defaultDuration @defaultEasing, 13 | color @defaultDuration @defaultEasing, 14 | background @defaultDuration @defaultEasing 15 | ; 16 | 17 | @hoverBackgroundColor: #E0E0E0; 18 | 19 | @borderRadius: 3px; 20 | @verticalPadding: 0.8em; 21 | @horizontalPadding: 1.75em; 22 | 23 | @backgroundColor: #F7F8FA; 24 | @backgroundImage: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)); 25 | @boxShadow: 26 | 0 1px 0 1px rgba(255, 255, 255, 0.3) inset, 27 | 0 0 0 1px #ADB2BB inset 28 | ; 29 | 30 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2)); 31 | @coloredBoxShadow: 32 | 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset 33 | ; 34 | 35 | @downBoxShadow: 36 | 0 0 0 1px #ADB2BB inset, 37 | 0 1px 3px rgba(0, 0, 0, 0.2) inset 38 | ; 39 | 40 | @labeledIconBackgroundColor: #313A43; 41 | @labeledIconColor: #FFFFFF; 42 | @labeledIconBorder: transparent; 43 | 44 | @black: #444C55; 45 | @orange: #F4CC67; 46 | 47 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1)); 48 | @primaryColor: @orange; 49 | @secondaryColor: @black; 50 | 51 | @mini: 10px; 52 | @tiny: 11px; 53 | @small: 12px; 54 | @medium: 13px; 55 | @large: 14px; 56 | @big: 16px; 57 | @huge: 18px; 58 | @massive: 22px; 59 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/basic/assets/fonts/icons.eot -------------------------------------------------------------------------------- /wam/static/src/themes/basic/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/basic/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /wam/static/src/themes/basic/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/basic/assets/fonts/icons.woff -------------------------------------------------------------------------------- /wam/static/src/themes/basic/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/collections/table.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Table Variables 3 | --------------------*/ 4 | 5 | @headerBackground: @white; 6 | @footerBackground: @white; 7 | 8 | @cellVerticalPadding: 1em; 9 | @cellHorizontalPadding: 1em; 10 | 11 | @stateMarkerWidth: 1px; -------------------------------------------------------------------------------- /wam/static/src/themes/basic/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @textTransform: none; 7 | @fontWeight: normal; 8 | @textColor: #333333; 9 | 10 | @primaryColor: #333333; 11 | 12 | @borderRadius: 0.25em; 13 | 14 | @backgroundColor: #EEEEEE; 15 | @backgroundImage: none; 16 | @boxShadow: none; 17 | 18 | @hoverBackgroundColor: #DDDDDD; 19 | @hoverBackgroundImage: none; 20 | @hoverBoxShadow: none; 21 | 22 | @downBackgroundColor: #D0D0D0; 23 | @downBackgroundImage: none; 24 | @downBoxShadow: none; 25 | 26 | @activeBackgroundColor: #CCCCCC; 27 | @activeBackgroundImage: none; 28 | @activeBoxShadow: none; 29 | 30 | @verticalBoxShadow: none; 31 | 32 | @loadingBackgroundColor: #F0F0F0; 33 | 34 | @labeledIconLeftShadow: none; 35 | @labeledIconRightShadow: none; 36 | 37 | @mini: 0.6rem; 38 | @tiny: 0.7rem; 39 | @small: 0.85rem; 40 | @medium: 0.92rem; 41 | @large: 1rem; 42 | @big: 1.125rem; 43 | @huge: 1.25rem; 44 | @massive: 1.3rem; 45 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Icon Variables 3 | --------------------*/ 4 | 5 | @fontPath : "../../themes/basic/assets/fonts"; 6 | 7 | @src: 8 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'), 9 | url("@{fontPath}/@{fontName}.woff") format('woff'), 10 | url("@{fontPath}/@{fontName}.ttf") format('truetype'), 11 | url("@{fontPath}/@{fontName}.svg#icons") format('svg') 12 | ; -------------------------------------------------------------------------------- /wam/static/src/themes/basic/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.steps .step:after { 6 | display: none !important; 7 | } 8 | .ui.steps .step { 9 | border-radius: 500px !important; 10 | } -------------------------------------------------------------------------------- /wam/static/src/themes/basic/elements/step.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Step Variables 3 | --------------------*/ 4 | 5 | /* Stepss */ 6 | @stepsBorder: none; 7 | @stepsBorderRadius: @circularRadius; 8 | 9 | /* Step */ 10 | @border: none; 11 | @divider: none; 12 | @background: transparent; 13 | @borderRadius: @circularRadius; 14 | @iconDistance: 0.8em; 15 | @arrowDisplay: none; 16 | 17 | @activeBackground: @midWhite; 18 | @activeArrowDisplay: none; 19 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | /* No Additonal Resets */ -------------------------------------------------------------------------------- /wam/static/src/themes/basic/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /wam/static/src/themes/basic/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | @background: transparent; 6 | @border: none; 7 | @padding: 0em; 8 | 9 | @progressLeft: 0em; 10 | @progressWidth: 100%; 11 | @progressTextAlign: center; 12 | 13 | @labelFontWeight: normal; 14 | @labelTextAlign: left; 15 | @labelHeight: 1.5em; -------------------------------------------------------------------------------- /wam/static/src/themes/basic/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/basic/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | @width: 250px; 10 | @background: transparent; 11 | @border: none; 12 | @boxShadow: none; 13 | 14 | @contentPadding: 1em 0em; 15 | 16 | @rowSpacing: 1.5em; 17 | @groupCardMargin: 0em @horizontalSpacing @rowSpacing; 18 | 19 | @extraBackground: transparent; 20 | @extraDivider: none; 21 | @extraBoxShadow: none; 22 | @extraPadding: 0.5em 0em; 23 | 24 | @extraLinkColor: @textColor; 25 | @extraLinkHoverColor: @linkHoverColor; 26 | 27 | @headerFontSize: @relativeLarge; 28 | @headerLinkColor: @textColor; 29 | @headerLinkHoverColor: @linkHoverColor; 30 | 31 | @imageBorderRadius: @borderRadius; 32 | @imageBorder: 1px solid @borderColor; 33 | 34 | @linkHoverBackground: transparent; 35 | @linkHoverBoxShadow: none; -------------------------------------------------------------------------------- /wam/static/src/themes/bookish/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Karma); 6 | 7 | h1.ui.header, 8 | .ui.huge.header { 9 | font-weight: bold; 10 | } 11 | 12 | h2.ui.header, 13 | .ui.large.header { 14 | font-weight: bold; 15 | } -------------------------------------------------------------------------------- /wam/static/src/themes/bookish/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Karma', 'Times New Roman', serif; 6 | @fontWeight: normal; 7 | 8 | @iconSize: 1.5em; 9 | @iconOffset: 0.2em; 10 | @iconAlignment: top; 11 | 12 | @subHeaderFontSize: 0.85rem; 13 | 14 | @dividedBorder: 1px dotted rgba(0, 0, 0, 0.2); 15 | 16 | /* Block Header */ 17 | @blockVerticalPadding: 1.3em; 18 | @blockHorizontalPadding: 1em; 19 | 20 | /* Attached */ 21 | @attachedBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03)) repeat scroll 0 0 #F8F8F8; 22 | @attachedVerticalPadding: 1.3; 23 | @attachedHorizontalPadding: 1em; 24 | 25 | /* HTML Headings */ 26 | @h1: 1.75rem; 27 | @h2: 1.33rem; 28 | @h3: 1.33rem; 29 | @h4: 1rem; 30 | @h5: 0.9rem; 31 | 32 | /* Sizing */ 33 | @huge: 1.75em; 34 | @large: 1.33em; 35 | @medium: 1.33em; 36 | @small: 1em; 37 | @tiny: 0.9em; -------------------------------------------------------------------------------- /wam/static/src/themes/bootstrap3/elements/button.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/bootstrap3/elements/button.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/bootstrap3/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 7 | @textTransform: none; 8 | @fontWeight: normal; 9 | @textColor: rgba(51, 51, 51, 1); 10 | 11 | @borderRadius: @4px; 12 | 13 | @lineHeight: 1.42857; 14 | @verticalPadding: 0.8571em; 15 | @horizontalPadding: 0.8571em; 16 | 17 | @backgroundColor: @white; 18 | @backgroundImage: none; 19 | 20 | 21 | @borderBoxShadowColor: rgba(0, 0, 0, 0.14); 22 | 23 | @green: #5CB85C; 24 | @red: #D9534F; 25 | @blue: #337AB7; 26 | @green: #60B044; 27 | @orange: #F0AD4E; 28 | 29 | @primaryColor: @blue; 30 | @secondaryColor: @green; 31 | 32 | @labeledIconBackgroundColor: transparent; 33 | 34 | @basicBorderSize: 0px; 35 | @basicColoredBorderSize: 0px; 36 | @invertedBorderSize: 0px; 37 | 38 | @basicActiveBackground: transparent; 39 | @basicHoverBackground: transparent; 40 | @basicDownBoxShadow: 41 | 0px 0px 0px 1px #ADADAD inset, 42 | 0 3px 5px rgba(0, 0, 0, 0.125) inset 43 | ; 44 | 45 | @groupButtonOffset: 0px 0px 0px -1px; 46 | @verticalGroupOffset: 0px 0px -1px 0px; 47 | 48 | /* States */ 49 | 50 | @hoverBackgroundColor: #E6E6E6; 51 | @hoverBoxShadow: 52 | 0px 0px 0px 1px #ADADAD inset 53 | ; 54 | 55 | @downBackgroundColor: #E6E6E6; 56 | @downBoxShadow: 57 | 0px 0px 0px 1px #ADADAD inset, 58 | 0 3px 5px rgba(0, 0, 0, 0.125) inset 59 | ; 60 | 61 | @activeBackgroundColor: #E6E6E6; 62 | 63 | @disabledOpacity: 0.65; -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Form Variables 3 | --------------------*/ 4 | 5 | .ui.form .selection.dropdown { 6 | padding: 1.1em 1.2em; 7 | border-width: 2px; 8 | } 9 | .ui.form .selection.dropdown .menu { 10 | min-width: calc(100% + 4px); 11 | margin: 0 -2px; 12 | border-width: 2px; 13 | } 14 | .ui.form .selection.dropdown input { 15 | padding: inherit; 16 | } -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/collections/form.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Form Variables 3 | --------------------*/ 4 | 5 | @labelTextTransform: uppercase; 6 | @labelFontSize: 0.8em; 7 | 8 | @inputPadding: 1em 1.2em; 9 | @inputBorder: 2px solid @borderColor; -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/collections/menu.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/chubby/collections/menu.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @background: @darkWhite; 6 | @boxShadow: none; 7 | @dividerSize: 0px; 8 | 9 | @verticalBoxShadow: 0px 0px 0px 2px @borderColor inset; 10 | @verticalActiveBoxShadow: none; 11 | 12 | @itemVerticalPadding: 1.25em; 13 | @itemHorizontalPadding: 2em; 14 | @itemFontWeight: bold; 15 | 16 | @activeItemBackground: @primaryColor; 17 | @activeItemTextColor: @white; 18 | @activeHoverItemBackground: @primaryColorHover; 19 | @activeHoverItemColor: @white; 20 | 21 | @secondaryItemPadding: @relativeSmall @relativeMedium; 22 | 23 | @secondaryActiveItemBackground: @primaryColor; 24 | @secondaryActiveItemColor: @white; 25 | @secondaryActiveHoverItemBackground: @primaryColorHover; 26 | @secondaryActiveHoverItemColor: @white; 27 | 28 | @secondaryPointingBorderWidth: 4px; 29 | @secondaryPointingActiveBorderColor: @primaryColor; 30 | @secondaryPointingActiveTextColor: @primaryColor; 31 | 32 | @arrowSize: 1em; 33 | @arrowActiveColor: @primaryColor; 34 | @arrowActiveHoverColor: @primaryColorHover; 35 | @arrowBorder: transparent; 36 | 37 | @paginationActiveBackground: @lightGrey; 38 | 39 | @borderColor: @darkWhite; 40 | @tabularBorderWidth: 2px; -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); 6 | 7 | .ui.labeled.icon.buttons > .button > .icon, 8 | .ui.labeled.icon.button > .icon { 9 | box-shadow: 10 | -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 11 | -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset 12 | ; 13 | } 14 | 15 | .ui.right.labeled.icon.buttons .button .icon, 16 | .ui.right.labeled.icon.button .icon { 17 | box-shadow: 18 | 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 19 | 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset 20 | ; 21 | } -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: 'Source Sans Pro', Arial, sans-serif; 7 | 8 | @textTransform: none; 9 | @fontWeight: normal; 10 | @textColor: #333333; 11 | 12 | @verticalPadding: 1.1em; 13 | @horizontalPadding: 2.5em; 14 | @invertedBorderSize: 3px; 15 | 16 | @basicBorderRadius: 0.4em; 17 | @basicFontWeight: bold; 18 | @basicTextTransform: uppercase; 19 | 20 | @blue: #4A88CB; 21 | @primaryColor: @blue; 22 | 23 | @borderRadius: 0.25em; 24 | 25 | @backgroundColor: #E6EAED; 26 | @backgroundImage: none; 27 | @boxShadow: none; 28 | 29 | @hoverBackgroundColor: #DDDDDD; 30 | @hoverBackgroundImage: none; 31 | @hoverBoxShadow: none; 32 | 33 | @downBackgroundColor: #D0D0D0; 34 | @downBackgroundImage: none; 35 | @downBoxShadow: none; 36 | 37 | @activeBackgroundColor: #CCCCCC; 38 | @activeBackgroundImage: none; 39 | @activeBoxShadow: none; 40 | 41 | @verticalBoxShadow: none; 42 | 43 | @loadingBackgroundColor: #F0F0F0; 44 | 45 | @compactVerticalPadding: (@verticalPadding * 0.5); 46 | @compactHorizontalPadding: (@horizontalPadding * 0.5); 47 | 48 | @labeledIconBackgroundColor: transparent; 49 | 50 | @mini: 0.7rem; 51 | @tiny: 0.75rem; 52 | @small: 0.8rem; 53 | @medium: 0.92rem; 54 | @large: 1rem; 55 | @big: 1.125rem; 56 | @huge: 1.2rem; 57 | @massive: 1.3rem; 58 | -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); 6 | -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Source Sans Pro', Helvetica Neue, Helvetica, Arial, sans-serif; 6 | @fontWeight: bold; 7 | @textTransform: none; 8 | 9 | /* HTML Headings */ 10 | @h1: 1.33rem; 11 | @h2: 1.2rem; 12 | @h3: 1rem; 13 | @h4: 0.9rem; 14 | @h5: 0.8rem; 15 | 16 | /* Sizing */ 17 | @huge: 1.33em; 18 | @large: 1.2em; 19 | @medium: 1em; 20 | @small: 0.9em; 21 | @tiny: 0.8em; -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/modules/accordion.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.styled.accordion .accordion .active.title { 6 | border-bottom: 1px solid rgba(0, 0, 0, 0.1); 7 | } -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/modules/accordion.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Accordion Variables 3 | --------------------*/ 4 | 5 | @iconMargin: 0em 0.5em 0em 0em; 6 | 7 | @styledActiveTitleBackground: @subtleGradient; 8 | @styledActiveTitleColor: @primaryColor; 9 | 10 | @styledActiveChildTitleBackground: transparent; 11 | 12 | @styledTitlePadding: 1.25em; 13 | @styledTitleFontWeight: bold; 14 | @styledContentPadding: 1.5em 3.25em; 15 | @styledChildContentPadding: @styledContentPadding; -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.comments .comment { 6 | border-radius: 0.5em; 7 | box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1); 8 | } 9 | .ui.comments .comment .comments .comment { 10 | border: 1px solid rgba(0, 0, 0, 0.1); 11 | box-shadow: none; 12 | } -------------------------------------------------------------------------------- /wam/static/src/themes/chubby/views/comment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Comments 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | /* Comment */ 10 | @commentBackground: #FFFFFF; 11 | @commentMargin: 1em 0em 0em; 12 | @commentPadding: 1em 1.5em; 13 | @commentBorder: 1px solid rgba(0, 0, 0, 0.1); 14 | @commentDivider: 1px solid rgba(0, 0, 0, 0.1); 15 | @firstCommentMargin: 1em; 16 | @firstCommentPadding: 1em; 17 | 18 | /* Nested Comment */ 19 | @nestedCommentsMargin: 0em 0em 0.5em 0.5em; 20 | @nestedCommentsPadding: 1em 0em 0em 1em; 21 | @nestedCommentBackground: #F0F0F0; 22 | 23 | /* Avatar */ 24 | @avatarWidth: 3.5em; 25 | @avatarSpacing: 1.5em; 26 | @avatarBorderRadius: @circularRadius; 27 | 28 | /* Content */ 29 | @contentMargin: @avatarWidth + @avatarSpacing; 30 | 31 | /* Author */ 32 | @authorFontSize: 1em; 33 | @authorColor: @primaryColor; 34 | @authorHoverColor: @primaryColorHover; 35 | @authorFontWeight: bold; 36 | 37 | @metadataDisplay: block; 38 | @metadataSpacing: 0em; 39 | @metadataColor: @textColor; 40 | 41 | /*------------------- 42 | Variations 43 | --------------------*/ 44 | 45 | /* Threaded */ 46 | @threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2); 47 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/collections/table.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Table 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @boxShadow: @subtleGradient; 10 | 11 | @headerBackground: @subtleGradient; 12 | @headerBoxShadow: @subtleShadow; 13 | @footerBoxShadow: 0px -1px 1px 0px rgba(0, 0, 0, 0.05); 14 | @footerBackground: rgba(0, 0, 0, 0.05); 15 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/elements/header.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Button 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @headerFont: 'Open Sans', Arial, sans-serif; 10 | 11 | @blockBackground: @offWhite @subtleGradient; 12 | @blockBoxShadow: @subtleShadow; -------------------------------------------------------------------------------- /wam/static/src/themes/classic/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/classic/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | @background: rgba(0, 0, 0, 0.05); 6 | @boxShadow: 0px 0px 4px rgba(0, 0, 0, 0.1) inset; 7 | @barBackground: @subtleGradient #888888; 8 | @border: 1px solid @borderColor; 9 | @padding: @relative3px; -------------------------------------------------------------------------------- /wam/static/src/themes/classic/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | /* Shadow */ 10 | @shadowDistance: 0em; 11 | @padding: 0em; 12 | 13 | /*------------------- 14 | Content 15 | --------------------*/ 16 | 17 | /* Additional Content */ 18 | @extraDivider: 1px solid rgba(0, 0, 0, 0.05); 19 | @extraBackground: #FAFAFA @subtleGradient; 20 | @extraPadding: 0.75em 1em; 21 | @extraBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.15); 22 | @extraColor: @lightTextColor; 23 | -------------------------------------------------------------------------------- /wam/static/src/themes/colored/modules/checkbox.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/colored/modules/checkbox.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/colored/modules/checkbox.variables: -------------------------------------------------------------------------------- 1 | /* Checkbox */ 2 | @checkboxActiveBackground: @primaryColor; 3 | @checkboxActiveBorderColor: @primaryColor; 4 | @checkboxActiveCheckColor: @white; 5 | 6 | @checkboxActiveFocusBackground: @primaryColorFocus; 7 | @checkboxActiveFocusBorderColor: @primaryColorFocus; 8 | @checkboxActiveFocusCheckColor: @white; 9 | 10 | @checkboxTransition: none; 11 | 12 | /* Radio */ 13 | @radioActiveBackground: @white; 14 | @radioActiveBorderColor: @primaryColor; 15 | @radioActiveBulletColor: @primaryColor; 16 | 17 | @radioActiveFocusBackground: @white; 18 | @radioActiveFocusBorderColor: @primaryColorFocus; 19 | @radioActiveFocusBulletColor: @primaryColorFocus; 20 | 21 | /* Slider */ 22 | @sliderOnLineColor: @primaryColor; 23 | @sliderOnFocusLineColor: @primaryColorFocus; 24 | 25 | /* Handle */ 26 | @handleBackground: @white @subtleGradient; 27 | @handleBoxShadow: 28 | 0px 0px 0px 1px @selectedBorderColor inset 29 | ; 30 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/assets/fonts/icons.eot -------------------------------------------------------------------------------- /wam/static/src/themes/default/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /wam/static/src/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /wam/static/src/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /wam/static/src/themes/default/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/assets/images/flags.png -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/breadcrumb.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/breadcrumb.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Breadcrumb 3 | *******************************/ 4 | 5 | /*------------------- 6 | Breadcrumb 7 | --------------------*/ 8 | 9 | @verticalMargin: 1em; 10 | @display: inline-block; 11 | @verticalAlign: middle; 12 | 13 | @dividerSpacing: @3px; 14 | @dividerOpacity: 0.7; 15 | @dividerColor: @lightTextColor; 16 | 17 | @dividerSize: @relativeSmall; 18 | @dividerVerticalAlign: baseline; 19 | 20 | @iconDividerSize: @relativeTiny; 21 | @iconDividerVerticalAlign: baseline; 22 | 23 | @sectionMargin: 0em; 24 | @sectionPadding: 0em; 25 | 26 | /* Coupling */ 27 | @segmentPadding: @relativeMini @relativeMedium; 28 | 29 | /*------------------- 30 | States 31 | --------------------*/ 32 | 33 | @activeFontWeight: bold; -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/message.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/collections/table.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/default/collections/table.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/container.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/container.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Container 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | /* Minimum Gutter is used to determine the maximum container width for a given device */ 10 | 11 | @maxWidth: 100%; 12 | 13 | /* Devices */ 14 | @mobileMinimumGutter: 0em; 15 | @mobileWidth: auto; 16 | @mobileGutter: 1em; 17 | 18 | @tabletMinimumGutter: (@emSize * 1); 19 | @tabletWidth: @tabletBreakpoint - (@tabletMinimumGutter * 2) - @scrollbarWidth; 20 | @tabletGutter: auto; 21 | 22 | @computerMinimumGutter: (@emSize * 1.5); 23 | @computerWidth: @computerBreakpoint - (@computerMinimumGutter * 2) - @scrollbarWidth; 24 | @computerGutter: auto; 25 | 26 | @largeMonitorMinimumGutter: (@emSize * 2); 27 | @largeMonitorWidth: @largeMonitorBreakpoint - (@largeMonitorMinimumGutter * 2) - @scrollbarWidth; 28 | @largeMonitorGutter: auto; 29 | 30 | /* Coupling (Add Negative Margin to container size) */ 31 | @gridGutterWidth: 2em; 32 | @mobileGridWidth: @mobileWidth; 33 | @tabletGridWidth: ~"calc("@tabletWidth~" + "@gridGutterWidth~")"; 34 | @computerGridWidth: ~"calc("@computerWidth~" + "@gridGutterWidth~")"; 35 | @largeMonitorGridWidth: ~"calc("@largeMonitorWidth~" + "@gridGutterWidth~")"; 36 | 37 | /*------------------- 38 | Types 39 | --------------------*/ 40 | 41 | /* Text */ 42 | @textWidth: 700px; 43 | @textFontFamily: @pageFont; 44 | @textLineHeight: 1.5; 45 | @textSize: @large; -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/divider.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Divider 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @margin: 1rem 0rem; 10 | 11 | @highlightWidth: 1px; 12 | @highlightColor: @whiteBorderColor; 13 | 14 | @shadowWidth: 1px; 15 | @shadowColor: @borderColor; 16 | 17 | /* Text */ 18 | @letterSpacing: 0.05em; 19 | @fontWeight: bold; 20 | @color: @darkTextColor; 21 | @textTransform: uppercase; 22 | 23 | /*------------------- 24 | Coupling 25 | --------------------*/ 26 | 27 | /* Icon */ 28 | @dividerIconSize: 1rem; 29 | @dividerIconMargin: 0rem; 30 | 31 | 32 | /******************************* 33 | Variations 34 | *******************************/ 35 | 36 | /* Horizontal / Vertical */ 37 | @horizontalMargin: ''; 38 | @horizontalDividerMargin: 1em; 39 | @horizontalRulerOffset: ~"calc(-50% - "(@horizontalDividerMargin)~")"; 40 | 41 | @verticalDividerMargin: 1rem; 42 | @verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")"; 43 | 44 | /* Inverted */ 45 | @invertedTextColor: @white; 46 | @invertedHighlightColor: rgba(255, 255, 255, 0.15); 47 | @invertedShadowColor: @borderColor; 48 | 49 | /* Section */ 50 | @sectionMargin: 2rem; 51 | 52 | /* Sizes */ 53 | @medium: 1rem; -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/flag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Flag 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @spritePath: "@{imagePath}/flags.png"; 10 | @width: 16px; 11 | @height: 11px; 12 | @verticalAlign: baseline; 13 | @margin: 0.5em; -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Icon 3 | *******************************/ 4 | 5 | /*------------------- 6 | Icon Variables 7 | --------------------*/ 8 | 9 | @fontName: 'icons'; 10 | @fallbackSRC: url("@{fontPath}/@{fontName}.eot"); 11 | @src: 12 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'), 13 | url("@{fontPath}/@{fontName}.woff2") format('woff2'), 14 | url("@{fontPath}/@{fontName}.woff") format('woff'), 15 | url("@{fontPath}/@{fontName}.ttf") format('truetype'), 16 | url("@{fontPath}/@{fontName}.svg#icons") format('svg') 17 | ; 18 | 19 | @opacity: 1; 20 | @width: @iconWidth; 21 | @height: 1em; 22 | @distanceFromText: 0.25rem; 23 | 24 | 25 | /* Variations */ 26 | 27 | @linkOpacity: 0.8; 28 | @linkDuration: 0.3s; 29 | @loadingDuration: 2s; 30 | 31 | @circularSize: 2em; 32 | @circularPadding: 0.5em 0.5em; 33 | @circularShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; 34 | 35 | @borderedSize: 2em; 36 | @borderedVerticalPadding: ((@borderedSize - @height) / 2); 37 | @borderedHorizontalPadding: ((@borderedSize - @width) / 2); 38 | @borderedShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; 39 | 40 | @cornerIconSize: 0.45em; 41 | @cornerIconStroke: 1px; 42 | @cornerIconShadow: 43 | -@cornerIconStroke -@cornerIconStroke 0 @white, 44 | @cornerIconStroke -@cornerIconStroke 0 @white, 45 | -@cornerIconStroke @cornerIconStroke 0 @white, 46 | @cornerIconStroke @cornerIconStroke 0 @white 47 | ; 48 | @cornerIconInvertedShadow: 49 | -@cornerIconStroke -@cornerIconStroke 0 @black, 50 | @cornerIconStroke -@cornerIconStroke 0 @black, 51 | -@cornerIconStroke @cornerIconStroke 0 @black, 52 | @cornerIconStroke @cornerIconStroke 0 @black 53 | ; 54 | 55 | @small: @relativeSmall; 56 | @medium: 1em; 57 | @large: 1.5em; 58 | @big: 2em; 59 | @huge: 4em; 60 | @massive: 8em; 61 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/image.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/image.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Image 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @placeholderColor: transparent; 10 | @roundedBorderRadius: 0.3125em; 11 | 12 | @imageHorizontalMargin: 0.25rem; 13 | @imageVerticalMargin: 0.5rem; 14 | @imageBorder: 1px solid rgba(0, 0, 0, 0.1); 15 | 16 | /*------------------- 17 | Types 18 | --------------------*/ 19 | 20 | /* Avatar */ 21 | @avatarSize: 2em; 22 | @avatarMargin: 0.25em; 23 | 24 | 25 | /*------------------- 26 | Variations 27 | --------------------*/ 28 | 29 | /* Spaced */ 30 | @spacedDistance: 0.5em; 31 | 32 | /* Floated */ 33 | @floatedHorizontalMargin: 1em; 34 | @floatedVerticalMargin: 1em; 35 | 36 | /* Size */ 37 | @miniWidth: 35px; 38 | @tinyWidth: 80px; 39 | @smallWidth: 150px; 40 | @mediumWidth: 300px; 41 | @largeWidth: 450px; 42 | @bigWidth: 600px; 43 | @hugeWidth: 800px; 44 | @massiveWidth: 960px; 45 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/input.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/label.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/list.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | /* Some global loader styles defined in site.variables */ 6 | // @loaderSpeed 7 | // @loaderLineWidth 8 | // @loaderFillColor 9 | // @loaderLineColor 10 | // @invertedLoaderFillColor 11 | // @invertedLoaderLineColor 12 | 13 | /*------------------- 14 | Standard 15 | --------------------*/ 16 | 17 | @loaderTopOffset: 50%; 18 | @loaderLeftOffset: 50%; 19 | 20 | @shapeBorderColor: @loaderLineColor transparent transparent; 21 | @invertedShapeBorderColor: @invertedLoaderLineColor transparent transparent; 22 | 23 | /*------------------- 24 | Types 25 | --------------------*/ 26 | 27 | /* Text */ 28 | @textDistance: @relativeMini; 29 | @loaderTextColor: @textColor; 30 | @invertedLoaderTextColor: @invertedTextColor; 31 | 32 | /*------------------- 33 | States 34 | --------------------*/ 35 | 36 | @indeterminateDirection: reverse; 37 | @indeterminateSpeed: (2 * @loaderSpeed); 38 | 39 | /*------------------- 40 | Variations 41 | --------------------*/ 42 | 43 | @inlineVerticalAlign: middle; 44 | @inlineMargin: 0em; 45 | 46 | /* Exact Sizes (Avoids Rounding Errors) */ 47 | @mini: 1.2857em; /* 18px */ 48 | @small: 1.7142em; /* 24px */ 49 | @medium: 2.2585em; /* 32px */ 50 | @large: 4.5714em; /* 64px */ 51 | 52 | @miniOffset: 0em 0em 0em -(@mini / 2); 53 | @smallOffset: 0em 0em 0em -(@small / 2); 54 | @mediumOffset: 0em 0em 0em -(@medium / 2); 55 | @largeOffset: 0em 0em 0em -(@large / 2); 56 | 57 | @miniFontSize: @relativeMini; 58 | @smallFontSize: @relativeSmall; 59 | @mediumFontSize: @relativeMedium; 60 | @largeFontSize: @relativeLarge; -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/rail.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/rail.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Rail 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @width: 300px; 10 | @height: 100%; 11 | 12 | @distance: 4rem; 13 | @splitDistance: (@distance / 2); 14 | 15 | /*------------------- 16 | Variations 17 | --------------------*/ 18 | 19 | /* Close */ 20 | @closeDistance: 2em; 21 | @veryCloseDistance: 1em; 22 | 23 | @splitCloseDistance: (@closeDistance / 2); 24 | @splitVeryCloseDistance: (@veryCloseDistance / 2); 25 | 26 | @closeWidth: @width + @splitCloseDistance; 27 | @veryCloseWidth: @width + @splitVeryCloseDistance; 28 | 29 | /* Dividing */ 30 | @dividingBorder: 1px solid @borderColor; 31 | @dividingDistance: 5rem; 32 | @splitDividingDistance: (@dividingDistance / 2); 33 | @dividingWidth: @width + @splitDividingDistance; 34 | 35 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/reveal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/reveal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reveal 3 | *******************************/ 4 | 5 | @transitionDelay: 0.1s; 6 | @transitionDuration: 0.5s; 7 | @transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1); 8 | @transition: all @transitionDuration @defaultEasing @transitionDelay; 9 | 10 | @bottomZIndex: 2; 11 | @topZIndex: 3; 12 | @activeZIndex: 4; 13 | 14 | /* Types */ 15 | @rotateDegrees: 110deg; 16 | @moveTransition: transform @transitionDuration @transitionEasing @transitionDelay; 17 | @slideTransition: transform @transitionDuration @defaultEasing @transitionDelay; -------------------------------------------------------------------------------- /wam/static/src/themes/default/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /wam/static/src/themes/default/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Global Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/chatroom.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/chatroom.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Chatroom 3 | *******************************/ -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/dimmer.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/dimmer.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Dimmer 3 | *******************************/ 4 | 5 | @dimmablePosition: relative; 6 | @dimmerPosition: absolute; 7 | 8 | @backgroundColor: rgba(0, 0, 0 , 0.85); 9 | @lineHeight: 1; 10 | @perspective: 2000px; 11 | 12 | @duration: 0.5s; 13 | @transition: 14 | background-color @duration linear 15 | ; 16 | @zIndex: 1000; 17 | @textAlign: center; 18 | @verticalAlign: middle; 19 | @textColor: @white; 20 | @overflow: hidden; 21 | 22 | @blurredStartFilter: ~"blur(0px) grayscale(0)"; 23 | @blurredEndFilter: ~"blur(5px) grayscale(0.7)"; 24 | @blurredTransition: 800ms filter @defaultEasing; 25 | 26 | @blurredBackgroundColor: rgba(0, 0, 0, 0.6); 27 | @blurredInvertedBackgroundColor: rgba(255, 255, 255, 0.6); 28 | 29 | /* Hidden (Default) */ 30 | @hiddenOpacity: 0; 31 | 32 | /* Content */ 33 | @contentDisplay: table; 34 | @contentChildDisplay: table-cell; 35 | 36 | /* Visible */ 37 | @visibleOpacity: 1; 38 | 39 | /*------------------- 40 | Types 41 | --------------------*/ 42 | 43 | /* Page Dimmer*/ 44 | @transformStyle: ''; 45 | @pageDimmerPosition: fixed; 46 | 47 | 48 | /*------------------- 49 | Variations 50 | --------------------*/ 51 | 52 | /* Inverted */ 53 | @invertedBackgroundColor: rgba(255, 255, 255, 0.85); 54 | @invertedTextColor: @textColor; 55 | 56 | /* Simple */ 57 | @simpleZIndex: 1; 58 | @simpleStartBackgroundColor: rgba(0, 0, 0, 0); 59 | @simpleEndBackgroundColor: @backgroundColor; 60 | @simpleInvertedStartBackgroundColor: rgba(255, 255, 255, 0); 61 | @simpleInvertedEndBackgroundColor: @invertedBackgroundColor; -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/embed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Video Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/embed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Video 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | /* Simple */ 10 | @background: @lightGrey; 11 | @transitionDuration: 0.5s; 12 | @transitionEasing: @defaultEasing; 13 | 14 | /* Placeholder */ 15 | @placeholderUnderlay: @background; 16 | 17 | /* Placeholder Overlayed Background */ 18 | @placeholderBackground: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); 19 | @placeholderBackgroundOpacity: 0.5; 20 | @placeholderBackgroundTransition: opacity @transitionDuration @transitionEasing; 21 | 22 | /* Icon */ 23 | @iconBackground: @veryStrongTransparentBlack; 24 | @iconSize: 6rem; 25 | @iconTransition: 26 | opacity @transitionDuration @transitionEasing, 27 | color @transitionDuration @transitionEasing 28 | ; 29 | @iconColor: @white; 30 | @iconShadow: 31 | 0px 2px 10px rgba(34, 36, 38, 0.2) 32 | ; 33 | @iconZIndex: 10; 34 | 35 | /*------------------- 36 | States 37 | --------------------*/ 38 | 39 | /* Hover */ 40 | @hoverPlaceholderBackground: @placeholderBackground; 41 | @hoverPlaceholderBackgroundOpacity: 1; 42 | @hoverIconColor: @white; 43 | 44 | 45 | /*------------------- 46 | Variations 47 | --------------------*/ 48 | 49 | /* Aspect Ratios */ 50 | @squareRatio: (1/1) * 100%; 51 | @widescreenRatio: (9/16) * 100%; 52 | @ultraWidescreenRatio: (9/21) * 100%; 53 | @standardRatio: (3/4) * 100%; -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/nag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/nag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Nag 3 | *******************************/ 4 | 5 | /*-------------- 6 | Collection 7 | ---------------*/ 8 | 9 | @position: relative; 10 | @width: 100%; 11 | @zIndex: 999; 12 | @margin: 0em; 13 | 14 | @background: #555555; 15 | @opacity: 0.95; 16 | @minHeight: 0em; 17 | @padding: 0.75em 1em; 18 | @lineHeight: 1em; 19 | @boxShadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); 20 | 21 | @fontSize: 1rem; 22 | @textAlign: center; 23 | @color: @textColor; 24 | 25 | @transition: 0.2s background ease; 26 | 27 | 28 | /*-------------- 29 | Elements 30 | ---------------*/ 31 | 32 | /* Title */ 33 | @titleColor: @white; 34 | @titleMargin: 0em 0.5em; 35 | 36 | @closeSize: 1em; 37 | @closeMargin: (-@closeSize / 2) 0em 0em; 38 | @closeTop: 50%; 39 | @closeRight: 1em; 40 | @closeColor: @white; 41 | @closeTransition: opacity 0.2s ease; 42 | @closeOpacity: 0.4; 43 | 44 | 45 | /*-------------- 46 | States 47 | ---------------*/ 48 | 49 | /* Hover */ 50 | @nagHoverBackground: @background; 51 | @nagHoverOpacity: 1; 52 | 53 | @closeHoverOpacity: 1; 54 | 55 | /*-------------- 56 | Variations 57 | ---------------*/ 58 | 59 | /* Top / Bottom */ 60 | @top: 0em; 61 | @bottom: 0em; 62 | @borderRadius: @defaultBorderRadius; 63 | @topBorderRadius: 0em 0em @borderRadius @borderRadius; 64 | @bottomBorderRadius: @borderRadius @borderRadius 0em 0em; 65 | 66 | /* Inverted */ 67 | @invertedBackground: @darkWhite; 68 | 69 | /*-------------- 70 | Plural 71 | ---------------*/ 72 | 73 | @groupedBorderRadius: 0em; 74 | 75 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/popup.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/search.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/shape.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/shape.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Shape 3 | *******************************/ 4 | 5 | @display: inline-block; 6 | 7 | /* Animating */ 8 | @perspective: 2000px; 9 | 10 | @duration: 0.6s; 11 | @easing: ease-in-out; 12 | 13 | @hiddenSideOpacity: 0.6; 14 | @animatingZIndex: 100; 15 | 16 | @transition: 17 | transform @duration @easing, 18 | left @duration @easing, 19 | width @duration @easing, 20 | height @duration @easing 21 | ; 22 | @sideTransition: opacity @duration @easing; 23 | @backfaceVisibility: hidden; 24 | 25 | /* Side */ 26 | @sideMargin: 0em; 27 | 28 | /*-------------- 29 | Types 30 | ---------------*/ 31 | 32 | /* Cube */ 33 | @cubeSize: 15em; 34 | @cubeBackground: #E6E6E6; 35 | @cubePadding: 2em; 36 | @cubeTextColor: @textColor; 37 | @cubeBoxShadow: 0px 0px 2px rgba(0, 0, 0, 0.3); 38 | 39 | @cubeTextAlign: center; 40 | @cubeFontSize: 2em; 41 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/sidebar.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/sidebar.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Sidebar 3 | *******************************/ 4 | 5 | /*------------------- 6 | Content 7 | --------------------*/ 8 | 9 | /* Animation */ 10 | @perspective: 1500px; 11 | @duration: 500ms; 12 | @easing: @defaultEasing; 13 | 14 | /* Dimmer */ 15 | @dimmerColor: rgba(0, 0, 0, 0.4); 16 | @dimmerTransition: opacity @duration; 17 | 18 | /* Color below page */ 19 | @canvasBackground: @lightBlack; 20 | 21 | /* Shadow */ 22 | @boxShadow: 0px 0px 20px @borderColor; 23 | @horizontalBoxShadow: @boxShadow; 24 | @verticalBoxShadow: @boxShadow; 25 | 26 | /* Layering */ 27 | @bottomLayer: 1; 28 | @middleLayer: 2; 29 | @fixedLayer: 101; 30 | @topLayer: 102; 31 | @dimmerLayer: 1000; 32 | 33 | /*------------------- 34 | Variations 35 | --------------------*/ 36 | 37 | /* Width */ 38 | @veryThinWidth: 60px; 39 | @thinWidth: 150px; 40 | @width: 260px; 41 | @wideWidth: 350px; 42 | @veryWideWidth: 475px; 43 | 44 | /* Height */ 45 | @height: 36px; 46 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/sticky.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/sticky.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Sticky 3 | *******************************/ 4 | 5 | @transsssitionDuration: @defaultDuration; 6 | @transition: none; 7 | @zIndex: 800; -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/tab.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Tab Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/tab.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Tab 3 | *******************************/ 4 | 5 | /* Loading */ 6 | @loadingMinHeight: 250px; 7 | @loadingContentPosition: relative; 8 | @loadingContentOffset: -10000px; 9 | 10 | @loaderDistanceFromTop: 100px; 11 | @loaderSize: 2.5em; -------------------------------------------------------------------------------- /wam/static/src/themes/default/modules/transition.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Transition 3 | *******************************/ 4 | 5 | @transitionDefaultEasing: @defaultEasing; 6 | @transitionDefaultFill: both; 7 | @transitionDefaultDuration: 300ms; 8 | 9 | @use3DAcceleration: translateZ(0); 10 | @backfaceVisibility: hidden; -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/ad.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/ad.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Advertisement 3 | *******************************/ 4 | 5 | @margin: 1em 0em; 6 | @overflow: hidden; 7 | 8 | @testBackground: @lightBlack; 9 | @testColor: @white; 10 | @testFontWeight: bold; 11 | @testText: 'Ad'; 12 | @testFontSize: @relativeMedium; 13 | @testMobileFontSize: @relativeTiny; -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/item.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/default/views/statistic.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/duo/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/duo/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | @shapeBorderColor: @primaryColor @primaryColor @secondaryColor @secondaryColor; 6 | @invertedShapeBorderColor: @lightPrimaryColor @lightPrimaryColor @lightSecondaryColor @lightSecondaryColor; -------------------------------------------------------------------------------- /wam/static/src/themes/fixed-width/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/fixed-width/collections/grid.variables: -------------------------------------------------------------------------------- 1 | /* Fixed Page Grid */ 2 | 3 | @mobileWidth: auto; 4 | @mobileMargin: 0em; 5 | @mobileGutter: 0em; 6 | 7 | @tabletWidth: auto; 8 | @tabletMargin: 0em; 9 | @tabletGutter: 8%; 10 | 11 | @computerWidth: 960px; 12 | @computerMargin: auto; 13 | @computerGutter: 0; 14 | 15 | @largeMonitorWidth: 1180px; 16 | @largeMonitorMargin: auto; 17 | @largeMonitorGutter: 0; 18 | 19 | @widescreenMonitorWidth: 1300px; 20 | @widescreenMargin: auto; 21 | @widescreenMonitorGutter: 0; 22 | 23 | @tableWidth: ''; -------------------------------------------------------------------------------- /wam/static/src/themes/fixed-width/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/fixed-width/modules/modal.variables: -------------------------------------------------------------------------------- 1 | 2 | /* Responsive Widths */ 3 | @modalComputerWidth: 700px; 4 | @modalLargeMonitorWidth: 800px; 5 | @modalWidescreenMonitorWidth: 850px; 6 | 7 | @modalComputerMargin: 0em 0em 0em -(@modalComputerWidth / 2); 8 | @modalLargeMonitorMargin: 0em 0em 0em -(@modalLargeMonitorWidth / 2); 9 | @modalWidescreenMonitorMargin: 0em 0em 0em -(@modalWidescreenMonitorWidth / 2); 10 | 11 | 12 | /*------------------- 13 | Variations 14 | --------------------*/ 15 | 16 | /* Sizes */ 17 | @modalSmallRatio: 0.6; 18 | @modalLargeRatio: 1.2; 19 | 20 | /* Derived Responsive Sizes */ 21 | @modalSmallHeaderSize: 1.3em; 22 | @modalSmallComputerWidth: (@modalComputerWidth * @modalSmallRatio); 23 | @modalSmallLargeMonitorWidth: (@modalLargeMonitorWidth * @modalSmallRatio); 24 | @modalSmallWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalSmallRatio); 25 | 26 | @modalSmallComputerMargin: 0em 0em 0em -(@modalSmallComputerWidth / 2); 27 | @modalSmallLargeMonitorMargin: 0em 0em 0em -(@modalSmallLargeMonitorWidth / 2); 28 | @modalSmallWidescreenMonitorMargin: 0em 0em 0em -(@modalSmallWidescreenMonitorWidth / 2); 29 | 30 | @modalLargeHeaderSize: 1.3em; 31 | @modalLargeComputerWidth: (@modalComputerWidth * @modalLargeRatio); 32 | @modalLargeLargeMonitorWidth: (@modalLargeMonitorWidth * @modalLargeRatio); 33 | @modalLargeWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalLargeRatio); 34 | 35 | @modalLargeComputerMargin: 0em 0em 0em -(@modalLargeComputerWidth / 2); 36 | @modalLargeLargeMonitorMargin: 0em 0em 0em -(@modalLargeLargeMonitorWidth / 2); 37 | @modalLargeWidescreenMonitorMargin: 0em 0em 0em -(@modalLargeWidescreenMonitorWidth / 2); -------------------------------------------------------------------------------- /wam/static/src/themes/flat/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.form input[type="text"], 6 | .ui.form input[type="email"], 7 | .ui.form input[type="date"], 8 | .ui.form input[type="password"], 9 | .ui.form input[type="number"], 10 | .ui.form input[type="url"], 11 | .ui.form input[type="tel"] { 12 | border-bottom: 1px solid #DDDDDD; 13 | } 14 | 15 | .ui.form .selection.dropdown { 16 | border: none; 17 | box-shadow: none !important; 18 | border-bottom: 1px solid #DDDDDD; 19 | border-radius: 0em !important; 20 | } 21 | .ui.form .selection.dropdown > .menu { 22 | border-top-width: 1px !important; 23 | border-radius: @defaultBorderRadius !important; 24 | } 25 | 26 | .ui.form .ui.icon.input > .icon { 27 | width: 1em; 28 | } -------------------------------------------------------------------------------- /wam/static/src/themes/flat/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Form 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | 10 | /* Text */ 11 | @paragraphMargin: 1em 0em; 12 | 13 | /* Field */ 14 | @fieldMargin: 0em 0em 1em; 15 | 16 | /* Form Label */ 17 | @labelFontSize: @relative11px; 18 | @labelTextTransform: uppercase; 19 | 20 | @groupedLabelTextTransform: none; 21 | 22 | /* Input */ 23 | @inputHorizontalPadding: 0.5em; 24 | @inputBackground: transparent; 25 | @inputBorder: none; 26 | @inputBorderRadius: 0em; 27 | @inputBoxShadow: none; 28 | 29 | @textAreaPadding: 1em; 30 | @textAreaBackground: transparent; 31 | @textAreaFocusBackground: #EEEEEE; 32 | @textAreaBorder: 1px solid #DDDDDD; 33 | 34 | /* Divider */ 35 | @dividerMargin: 1em 0em; 36 | 37 | /* Validation Prompt */ 38 | @validationMargin: 0em 0em 0em 1em; 39 | @validationArrowOffset: -0.3em; 40 | 41 | /*------------------- 42 | States 43 | --------------------*/ 44 | 45 | /* Disabled */ 46 | 47 | /* Focus */ 48 | @inputFocusPointerSize: 0px; 49 | @inputErrorPointerSize: 0px; 50 | 51 | /* Dropdown Error */ 52 | @dropdownErrorHoverBackground: #FFF2F2; 53 | @dropdownErrorActiveBackground: #FDCFCF; 54 | 55 | /* Focused Error */ 56 | @inputErrorFocusBackground: @negativeBackgroundColor; 57 | @inputErrorFocusColor: @negativeColorHover; 58 | @inputErrorFocusBorder: @negativeBorderColor; 59 | @inputErrorFocusBoxShadow: @inputErrorPointerSize 0em 0em 0em @negativeColorHover inset; 60 | 61 | /* Placeholder */ 62 | @inputPlaceholderColor: lighten(@inputColor, 55); 63 | @inputPlaceholderFocusColor: lighten(@inputColor, 35); 64 | @inputErrorPlaceholderColor: lighten(@formErrorColor, 10); 65 | @inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 5); 66 | 67 | /* Loading */ 68 | @formLoaderDimmerColor: rgba(255, 255, 255, 0.6); 69 | @formLoaderPath: "@{imagePath}/loader-large.gif"; 70 | @formLoaderPosition: 50% 50%; 71 | 72 | /* (x) Wide Field */ 73 | @gutterWidth: 1.5em; 74 | -------------------------------------------------------------------------------- /wam/static/src/themes/flat/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.selection.dropdown { 6 | background-color: #FAFAFA; 7 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; 8 | border-color: #CCCCCC; 9 | } 10 | 11 | .ui.selection.dropdown:focus { 12 | box-shadow: 13 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset, 14 | 0px 0px 5px rgba(81, 167, 232, 0.5) 15 | ; 16 | } -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Form 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | @inputBackground: #FAFAFA; 10 | @inputBorder: 1px solid #CCCCCC; 11 | @inputBoxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; 12 | @inputBorderRadius: 3px; 13 | 14 | @labelFontWeight: bold; 15 | @labelDistance: 6px; 16 | 17 | /*------------------- 18 | States 19 | --------------------*/ 20 | 21 | @inputFocusBackground: #FFFFFF; 22 | @inputFocusBoxShadow: 23 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset, 24 | 0px 0px 5px rgba(81, 167, 232, 0.5) 25 | ; 26 | @inputFocusBorderColor: #51A7E8; 27 | @inputFocusBorderRadius: @inputBorderRadius; 28 | 29 | /*------------------- 30 | Types 31 | --------------------*/ 32 | 33 | 34 | /*------------------- 35 | Variations 36 | --------------------*/ 37 | 38 | /*------------------- 39 | Groups 40 | --------------------*/ 41 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.menu .item > .label { 6 | box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; 7 | } -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Collection 3 | --------------------*/ 4 | 5 | @itemVerticalPadding: 1em; 6 | @itemHorizontalPadding: 1.25em; 7 | 8 | @background: #FFFFFF linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.05)); 9 | @fontWeight: normal; 10 | 11 | @activeBorderSize: 0em; 12 | 13 | @hoverBackground: rgba(0, 0, 0, 0.02); 14 | @downBackground: rgba(0, 0, 0, 0.06); 15 | 16 | @activeBackground: rgba(0, 0, 0, 0.04); 17 | @activeHoverBackground: rgba(0, 0, 0, 0.04); 18 | 19 | 20 | @headerBackground: rgba(0, 0, 0, 0.08); 21 | 22 | @subMenuMargin: 0.5em -0.6em 0; 23 | @subMenuHorizontalPadding: 0.7em; 24 | 25 | @arrowHoverColor: #EEEEEE; 26 | @arrowActiveColor: #EEEEEE; 27 | @arrowVerticalHoverColor: #F4F4F4; 28 | @arrowVerticalActiveColor: #F4F4F4; 29 | 30 | @dividerBackground: #E8E8E8; 31 | @verticalDividerBackground: #E8E8E8; 32 | 33 | /*------------------- 34 | Elements 35 | --------------------*/ 36 | 37 | @buttonOffset: -0.15em; 38 | @buttonVerticalPadding: 0.75em; 39 | 40 | /*------------------- 41 | Types 42 | --------------------*/ 43 | 44 | @paginationMinWidth: 3.5em; 45 | 46 | @tieredActiveItemBackground: #F5F5F5; 47 | @tieredActiveMenuBackground: #F5F5F5; 48 | 49 | /*------------------- 50 | Variations 51 | --------------------*/ 52 | 53 | @verticalBackground: #FFFFFF; 54 | @verticalItemBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02)); 55 | 56 | @invertedBackground: @black linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.0)); 57 | @invertedBoxShadow : 58 | 0px 1px 2px 0px rgba(0, 0, 0, 0.15), 59 | 0px 0px 0px 1px rgba(255, 255, 255, 0.15) 60 | ; 61 | @secondaryVerticalPadding: 0.75em; -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/message.overrides: -------------------------------------------------------------------------------- 1 | .ui.info.message { 2 | background: linear-gradient(#D8EBF8, #D0E3EF); 3 | } 4 | .ui.error.message { 5 | background: linear-gradient(#F8D8D8, #EFD0D0); 6 | } 7 | .ui.warning.message { 8 | background: linear-gradient(#FFE3C8, #F5DAC0); 9 | } 10 | .ui.success.message { 11 | } 12 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/collections/message.variables: -------------------------------------------------------------------------------- 1 | @background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.05)) #FEFEFE; 2 | @boxShadow: 3 | 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset, 4 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset 5 | ; 6 | @verticalPadding: 15px; 7 | @horizontalPadding: 15px; 8 | 9 | @headerFontSize: 1.15em; 10 | 11 | @infoTextColor: #264C72; 12 | @warningTextColor: #613A00; 13 | @errorTextColor: #991111; 14 | 15 | @floatingBoxShadow: 16 | 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, 17 | 0px 2px 3px 0px rgba(0, 0, 0, 0.1), 18 | 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset 19 | ; 20 | 21 | @infoBorderColor: #97C1DA; 22 | @errorBorderColor: #DA9797; 23 | @warningBorderColor: #DCA874; 24 | 25 | @small: 12px; 26 | @medium: 13px; 27 | @large: 14px; 28 | @huge: 16px; 29 | @massive: 18px; 30 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/elements/segment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Standard 3 | *******************************/ 4 | 5 | /*------------------- 6 | Segment 7 | --------------------*/ 8 | 9 | @segmentBorderWidth: 1px; 10 | @border: 1px solid #D8DEE2; 11 | @boxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); 12 | 13 | @verticalPadding: 20px; 14 | @horizontalPadding: 20px; 15 | 16 | @borderRadius: 4px; 17 | 18 | /******************************* 19 | Variations 20 | *******************************/ 21 | 22 | 23 | /* Raised */ 24 | @raisedBoxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); 25 | 26 | /* Colors */ 27 | @coloredBorderSize: 0.5em; 28 | 29 | /* Ordinality */ 30 | @secondaryBackground: #F9F9F9; 31 | @secondaryColor: @textColor; 32 | 33 | @tertiaryBackground: #F0F0F0; 34 | @tertiaryColor: @textColor; 35 | 36 | @secondaryInvertedBackground: #555555; 37 | @secondaryInvertedColor: @textColor; 38 | 39 | @tertiaryInvertedBackground: #333333; 40 | @tertiaryInvertedColor: @textColor; 41 | -------------------------------------------------------------------------------- /wam/static/src/themes/github/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.steps .step:after { 6 | display: none; 7 | } 8 | .ui.steps .completed.step:before { 9 | opacity: 0.5; 10 | } 11 | 12 | .ui.steps .step.active:after { 13 | display: block; 14 | border: none; 15 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 16 | border-left: 1px solid rgba(0, 0, 0, 0.2); 17 | } 18 | .ui.vertical.steps .step.active:after { 19 | display: block; 20 | border: none; 21 | top: 50%; 22 | right: 0%; 23 | border-left: none; 24 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 25 | border-right: 1px solid rgba(0, 0, 0, 0.2); 26 | } -------------------------------------------------------------------------------- /wam/static/src/themes/github/elements/step.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Step Variables 3 | --------------------*/ 4 | 5 | /* Step */ 6 | @background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.07)); 7 | @verticalPadding: 1em; 8 | 9 | @arrowDisplay: none; 10 | @lastArrowDisplay: none; 11 | @activeArrowDisplay: block; 12 | @activeLastArrowDisplay: block; 13 | 14 | /* Group */ 15 | @stepsBackground: #FFFFFF; 16 | @stepsBoxShadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.15); 17 | 18 | /* States */ 19 | @activeBackground: #FFFFFF; 20 | @activeIconColor: @darkTextColor; 21 | 22 | /* Arrow */ 23 | @arrowTopOffset: 100%; 24 | @arrowRightOffset: 50%; 25 | @arrowBorderColor: rgba(0, 0, 0, 0.2); 26 | @arrowBorderWidth: 0px 0px @borderWidth @borderWidth; 27 | -------------------------------------------------------------------------------- /wam/static/src/themes/gmail/collections/message.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/gmail/collections/message.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/gmail/collections/message.variables: -------------------------------------------------------------------------------- 1 | @background: #F3F3F3; 2 | 3 | @boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; 4 | @borderRadius: 4px; 5 | @verticalPadding: 7px; 6 | @horizontalPadding: 15px; 7 | 8 | @headerFontSize: 1em; 9 | 10 | @floatingBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2); 11 | 12 | @iconSize: 1.5em; 13 | @iconDistance: 1em; 14 | 15 | @warningBackgroundColor: #F9EDBE; 16 | -------------------------------------------------------------------------------- /wam/static/src/themes/instagram/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | 6 | @import url(http://fonts.googleapis.com/css?family=Montserrat:700,400); 7 | 8 | .ui.cards > .card, 9 | .ui.card { 10 | font-family: 'Montserrat'; 11 | font-size-adjust: 0.5; 12 | } -------------------------------------------------------------------------------- /wam/static/src/themes/instagram/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | @borderBoxShadow: none; 10 | @shadowBoxShadow: none; 11 | @boxShadow: none; 12 | 13 | 14 | @internalBorderColor: #EDEDEE; 15 | @border: 1px solid #EDEDEE; 16 | 17 | @contentPadding: 14px 20px; 18 | 19 | @metaColor: #A5A7AA; 20 | 21 | @linkHoverRaiseDistance: 0px; 22 | @linkHoverBoxShadow: none; 23 | @linkHoverBorder: 1px solid #D0D0D8; -------------------------------------------------------------------------------- /wam/static/src/themes/material/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | -------------------------------------------------------------------------------- /wam/static/src/themes/material/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @fontFamily: 'Roboto', Arial, sans-serif; 6 | @boxShadow: 0px 1px 6px rgba(0, 0, 0, 0.2); 7 | @dividerSize: 0px; 8 | 9 | @itemVerticalPadding: @relativeLarge; 10 | @itemHorizontaPadding: @relativeLarge; -------------------------------------------------------------------------------- /wam/static/src/themes/material/elements/button.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | 3 | .ui.button { 4 | min-width: 72px; 5 | } 6 | .ui.circular.button, 7 | .ui.buttons .button { 8 | min-width: 0px; 9 | } 10 | 11 | .ui.primary.button:hover { 12 | box-shadow: 13 | 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset, 14 | 0px 2px 3px 0px rgba(0, 0, 0, 0.35) !important 15 | ; 16 | } 17 | 18 | .ui.secondary.button:hover { 19 | box-shadow: 20 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset, 21 | 0px 2px 3px 0px rgba(0, 0, 0, 0.3) !important 22 | ; 23 | } -------------------------------------------------------------------------------- /wam/static/src/themes/material/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Roboto); 6 | 7 | h1.ui.header, 8 | .ui.huge.header { 9 | font-weight: normal; 10 | } 11 | 12 | h2.ui.header, 13 | .ui.large.header { 14 | font-weight: normal; 15 | } -------------------------------------------------------------------------------- /wam/static/src/themes/material/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Roboto', Arial, sans-serif; 6 | @fontWeight: normal; 7 | 8 | @iconSize: 2em; 9 | @iconOffset: 0.2em; 10 | @iconAlignment: top; 11 | 12 | @subHeaderFontSize: 1rem; 13 | 14 | 15 | /* HTML Headings */ 16 | @h1 : 2.25rem; 17 | @h2 : 2rem; 18 | @h3 : 1.75rem; 19 | @h4 : 1.5rem; 20 | @h5 : 1.25rem; 21 | 22 | -------------------------------------------------------------------------------- /wam/static/src/themes/material/globals/site.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/material/globals/site.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/material/modules/dropdown.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto:400,700); 2 | 3 | .ui.dropdown { 4 | font-family: 'Roboto'; 5 | } -------------------------------------------------------------------------------- /wam/static/src/themes/material/modules/dropdown.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @menuBorderRadius: @borderRadius; 6 | @menuBorderColor: #DADADA; 7 | @menuBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2); 8 | 9 | @menuPadding: @relative8px 0em; 10 | @itemVerticalPadding: 1em; 11 | @itemHorizontalPadding: 1.5em; 12 | 13 | @menuHeaderFontSize: @small; 14 | @menuHeaderFontWeight: bold; 15 | @menuHeaderTextTransform: none; 16 | 17 | @selectionBorderEmWidth: 0em; 18 | @selectionItemDivider: none; 19 | 20 | @labelBoxShadow: none; -------------------------------------------------------------------------------- /wam/static/src/themes/material/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | 3 | .ui.modal .header { 4 | font-family: "Roboto", Arial, Sans-serif !important; 5 | font-weight: 400 !important; 6 | } -------------------------------------------------------------------------------- /wam/static/src/themes/material/modules/modal.variables: -------------------------------------------------------------------------------- 1 | @boxShadow: 0px 10px 18px rgba(0, 0, 0, 0.22); 2 | @borderRadius: 0em; 3 | 4 | 5 | @headerBackground: @white; 6 | @headerVerticalPadding: 1.7142rem; 7 | @headerHorizontalPadding: 1.7142rem; 8 | @headerFontWeight: 400; 9 | @headerFontFamily: 'Roboto', "Helvetica Neue", Arial, sans-serif; 10 | @headerBorder: none; 11 | 12 | @contentPadding: 1rem 2rem 2rem; 13 | 14 | @actionBorder: none; 15 | @actionBackground: @white; -------------------------------------------------------------------------------- /wam/static/src/themes/pulsar/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | .ui.loader:after { 6 | -webkit-animation: loader-pulsar 2s infinite linear; 7 | animation: loader-pulsar 2s infinite linear; 8 | } 9 | 10 | @-webkit-keyframes loader-pulsar { 11 | 0% { 12 | -webkit-transform: rotate(0deg); 13 | transform: rotate(0deg); 14 | opacity: 0; 15 | } 16 | 20% { 17 | -webkit-transform: rotate(360deg); 18 | transform: rotate(360deg); 19 | } 20 | 40% { 21 | -webkit-transform: rotate(740deg); 22 | transform: rotate(740deg); 23 | opacity: 1; 24 | } 25 | 60% { 26 | -webkit-transform: rotate(1120deg); 27 | transform: rotate(1120deg); 28 | opacity: 1; 29 | } 30 | 80% { 31 | -webkit-transform: rotate(1440deg); 32 | transform: rotate(1440deg); 33 | } 34 | 100% { 35 | -webkit-transform: rotate(1800deg); 36 | transform: rotate(1800deg); 37 | opacity: 0; 38 | } 39 | } 40 | 41 | @keyframes loader-pulsar { 42 | 0% { 43 | -webkit-transform: rotate(0deg); 44 | transform: rotate(0deg); 45 | opacity: 0; 46 | } 47 | 20% { 48 | -webkit-transform: rotate(360deg); 49 | transform: rotate(360deg); 50 | } 51 | 40% { 52 | -webkit-transform: rotate(740deg); 53 | transform: rotate(740deg); 54 | opacity: 1; 55 | } 56 | 60% { 57 | -webkit-transform: rotate(1120deg); 58 | transform: rotate(1120deg); 59 | opacity: 1; 60 | } 61 | 80% { 62 | -webkit-transform: rotate(1440deg); 63 | transform: rotate(1440deg); 64 | } 65 | 100% { 66 | -webkit-transform: rotate(1800deg); 67 | transform: rotate(1800deg); 68 | opacity: 0; 69 | } 70 | } -------------------------------------------------------------------------------- /wam/static/src/themes/pulsar/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | @loaderSpeed: 2s; 6 | @loaderLineColor: @primaryColor; 7 | @invertedLoaderLineColor: @lightPrimaryColor; 8 | -------------------------------------------------------------------------------- /wam/static/src/themes/raised/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/raised/elements/button.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Button 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @backgroundColor: #F8F8F8; 10 | @backgroundImage: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); 11 | @verticalAlign: middle; 12 | @borderRadius: 0.4em; 13 | @borderBoxShadowColor: @borderColor; 14 | 15 | /* Shadow */ 16 | @shadowDistance: 0.3em; 17 | @verticalPadding: 1em; 18 | @horizontalPadding: 2em; 19 | 20 | /* transition box shadow as well */ 21 | @transition: 22 | opacity @defaultDuration @defaultEasing, 23 | background-color @defaultDuration @defaultEasing, 24 | box-shadow @defaultDuration @defaultEasing, 25 | color @defaultDuration @defaultEasing, 26 | background @defaultDuration @defaultEasing 27 | ; -------------------------------------------------------------------------------- /wam/static/src/themes/resetcss/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | /** 6 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) 7 | * http://cssreset.com 8 | */ 9 | 10 | html, body, div, span, applet, object, iframe, 11 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 12 | a, abbr, acronym, address, big, cite, code, 13 | del, dfn, em, img, ins, kbd, q, s, samp, 14 | small, strike, strong, sub, sup, tt, var, 15 | b, u, i, center, 16 | dl, dt, dd, ol, ul, li, 17 | fieldset, form, label, legend, 18 | table, caption, tbody, tfoot, thead, tr, th, td, 19 | article, aside, canvas, details, embed, 20 | figure, figcaption, footer, header, hgroup, 21 | menu, nav, output, ruby, section, summary, 22 | time, mark, audio, video { 23 | margin: 0; 24 | padding: 0; 25 | border: 0; 26 | font-size: 100%; 27 | font: inherit; 28 | vertical-align: baseline; 29 | } 30 | /* HTML5 display-role reset for older browsers */ 31 | article, aside, details, figcaption, figure, 32 | footer, header, hgroup, menu, nav, section { 33 | display: block; 34 | } 35 | body { 36 | line-height: 1; 37 | } 38 | ol, ul { 39 | list-style: none; 40 | } 41 | blockquote, q { 42 | quotes: none; 43 | } 44 | blockquote:before, blockquote:after, 45 | q:before, q:after { 46 | content: ''; 47 | content: none; 48 | } 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /wam/static/src/themes/resetcss/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /wam/static/src/themes/round/elements/button.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knownsec/wam/3101dae034344ec255c9f3dd165d2aae6b3bea95/wam/static/src/themes/round/elements/button.overrides -------------------------------------------------------------------------------- /wam/static/src/themes/rtl/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Global Overrides 3 | *******************************/ 4 | 5 | /* Import Droid Arabic Kufi */ 6 | @import 'http://fonts.googleapis.com/earlyaccess/droidarabickufi.css'; 7 | -------------------------------------------------------------------------------- /wam/static/src/themes/rtl/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Settings 3 | *******************************/ 4 | 5 | /*------------------- 6 | Fonts 7 | --------------------*/ 8 | 9 | @googleFontName : 'Droid Sans'; 10 | 11 | /* Kufi imported in site.overrides */ 12 | @headerFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif; 13 | @pageFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif; 14 | 15 | -------------------------------------------------------------------------------- /wam/static/src/themes/striped/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | .ui.progress .bar { 6 | background-size: 30px 30px; 7 | background-image: 8 | linear-gradient( 9 | 135deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, 10 | transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%, 11 | transparent 75%, transparent 12 | ) 13 | ; 14 | } 15 | 16 | .ui.progress.active .bar:after { 17 | animation: none; 18 | } 19 | .ui.progress.active .bar { 20 | animation: progress-striped 3s linear infinite; 21 | } 22 | @keyframes progress-striped { 23 | 0% { 24 | background-position: 0px 0; 25 | } 26 | 100% { 27 | background-position: 60px 0; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /wam/static/src/themes/striped/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /wam/static/src/themes/timeline/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | .ui.feed > .event .label { 6 | border-left: 3px solid #DDDDDD; 7 | } 8 | .ui.feed > .event:last-child .label { 9 | border-left-color: transparent; 10 | } 11 | 12 | .ui.feed > .event > .label { 13 | margin-left: 1.6em; 14 | } 15 | 16 | .ui.feed > .event > .label > img, 17 | .ui.feed > .event > .label > .icon { 18 | background-color: #009FDA; 19 | border-radius: 500rem; 20 | color: #FFFFFF; 21 | width: 3rem; 22 | height: 3rem; 23 | line-height: 1.5; 24 | left: -1.6rem; 25 | opacity: 1; 26 | position: relative; 27 | } 28 | -------------------------------------------------------------------------------- /wam/static/src/themes/timeline/views/feed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Feed 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | @eventMargin: 0em; 10 | @eventDivider: none; 11 | @eventPadding: 0em; 12 | 13 | /* Event Label */ 14 | @labelWidth: 3em; 15 | @labelHeight: auto; 16 | 17 | @labeledContentMargin: 0.75em 0em 2em 0.75em; 18 | 19 | /* Icon */ 20 | @iconLabelBackground: @primaryColor; 21 | @iconLabelBorderRadius: @circularRadius; 22 | @iconLabelColor: @white; 23 | 24 | /* Metadata Group */ 25 | @metadataDisplay: inline-block; 26 | @metadataMargin: 1em 0em 0em; 27 | @metadataBackground: @white @subtleGradient; 28 | @metadataBorder: 1px solid @solidBorderColor; 29 | @metadataBorderRadius: 0.25em; 30 | @metadataBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.05); 31 | @metadataPadding: 0.5em 1em; 32 | @metadataColor: rgba(0, 0, 0, 0.6); 33 | 34 | /*------------------- 35 | Variations 36 | --------------------*/ 37 | -------------------------------------------------------------------------------- /wam/static/src/themes/twitter/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.primary.button { 6 | box-shadow: 7 | 0px 0px 0px 1px #3B88C3 inset, 8 | 0 2px 0 rgba(255, 255, 255, 0.15) inset 9 | ; 10 | } 11 | .ui.primary.button > .icon { 12 | color: #FFFFFF; 13 | } 14 | -------------------------------------------------------------------------------- /wam/static/src/themes/twitter/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Global Variables 3 | --------------------*/ 4 | 5 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 6 | @textColor: #66757F; 7 | @blue: #55ACEE; 8 | 9 | /*------------------- 10 | Button Variables 11 | --------------------*/ 12 | 13 | @backgroundColor: #F5F8FA; 14 | @backgroundImage: linear-gradient(@white, @backgroundColor); 15 | @color: #66757F; 16 | @borderBoxShadowColor: #E1E8ED; 17 | 18 | @textTransform: none; 19 | @fontWeight: bold; 20 | @textColor: #333333; 21 | 22 | @horizontalPadding: 1.284em; 23 | @verticalPadding: 0.8571em; 24 | 25 | @activeBackgroundColor: rgba(0, 0, 0, 0.1); 26 | 27 | @primaryColor: @blue; 28 | @coloredBackgroundImage: @subtleGradient; 29 | 30 | 31 | /*------------------- 32 | States 33 | --------------------*/ 34 | 35 | @hoverBackgroundColor: #E1E8ED; 36 | @hoverBackgroundImage: linear-gradient(@white, @hoverBackgroundColor); 37 | @hoverColor: #292F33; 38 | 39 | @downBackgroundColor: #E1E8ED; 40 | @downColor: #292F33; 41 | @downPressedShadow: 0px 1px 4px rgba(0, 0, 0, 0.2) inset; 42 | 43 | @labeledIconBackgroundColor: rgba(85, 172, 238, 0.05); 44 | @labeledIconBorder: @borderBoxShadowColor; 45 | @labeledIconColor: #55ACEE; -------------------------------------------------------------------------------- /wam/static/tasks/README.md: -------------------------------------------------------------------------------- 1 | ## Tasks 2 | 3 | * Watch - Compile only changed files from source 4 | * Build - Build all files from source 5 | * Version - Output version number 6 | * Install - Run Installer to Set-up Paths 7 | 8 | ## How to use 9 | 10 | These tasks can be imported into your own gulpfile allowing you to avoid using Semantic's build tools 11 | 12 | ```javascript 13 | var 14 | watch = require('path/to/semantic/tasks/watch') 15 | ; 16 | gulp.task('watch ui', watch); 17 | ``` 18 | -------------------------------------------------------------------------------- /wam/static/tasks/admin/publish.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release All 3 | *******************************/ 4 | 5 | /* 6 | This task update all SUI individual component repos with new versions of components 7 | 8 | * Commits changes from create components to GitHub and Tags 9 | 10 | */ 11 | 12 | var 13 | runSequence = require('run-sequence') 14 | ; 15 | 16 | /* Release All */ 17 | module.exports = function(callback) { 18 | 19 | runSequence( 20 | 'update distributions', // commit less/css versions to github 21 | 'update components', // commit components to github 22 | callback 23 | ); 24 | 25 | }; -------------------------------------------------------------------------------- /wam/static/tasks/admin/register.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Register PM 3 | *******************************/ 4 | 5 | /* 6 | Task to register component repos with Package Managers 7 | * Registers component with bower 8 | * Registers component with NPM 9 | */ 10 | 11 | var 12 | // node dependencies 13 | process = require('child_process'), 14 | 15 | // config 16 | release = require('../config/admin/release'), 17 | 18 | // register components and distributions 19 | repos = release.distributions.concat(release.components), 20 | total = repos.length, 21 | index = -1, 22 | 23 | stream, 24 | stepRepo 25 | ; 26 | 27 | module.exports = function(callback) { 28 | 29 | console.log('Registering repos with package managers'); 30 | 31 | // Do Git commands synchronously per component, to avoid issues 32 | stepRepo = function() { 33 | index = index + 1; 34 | if(index >= total) { 35 | callback(); 36 | return; 37 | } 38 | var 39 | repo = repos[index].toLowerCase(), 40 | outputDirectory = release.outputRoot + repo + '/', 41 | exec = process.exec, 42 | execSettings = {cwd: outputDirectory}, 43 | updateNPM = 'npm publish' 44 | ; 45 | 46 | /* Register with NPM */ 47 | exec(updateNPM, execSettings, function(err, stdout, stderr) { 48 | console.log(err, stdout, stderr); 49 | stepRepo(); 50 | }); 51 | 52 | }; 53 | stepRepo(); 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /wam/static/tasks/admin/release.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release 3 | *******************************/ 4 | 5 | /* 6 | This task update all SUI individual component repos with new versions of components 7 | 8 | * Initializes repositories with current versions 9 | * Creates local files at ../distributions/ with each repo for release 10 | 11 | */ 12 | 13 | var 14 | runSequence = require('run-sequence') 15 | ; 16 | 17 | /* Release All */ 18 | module.exports = function(callback) { 19 | 20 | runSequence( 21 | //'build', // build Semantic 22 | 'init distributions', // sync with current github version 23 | 'create distributions', // update each repo with changes from master repo 24 | 'init components', // sync with current github version 25 | 'create components', // update each repo 26 | callback 27 | ); 28 | 29 | }; -------------------------------------------------------------------------------- /wam/static/tasks/build.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Build Task 3 | *******************************/ 4 | 5 | var 6 | gulp = require('gulp-help')(require('gulp')), 7 | 8 | // config 9 | config = require('./config/user'), 10 | install = require('./config/project/install') 11 | ; 12 | 13 | // add sub-tasks 14 | if(config.rtl) { 15 | require('./collections/rtl')(gulp); 16 | } 17 | require('./collections/build')(gulp); 18 | 19 | module.exports = function(callback) { 20 | 21 | console.info('Building Semantic'); 22 | 23 | if( !install.isSetup() ) { 24 | console.error('Cannot find semantic.json. Run "gulp install" to set-up Semantic'); 25 | return; 26 | } 27 | 28 | // check for right-to-left (RTL) language 29 | if(config.rtl == 'both') { 30 | gulp.start('build-rtl'); 31 | } 32 | if(config.rtl === true || config.rtl === 'Yes') { 33 | gulp.start('build-rtl'); 34 | return; 35 | } 36 | 37 | gulp.start('build-javascript'); 38 | gulp.start('build-css'); 39 | gulp.start('build-assets'); 40 | 41 | 42 | }; 43 | -------------------------------------------------------------------------------- /wam/static/tasks/build/assets.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Build Task 3 | *******************************/ 4 | 5 | var 6 | gulp = require('gulp'), 7 | 8 | // gulp dependencies 9 | chmod = require('gulp-chmod'), 10 | gulpif = require('gulp-if'), 11 | 12 | // config 13 | config = require('../config/user'), 14 | tasks = require('../config/tasks'), 15 | 16 | // shorthand 17 | globs = config.globs, 18 | assets = config.paths.assets, 19 | output = config.paths.output, 20 | source = config.paths.source, 21 | 22 | log = tasks.log 23 | ; 24 | 25 | module.exports = function(callback) { 26 | 27 | console.info('Building assets'); 28 | 29 | // copy assets 30 | return gulp.src(source.themes + '/**/assets/**/*.*') 31 | .pipe(gulpif(config.hasPermission, chmod(config.permission))) 32 | .pipe(gulp.dest(output.themes)) 33 | ; 34 | 35 | }; -------------------------------------------------------------------------------- /wam/static/tasks/check-install.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Check Install 3 | *******************************/ 4 | 5 | var 6 | // node dependencies 7 | gulp = require('gulp'), 8 | fs = require('fs'), 9 | console = require('better-console'), 10 | install = require('./config/project/install') 11 | ; 12 | 13 | // export task 14 | module.exports = function() { 15 | 16 | setTimeout(function() { 17 | if( !install.isSetup() ) { 18 | console.log('Starting install...'); 19 | gulp.start('install'); 20 | return; 21 | } 22 | else { 23 | gulp.start('watch'); 24 | } 25 | }, 50); // Delay to allow console.clear to remove messages from check event 26 | 27 | 28 | }; -------------------------------------------------------------------------------- /wam/static/tasks/clean.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Clean Task 3 | *******************************/ 4 | 5 | var 6 | del = require('del'), 7 | config = require('./config/user'), 8 | tasks = require('./config/tasks') 9 | ; 10 | 11 | // cleans distribution files 12 | module.exports = function(callback) { 13 | return del([config.paths.clean], tasks.settings.del, callback); 14 | }; -------------------------------------------------------------------------------- /wam/static/tasks/collections/README.md: -------------------------------------------------------------------------------- 1 | ## How to use 2 | 3 | These are collections of tasks that are imported together. 4 | 5 | To import them into gulp: 6 | ```javascript 7 | var 8 | gulp = require('gulp'), 9 | // modified to point to semantic folder 10 | install = require('tasks/collections/install') 11 | ; 12 | gulp = install(gulp); 13 | 14 | // tasks are now injected and ready to be used 15 | gulp.start('install'); 16 | ``` -------------------------------------------------------------------------------- /wam/static/tasks/collections/admin.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Admin Task Collection 3 | *******************************/ 4 | 5 | /* 6 | This are tasks to be run by project maintainers 7 | - Creating Component Repos 8 | - Syncing with GitHub via APIs 9 | - Modifying package files 10 | */ 11 | 12 | /******************************* 13 | Tasks 14 | *******************************/ 15 | 16 | 17 | module.exports = function(gulp) { 18 | var 19 | // less/css distributions 20 | initComponents = require('../admin/components/init'), 21 | createComponents = require('../admin/components/create'), 22 | updateComponents = require('../admin/components/update'), 23 | 24 | // single component releases 25 | initDistributions = require('../admin/distributions/init'), 26 | createDistributions = require('../admin/distributions/create'), 27 | updateDistributions = require('../admin/distributions/update'), 28 | 29 | release = require('../admin/release'), 30 | publish = require('../admin/publish'), 31 | register = require('../admin/register') 32 | ; 33 | 34 | /* Release */ 35 | gulp.task('init distributions', 'Grabs each component from GitHub', initDistributions); 36 | gulp.task('create distributions', 'Updates files in each repo', createDistributions); 37 | gulp.task('init components', 'Grabs each component from GitHub', initComponents); 38 | gulp.task('create components', 'Updates files in each repo', createComponents); 39 | 40 | /* Publish */ 41 | gulp.task('update distributions', 'Commits component updates from create to GitHub', updateDistributions); 42 | gulp.task('update components', 'Commits component updates from create to GitHub', updateComponents); 43 | 44 | /* Tasks */ 45 | gulp.task('release', 'Stages changes in GitHub repos for all distributions', release); 46 | gulp.task('publish', 'Publishes all releases (components, package)', publish); 47 | gulp.task('register', 'Registers all packages with NPM', register); 48 | 49 | }; -------------------------------------------------------------------------------- /wam/static/tasks/collections/build.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Define Sub-Tasks 3 | *******************************/ 4 | 5 | module.exports = function(gulp) { 6 | 7 | var 8 | // build sub-tasks 9 | buildJS = require('./../build/javascript'), 10 | buildCSS = require('./../build/css'), 11 | buildAssets = require('./../build/assets') 12 | ; 13 | 14 | // in case these tasks are undefined during import, less make sure these are available in scope 15 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS); 16 | gulp.task('build-css', 'Builds all css from source', buildCSS); 17 | gulp.task('build-assets', 'Copies all assets from source', buildAssets); 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /wam/static/tasks/collections/rtl.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Define Sub-Tasks 3 | *******************************/ 4 | 5 | module.exports = function(gulp) { 6 | 7 | var 8 | // rtl 9 | buildRTL = require('./../rtl/build'), 10 | watchRTL = require('./../rtl/watch') 11 | ; 12 | 13 | gulp.task('watch-rtl', 'Build all files as RTL', watchRTL); 14 | gulp.task('build-rtl', 'Watch files as RTL ', buildRTL); 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/github.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | GitHub Login 3 | *******************************/ 4 | /* 5 | Logs into GitHub using OAuth 6 | */ 7 | 8 | var 9 | fs = require('fs'), 10 | path = require('path'), 11 | githubAPI = require('github'), 12 | 13 | // stores oauth info for GitHub API 14 | oAuthConfig = path.join(__dirname, 'oauth.js'), 15 | oAuth = fs.existsSync(oAuthConfig) 16 | ? require(oAuthConfig) 17 | : false, 18 | github 19 | ; 20 | 21 | if(!oAuth) { 22 | console.log('here'); 23 | console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); 24 | } 25 | 26 | github = new githubAPI({ 27 | version : '3.0.0', 28 | debug : true, 29 | protocol : 'https', 30 | timeout : 5000 31 | }); 32 | 33 | github.authenticate({ 34 | type: 'oauth', 35 | token: oAuth.token 36 | }); 37 | 38 | module.exports = github; -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/oauth.example.js: -------------------------------------------------------------------------------- 1 | /* 2 | Used to import GitHub Auth Token 3 | To Automate GitHub Updates 4 | */ 5 | 6 | module.exports = { 7 | token : 'AN-OAUTH2-TOKEN', 8 | name : 'Your Name', 9 | email : 'user@email.com' 10 | }; -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/README.md: -------------------------------------------------------------------------------- 1 | # Semantic {Component} 2 | 3 | This repository contains pre-compiled {component} files using the default themes. This is intended for use in projects that do not need all the bells and whistles of Semantic UI, and want to keep file size to a minimum. 4 | 5 | For the latest changes please see the [Release Notes](https://github.com/Semantic-Org/UI-{Component}/blob/master/RELEASE-NOTES.md) 6 | 7 | If you're looking for the full version of Semantic including all components and build tools [check out the main project repository](https://github.com/Semantic-Org/Semantic-UI/tree/1.0) 8 | 9 | #### To install with Bower 10 | ``` 11 | bower install semantic-ui-{component} 12 | ``` 13 | 14 | #### To install with NPM 15 | ``` 16 | npm install semantic-ui-{component} 17 | ``` 18 | 19 | #### To install with Meteor 20 | ``` 21 | meteor add semantic:ui-{component} 22 | ``` 23 | 24 | 25 | ## Addendum 26 | 27 | This element's definitions (required class names, html structures) are available in the [UI Docs](http://www.semantic-ui.com) 28 | 29 | Please consider checking out [all the benefits to theming](http://www.learnsemantic.com/guide/expert.html) before using these stand-alone releases. 30 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Component", 3 | "description" : "Component distribution", 4 | "homepage" : "http://www.semantic-ui.com", 5 | "author": { 6 | "name" : "Jack Lukic", 7 | "web" : "http://www.jacklukic.com" 8 | }, 9 | "ignore": [ 10 | "./index.js" 11 | ], 12 | "keywords": [ 13 | "semantic", 14 | "ui", 15 | "css3", 16 | "framework" 17 | ], 18 | "license" : [ 19 | "http://semantic-ui.mit-license.org/" 20 | ], 21 | "ignore": [ 22 | "docs", 23 | "node", 24 | "server", 25 | "spec", 26 | "src", 27 | "test" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/component-package.js: -------------------------------------------------------------------------------- 1 | 2 | Package.describe({ 3 | name : 'semantic:ui-{component}', 4 | summary : 'Semantic UI - {Component}: Single component release', 5 | version : '{version}', 6 | git : 'git://github.com/Semantic-Org/UI-{Component}.git', 7 | }); 8 | 9 | Package.onUse(function(api) { 10 | api.versionsFrom('1.0'); 11 | api.addFiles([ 12 | {files} 13 | ], 'client'); 14 | }); 15 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "semantic/ui", 3 | "description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.", 4 | "homepage" : "http://www.semantic-ui.com", 5 | "authors": [ 6 | { 7 | "name" : "Jack Lukic", 8 | "email": "jacklukic@gmail.com", 9 | "web" : "http://www.jacklukic.com", 10 | "role" : "Creator" 11 | } 12 | ], 13 | "keywords": [ 14 | "semantic", 15 | "ui", 16 | "css", 17 | "framework" 18 | ], 19 | "license" : "MIT" 20 | } -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/css-package.js: -------------------------------------------------------------------------------- 1 | var 2 | where = 'client' // Adds files only to the client 3 | ; 4 | 5 | Package.describe({ 6 | name : 'semantic:ui-css', 7 | summary : 'Semantic UI - CSS Release of Semantic UI', 8 | version : '{version}', 9 | git : 'git://github.com/Semantic-Org/Semantic-UI-CSS.git', 10 | }); 11 | 12 | Package.onUse(function(api) { 13 | 14 | api.versionsFrom('1.0'); 15 | 16 | api.use('jquery', 'client'); 17 | 18 | api.addFiles([ 19 | // icons 20 | 'themes/default/assets/fonts/icons.eot', 21 | 'themes/default/assets/fonts/icons.svg', 22 | 'themes/default/assets/fonts/icons.ttf', 23 | 'themes/default/assets/fonts/icons.woff', 24 | 'themes/default/assets/fonts/icons.woff2', 25 | 26 | // flags 27 | 'themes/default/assets/images/flags.png', 28 | 29 | // release 30 | 'semantic.css', 31 | 'semantic.js' 32 | ], 'client'); 33 | 34 | }); 35 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/less-package.js: -------------------------------------------------------------------------------- 1 | var 2 | where = 'client' // Adds files only to the client 3 | ; 4 | 5 | Package.describe({ 6 | name : 'semantic:ui', 7 | summary : 'Semantic UI - LESS Release of Semantic UI', 8 | version : '{version}', 9 | git : 'git://github.com/Semantic-Org/Semantic-UI-LESS.git', 10 | }); 11 | 12 | Package.onUse(function(api) { 13 | 14 | api.versionsFrom('1.0'); 15 | api.use('less', 'client'); 16 | 17 | api.addFiles([ 18 | {files} 19 | ], 'client'); 20 | 21 | }); 22 | -------------------------------------------------------------------------------- /wam/static/tasks/config/admin/templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "semantic", 3 | "version": "1.0.0", 4 | "title": "Semantic UI", 5 | "description": "Semantic empowers designers and developers by creating a shared vocabulary for UI.", 6 | "homepage": "http://www.semantic-ui.com", 7 | "author": "Jack Lukic ", 8 | "license": "MIT", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/Semantic-Org/Semantic-UI.git" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/Semantic-Org/Semantic-UI/issues" 15 | }, 16 | "devDependencies": {} 17 | } 18 | -------------------------------------------------------------------------------- /wam/static/tasks/config/docs.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Docs 3 | *******************************/ 4 | 5 | /* Paths used for "serve-docs" and "build-docs" tasks */ 6 | module.exports = { 7 | base: '', 8 | globs: { 9 | eco: '**/*.html.eco' 10 | }, 11 | paths: { 12 | clean: '../docs/out/dist/', 13 | source: { 14 | config : 'src/theme.config', 15 | definitions : 'src/definitions/', 16 | site : 'src/site/', 17 | themes : 'src/themes/' 18 | }, 19 | output: { 20 | examples : '../docs/out/examples/', 21 | less : '../docs/out/src/', 22 | metadata : '../docs/out/', 23 | packaged : '../docs/out/dist/', 24 | uncompressed : '../docs/out/dist/components/', 25 | compressed : '../docs/out/dist/components/', 26 | themes : '../docs/out/dist/themes/' 27 | }, 28 | template: { 29 | eco: '../docs/server/documents/' 30 | }, 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /wam/static/tasks/config/project/release.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release Config 3 | *******************************/ 4 | 5 | var 6 | requireDotFile = require('require-dot-file'), 7 | config, 8 | package, 9 | version 10 | ; 11 | 12 | 13 | /******************************* 14 | Derived Values 15 | *******************************/ 16 | 17 | try { 18 | 19 | config = requireDotFile('semantic.json'); 20 | package = require('../../../package.json'); 21 | 22 | // looks for version in config or package.json (whichever is available) 23 | version = (config && config.version !== undefined) 24 | ? config.version 25 | : package.version 26 | ; 27 | 28 | } 29 | 30 | catch(error) { 31 | // generate fake package 32 | package = { 33 | version: 'x.x' 34 | }; 35 | } 36 | 37 | /******************************* 38 | Export 39 | *******************************/ 40 | 41 | module.exports = { 42 | 43 | title : 'Semantic UI', 44 | repository : 'https://github.com/Semantic-Org/Semantic-UI', 45 | url : 'http://www.semantic-ui.com/', 46 | 47 | banner: '' 48 | + ' /*' + '\n' 49 | + ' * # <%= title %> - <%= version %>' + '\n' 50 | + ' * <%= repository %>' + '\n' 51 | + ' * <%= url %>' + '\n' 52 | + ' *' + '\n' 53 | + ' * Copyright 2014 Contributors' + '\n' 54 | + ' * Released under the MIT license' + '\n' 55 | + ' * http://opensource.org/licenses/MIT' + '\n' 56 | + ' *' + '\n' 57 | + ' */' + '\n', 58 | 59 | version : package.version 60 | 61 | }; 62 | -------------------------------------------------------------------------------- /wam/static/tasks/config/user.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Set-up 3 | *******************************/ 4 | 5 | var 6 | // npm dependencies 7 | extend = require('extend'), 8 | fs = require('fs'), 9 | path = require('path'), 10 | requireDotFile = require('require-dot-file'), 11 | 12 | // semantic.json defaults 13 | defaults = require('./defaults'), 14 | config = require('./project/config'), 15 | 16 | // Final config object 17 | gulpConfig = {}, 18 | 19 | // semantic.json settings 20 | userConfig 21 | 22 | ; 23 | 24 | 25 | /******************************* 26 | User Config 27 | *******************************/ 28 | 29 | try { 30 | // looks for config file across all parent directories 31 | userConfig = requireDotFile('semantic.json'); 32 | } 33 | catch(error) { 34 | if(error.code === 'MODULE_NOT_FOUND') { 35 | console.error('No semantic.json config found'); 36 | } 37 | } 38 | 39 | // extend user config with defaults 40 | gulpConfig = (!userConfig) 41 | ? extend(true, {}, defaults) 42 | : extend(false, {}, defaults, userConfig) 43 | ; 44 | 45 | /******************************* 46 | Add Derived Values 47 | *******************************/ 48 | 49 | // adds calculated values 50 | config.addDerivedValues(gulpConfig); 51 | 52 | 53 | /******************************* 54 | Export 55 | *******************************/ 56 | 57 | module.exports = gulpConfig; 58 | 59 | -------------------------------------------------------------------------------- /wam/static/tasks/version.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Version Task 3 | *******************************/ 4 | 5 | var 6 | release = require('./config/project/release') 7 | ; 8 | 9 | module.exports = function(callback) { 10 | console.log(release.title + ' ' + release.version); 11 | }; -------------------------------------------------------------------------------- /wam/static/wam.js: -------------------------------------------------------------------------------- 1 | $(function(){ 2 | $(window).bind("scroll", function(){ 3 | var scrollTopNum = $(document).scrollTop(), 4 | winHeight = $(window).height(), 5 | return_top = $("div.return-top"); 6 | // 滚动条的垂直偏移大于 0 时显示,反之隐藏 7 | (scrollTopNum > 0) ? return_top.fadeIn("fast") : return_top.fadeOut("fast"); 8 | if (!-[1,]&&!window.XMLHttpRequest) { 9 | return_top.css("top", scrollTopNum + winHeight - 200); 10 | } 11 | }); 12 | $("div.return-top").click(function() { 13 | $("html, body").animate({ scrollTop: 0 }, 100); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /wam/templates/am/am_menu.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 |
7 | 8 |
9 | -------------------------------------------------------------------------------- /wam/templates/am/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}App Monitoring{% endblock %} 3 | {% block wam-container %} 4 | {% include 'am/am_menu.html' %} 5 |
6 | 7 |
8 |
9 | {% for t_diff in t_diffs %} 10 |
11 |
12 | 13 |
14 |
15 |
16 | {{ t_diff.diff.add_time | date:"Y-m-d H:i:s" }} 17 |
18 |
19 | {{ t_diff.diff.s_package.rule.vendor.name }} 发布了 {{ t_diff.diff.d_package.filename }} ({{ t_diff.diff.s_package.timestamp }}) 软件包, 20 | {% if t_diff.analysis_result.has_report %} 21 | 可能修复或存在 22 | {% for plugin, num in t_diff.analysis_result.plugins.items %} 23 | {% if num != 0 %} 24 | {{ plugin }} 29 | {% endif %} 30 | {% endfor %} 31 | 问题。 32 | {% else %} 33 | 暂未检测到可疑代码。 34 | {% endif %} 35 | Diff: {{ t_diff.diff.id }} 36 |
37 |
38 |
39 | {% endfor %} 40 |
41 |
42 | 43 |
44 | {% endblock %} 45 | -------------------------------------------------------------------------------- /wam/templates/am/vendor.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}Vendor list{% endblock %} 3 | {% block wam-container %} 4 | {% include 'am/am_menu.html' %} 5 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | {% for vendor, rules_count, diffs_count in vendors_report %} 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | {% endfor %} 32 | 33 |
VendorWebSiteRule NumberDiff All
{{ vendor.name }}{{ vendor.site }}{{ rules_count }}{{ diffs_count }}
34 |
35 | 36 | 57 | 58 | 68 | 69 | {% endblock %} 70 | -------------------------------------------------------------------------------- /wam/templates/fm/diff_list.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ vendor.name }} Diffs List{% endblock %} 3 | {% block wam-container %} 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | {% for package in packages %} 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | {% endfor %} 27 | 28 |
DatetimeRuleNameSourceUpdateOperation
{{ package.add_time }}{{ package.rule.name }}{{ package.rule.name }}{{ package.shooter_desc | default:"(N/Y)" | truncatechars:45 }} 23 | 24 |
29 |
30 | {% endblock %} 31 | -------------------------------------------------------------------------------- /wam/templates/fm/fm_menu.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 |
8 | -------------------------------------------------------------------------------- /wam/templates/fm/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}File Monitoring{% endblock %} 3 | {% block wam-container %} 4 | {% include 'fm/fm_menu.html' %} 5 |
6 | 7 |
8 |
9 | 10 | {% for fdiff in fdiffs %} 11 |
12 |
13 | 14 |
15 |
16 |
17 | {{ fdiff.add_time | date:"Y-m-d H:i:s" }} 18 |
19 | 23 |
24 |
25 | {% endfor %} 26 |
27 |
28 | 29 |
30 |
31 | 2015-10-21 11:24:01 32 |
33 | 检测到 Discuz主站JQuery jquery-1.7.2.min.js 有内容变更 34 | Diff: 12 35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 | {% endblock %} 43 | -------------------------------------------------------------------------------- /wam/templates/headers.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | 32 | 58 | -------------------------------------------------------------------------------- /wam/templates/idm/idm_menu.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 |
7 | 8 |
9 | -------------------------------------------------------------------------------- /wam/templates/settings.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}Settings{% endblock %} 3 | {% block wam-container %} 4 | {% include 'settings_menu.html' %} 5 |
6 |
7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /wam/templates/settings_menu.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 |
10 | -------------------------------------------------------------------------------- /wam/templates/vdr/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}Information Dynamic Monitoring{% endblock %} 3 | {% block wam-container %} 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | {% for vendor, rules_count, diffs_count, packs_count in vendors_report %} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | {% endfor %} 27 | 28 |
VendorWebSiteRulesDiffsPacks
{{ vendor.name }}{{ vendor.site }}{{ rules_count }}{{ diffs_count }}{{ packs_count }}
29 |
30 | {% endblock %} 31 | -------------------------------------------------------------------------------- /wam/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for wam project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "wam.settings") 12 | 13 | from django.core.wsgi import get_wsgi_application 14 | application = get_wsgi_application() 15 | --------------------------------------------------------------------------------