From 264305cb4324a6ada03d9b8fed2a73b3fb7d31e6 Mon Sep 17 00:00:00 2001 From: Amr Mokhtar Date: Tue, 26 May 2020 15:10:30 +0100 Subject: [PATCH] Merge Jekyll documentation files to OpenNESS --- 404.html | 40 +++ _data/navbars/applications-onboarding.yml | 28 ++ _data/navbars/cloud-adapters.yml | 13 + _data/navbars/core-network-4G-5G.yml | 18 ++ _data/navbars/dataplane.yml | 23 ++ _data/navbars/edge-applications.yml | 19 ++ _data/navbars/enhanced-platform-awareness.yml | 63 ++++ _data/navbars/getting-started.yml | 40 +++ _data/navbars/introduction.yml | 9 + _data/navbars/radio-access-network.yml | 8 + _data/navbars/release-history.yml | 9 + _includes/breadcrumbs.html | 10 + _includes/footer.html | 50 ++++ _includes/header.html | 71 +++++ _includes/metainfo.html | 23 ++ _includes/reading-time.html | 8 + _includes/sideNavigation.html | 43 +++ _layouts/openness.html | 228 ++++++++++++++ _layouts/openness_pdf.html | 19 ++ _layouts/pdf.html | 11 + _plugins/breadcrumbs.rb | 78 +++++ _plugins/drops/breadcrumb_item.rb | 24 ++ css/custom.css | 277 ++++++++++++++++++ css/instantsearch.min.css | 3 + doc/applications-onboard/index.html | 9 + doc/applications/index.html | 9 + doc/cloud-adapters/index.html | 9 + doc/core-network/index.html | 9 + doc/dataplane/index.html | 9 + doc/enhanced-platform-awareness/index.html | 9 + doc/getting-started/index.html | 9 + doc/getting-started/network-edge/index.html | 9 + doc/getting-started/on-premises/index.html | 9 + doc/index.html | 9 + doc/ran/index.html | 9 + index.html | 9 + js/custom.js | 80 +++++ js/instantsearch.min.js | 3 + js/searchConfig.js | 97 ++++++ 39 files changed, 1403 insertions(+) create mode 100644 404.html create mode 100644 _data/navbars/applications-onboarding.yml create mode 100644 _data/navbars/cloud-adapters.yml create mode 100644 _data/navbars/core-network-4G-5G.yml create mode 100644 _data/navbars/dataplane.yml create mode 100644 _data/navbars/edge-applications.yml create mode 100644 _data/navbars/enhanced-platform-awareness.yml create mode 100644 _data/navbars/getting-started.yml create mode 100644 _data/navbars/introduction.yml create mode 100644 _data/navbars/radio-access-network.yml create mode 100644 _data/navbars/release-history.yml create mode 100644 _includes/breadcrumbs.html create mode 100644 _includes/footer.html create mode 100644 _includes/header.html create mode 100644 _includes/metainfo.html create mode 100644 _includes/reading-time.html create mode 100644 _includes/sideNavigation.html create mode 100644 _layouts/openness.html create mode 100644 _layouts/openness_pdf.html create mode 100644 _layouts/pdf.html create mode 100644 _plugins/breadcrumbs.rb create mode 100644 _plugins/drops/breadcrumb_item.rb create mode 100644 css/custom.css create mode 100644 css/instantsearch.min.css create mode 100644 doc/applications-onboard/index.html create mode 100644 doc/applications/index.html create mode 100644 doc/cloud-adapters/index.html create mode 100644 doc/core-network/index.html create mode 100644 doc/dataplane/index.html create mode 100644 doc/enhanced-platform-awareness/index.html create mode 100644 doc/getting-started/index.html create mode 100644 doc/getting-started/network-edge/index.html create mode 100644 doc/getting-started/on-premises/index.html create mode 100644 doc/index.html create mode 100644 doc/ran/index.html create mode 100644 index.html create mode 100644 js/custom.js create mode 100644 js/instantsearch.min.js create mode 100644 js/searchConfig.js diff --git a/404.html b/404.html new file mode 100644 index 00000000..812b476f --- /dev/null +++ b/404.html @@ -0,0 +1,40 @@ +--- +layout: openness +--- + +
+
+

Page Not Found!

+

Sorry, you may not be able to visit requested page because of following reasons:

+
    +
  1. An out-of-date bookmark/favourite
  2. +
  3. A search engine that has an out-of-date listing for this site
  4. +
  5. A mistyped address
  6. +
  7. You have no access to this page
  8. +
  9. The requested resource was not found.
  10. +
  11. An error has occurred while processing your request.
  12. +
+
+
\ No newline at end of file diff --git a/_data/navbars/applications-onboarding.yml b/_data/navbars/applications-onboarding.yml new file mode 100644 index 00000000..ab50ea08 --- /dev/null +++ b/_data/navbars/applications-onboarding.yml @@ -0,0 +1,28 @@ +title: "Application Onboarding" +path: /applications-onboard/ +order: 2 +section: + - title: Network Edge Applications Onboarding + path: /doc/applications-onboard/network-edge-applications-onboarding + meta_title: OpenNESS Network Edge Application On-Boarding Process + meta_description: OpenNESS application on-boarding process for the Network Edge provides instructions on how to deploy an application from the Edge Controller to Edge Nodes in the cluster. + + - title: OnPremises Applications Onboarding + path: /doc/applications-onboard/on-premises-applications-onboarding + meta_title: OpenNESS OnPremises Mode Application On-Boarding Process + meta_description: OpenNESS application on-boarding process for the OnPremises mode provides instructions on how to deploy an application from the Edge Controller on Edge Nodes. + + - title: OpenNESS Edge DNS + path: /doc/applications-onboard/openness-edgedns + meta_title: OpenNESS Provides Edge DNS and Supports DNS Microservice + meta_description: OpenNESS edge platform is required to provides access to DNS. The edge platform receives the application DNS rules from the controller. + + - title: OpenNESS Interface Service + path: /doc/applications-onboard/openness-interface-service + meta_title: OpenNESS Applications Onboard - OpenNESS Interface Service + meta_description: OpenNESS Interface service is an application running in Kubernetes pod on every worker node of OpenNESS Kubernetes cluster and provides OVS bridge, enabling external traffic scenarios. + + - title: Using OpenNESS CNCA + path: /doc/applications-onboard/using-openness-cnca + meta_title: OpenNESS 4G/LTE Core Configuration Using CNCA + meta_description: CNCA provides a kubectl plugin to configure the 4G/LTE Core network. Kubernetes adopts plugins concepts to extend its functionality executes CNCA related functions. \ No newline at end of file diff --git a/_data/navbars/cloud-adapters.yml b/_data/navbars/cloud-adapters.yml new file mode 100644 index 00000000..6dc7a20f --- /dev/null +++ b/_data/navbars/cloud-adapters.yml @@ -0,0 +1,13 @@ +title: "Cloud Adapters" +path: /cloud-adapters/ +order: 8 +section: + - title: OpenNESS AWS Greengrass + path: /doc/cloud-adapters/openness_awsgreengrass + meta_title: OpenNESS Integration with AWS Greengrass + meta_description: OpenNESS is an open source software platform that enables easy orchestration of edge services across diverse network platform and access technologies in multi-cloud environments. + + - title: OpenNESS Baidu Cloud + path: /doc/cloud-adapters/openness_baiducloud + meta_title: OpenNESS Integration with Baidu OpenEdge + meta_description: OpenNESS can integrate with Baidu Cloud Connector, OpenEdge which is Edge IoT Gateway. Baidu Edge solution is called as Baidu® IntelliEdge. \ No newline at end of file diff --git a/_data/navbars/core-network-4G-5G.yml b/_data/navbars/core-network-4G-5G.yml new file mode 100644 index 00000000..49ced49c --- /dev/null +++ b/_data/navbars/core-network-4G-5G.yml @@ -0,0 +1,18 @@ +title: "Core Network - 4G and 5G" +path: /core-network/ +order: 4 +section: + - title: OpenNESS EPC + path: /doc/core-network/openness_epc + meta_title: OpenNESS Edge Cloud Deployment with 3GPP 4G LTE CUPS of EPC + meta_description: OpenNESS is an open source edge computing platform that enables Service Providers and Enterprises to deploy applications and services on a network edge. + + - title: OpenNESS NGC + path: /doc/core-network/openness_ngc + meta_title: OpenNESS Edge Cloud Deployment with 3GPP 5G Stand Alone + meta_description: OpenNESS NGC provides reference REST-based APIs along with 3GPP standard traffic influencing APIs to address some of these major challenges in 5G edge deployments. + + - title: OpenNESS UPF + path: /doc/core-network/openness_upf + meta_title: OpenNESS User Plane Function UPF + meta_description: User Plane Function is the evolution of Control and User Plane Separation which part of the Rel.14 in Evolved Packet core. CUPS enabled PGW to be split into PGW-C and PGW-U. \ No newline at end of file diff --git a/_data/navbars/dataplane.yml b/_data/navbars/dataplane.yml new file mode 100644 index 00000000..bb992d87 --- /dev/null +++ b/_data/navbars/dataplane.yml @@ -0,0 +1,23 @@ +title: "Dataplane" +path: /dataplane/ +order: 6 +section: + - title: OpenNESS InterAPP + path: /doc/dataplane/openness-interapp + meta_title: InterApp Communication Support in OpenNESS + meta_description: OpenNESS provides InterApp Communication support for both the On-Premises and Network edge modes of OpenNESS. + + - title: OpenNESS OVN + path: /doc/dataplane/openness-ovn + meta_title: OpenNESS Support for OVS as Dataplane with OVN + meta_description: The primary objective of supporting OVN/OVS in OpenNESS is to demonstrate the capability of using a standard dataplane like OVS for an Edge Compute platform. + + - title: OpenNESS NTS + path: /doc/dataplane/openness-nts + meta_title: OpenNESS NTS - Dataplane support for Edge Cloud between ENB and EPC Deployment + meta_description: OpenNESS NTS is a Dataplane component that provides a network traffic control service and a data forwarding service to mobile edge applications, specifically for S1-U deployments. + + - title: OpenNESS Userspace CNI + path: /doc/dataplane/openness-userspace-cni + meta_title: OpenNESS Userspace CNI, Setup Userspace CNI + meta_description: Userspace CNI is a Container Network Interface Kubernetes plugin that was designed to simplify the process of deployment of DPDK based applications in Kubernetes pods. \ No newline at end of file diff --git a/_data/navbars/edge-applications.yml b/_data/navbars/edge-applications.yml new file mode 100644 index 00000000..f8904025 --- /dev/null +++ b/_data/navbars/edge-applications.yml @@ -0,0 +1,19 @@ +title: "Edge Applications" +path: /applications/ +order: 7 +section: + - title: OpenNESS Application Guide + path: /doc/applications/openness_appguide + meta_title: Openness Application Development and Porting Guide + meta_description: OpenNESS is an open source software toolkit to enable easy orchestration of edge services across diverse network platform and access technologies in multi-cloud environments. + + - title: OpenNESS OVC + path: /doc/applications/openness_ovc + meta_title: Open Visual Cloud Smart City Application on OpenNESS + meta_description: The Open Visual Cloud is an open source project that offers a set of pre-defined reference pipelines for various target visual cloud use cases. + + - title: OpenNESS OpenVINO + path: /doc/applications/openness_openvino + meta_title: OpenVINO Sample Application in OpenNESS + meta_description: OpenVINO toolkit, short for Open Visual Inference and Neural network Optimization toolkit, provides improved neural network performance on Intel processors. + \ No newline at end of file diff --git a/_data/navbars/enhanced-platform-awareness.yml b/_data/navbars/enhanced-platform-awareness.yml new file mode 100644 index 00000000..3766be9f --- /dev/null +++ b/_data/navbars/enhanced-platform-awareness.yml @@ -0,0 +1,63 @@ +title: "Enhanced Platform Awareness" +path: /enhanced-platform-awareness/ +order: 5 +section: + - title: OpenNESS Hugepage + path: /doc/enhanced-platform-awareness/openness-hugepage + meta_title: OpenNESS Enhanced Platform Awareness - Hugepage Support on OpenNESS + meta_description: Huge page support openness, added to Kubernetes v1.8, enables the discovery, scheduling, and allocation of huge pages as a native first-class resource. + + - title: OpenNESS Node Feature Discovery + path: /doc/enhanced-platform-awareness/openness-node-feature-discovery + meta_title: Enhanced Platform Awareness - Node Feature Discovery Support in OpenNESS + meta_description: OpenNESS Node Feature Discovery is one of the Intel technologies that supports targeting of intelligent configuration and capacity consumption of platform capabilities. + + - title: OpenNESS SRIOV Multiple Interfaces + path: /doc/enhanced-platform-awareness/openness-sriov-multiple-interfaces + meta_title: Enhanced Platform Awareness - Multiple Interface And PCIe SRIOV Support in OpenNESS + meta_description: Multiple Interface and PCIe SRIOV support in OpenNESS, OpenNESS Network Edge uses the Multus container network interface is a container network interface plugin for Kubernetes. + + - title: OpenNESS Dedicated Core + path: /doc/enhanced-platform-awareness/openness-dedicated-core + meta_title: Dedicated CPU Core for Workload Support in OpenNESS - Enhanced Platform Awareness + meta_description: Multi-core COTS platforms are typical in any cloud or Cloudnative deployment. Parallel processing on multiple cores helps achieve better density. + + - title: OpenNESS BIOS + path: /doc/enhanced-platform-awareness/openness-bios + meta_title: BIOS and Firmware Configuration on OpenNESS Platform + meta_description: BIOS and Firmware are the fundamental platform configurations of a typical Commercial off-the-shelf (COTS) platform. + + - title: OpenNESS FPGA + path: /doc/enhanced-platform-awareness/openness-fpga + meta_title: FPGA in OpenNESS- Programming, Resource Allocation and Configuration + meta_description: The FPGA Programmable acceleration card plays a key role in accelerating certain types of workloads which in-turn increases the overall compute capacity of a COTS platform. + + - title: OpenNESS HDDL + path: /doc/enhanced-platform-awareness/openness_hddl + meta_title: Intel® Movidius™ Myriad™ X HDDL Solution in OpenNESS + meta_description: Intel® Movidius™ Myriad™ X HDDL solution integrates multiple Myriad™ X SoCs in a PCIe add-in card form factor or a module form factor to build a scalable, high capacity deep learning solution. + + - title: OpenNESS Topology Manager + path: /doc/enhanced-platform-awareness/openness-topology-manager + meta_title: Topology Manager Support in OpenNESS, Resource Locality Awareness + meta_description: Topology Manager is a solution permitting k8s components like CPU Manager and Device Manager, to coordinate the resources allocated to a workload. + + - title: OpenNESS Environment Variables + path: /doc/enhanced-platform-awareness/openness-environment-variables + meta_title: Environment Variable Support in OpenNESS + meta_description: Environment variables can be configured when creating a new Docker container. Once the container is running, any application located in that container can detect and use the variable. + + - title: OpenNESS Tunable EXEC + path: /doc/enhanced-platform-awareness/openness-tunable-exec + meta_title: OpenNESS Tunable Exec - Overriding the Startup Command for Container + meta_description: This feature enables you to override the start-up command for a container, thus removing the need to rebuild it just to make this change. + + - title: OpenNESS Port Forward + path: /doc/enhanced-platform-awareness/openness-port-forward + meta_title: OpenNESS Port Forward - Setting Up Port Forwarding of Container + meta_description: This feature enables the user to set up external network ports for their application (container) so that applications running on other hosts can connect. + + - title: OpenNESS Shared Storage + path: /doc/enhanced-platform-awareness/openness-shared-storage + meta_title: Shared Storage for Containers in Openness On-Prem Mode + meta_description: OpenNESS On-Prem mode provides possibility to use volume and bind mount storage models known from docker. diff --git a/_data/navbars/getting-started.yml b/_data/navbars/getting-started.yml new file mode 100644 index 00000000..4e961fd6 --- /dev/null +++ b/_data/navbars/getting-started.yml @@ -0,0 +1,40 @@ +title: "Getting Started" +path: /getting-started/ +order: 1 +section: + - title: OpenNESS Experience Kits + path: /doc/getting-started/openness-experience-kits + meta_title: OpenNESS Experience Kits Easy Setup of OpenNESS in Network Edge + meta_description: OpenNESS Experience Kits repository contains easy setup of OpenNESS in Network Edge, On-Premises modes, and playbooks deployment of the offline package. + + - title: Network Edge + path: + section: + - title: Controller Edge Node Setup + path: /doc/getting-started/network-edge/controller-edge-node-setup + meta_title: OpenNESS Network Edge - Controller and Edge Node Setup + meta_description: OpenNESS Network Edge Controller and Edge nodes must be set up on different machines and provided in the inventory may reboot during the installation. + + - title: Supported EPA + path: /doc/getting-started/network-edge/supported-epa + meta_title: OpenNESS Network Edge - Enhanced Platform Awareness Features Supported + meta_description: Enhanced Platform Awareness features supported for network edge is to expose capability to edge cloud orchestrator for better performance, consistency, and reliability. + + - title: OnPremises + path: + section: + - title: Controller Edge Node Setup + path: /doc/getting-started/on-premises/controller-edge-node-setup + meta_title: OpenNESS OnPremises - Controller and Edge Node Setup + meta_description: OpenNESS Controller and Edge Node to work together the Edge Node needs to enroll with the Controller until it is serial key recognized by the Controller. + + - title: OpenNESS Gateway + path: /doc/getting-started/on-premises/openness-gateway + meta_title: OpenNESS Gateway Feature - Supported Mode of Operation + meta_description: OpenNESS gateway features to the supported mode of operation in this case still, the only requirement being the controller is on a publicly accessible network. + + - title: Supported EPA + path: /doc/getting-started/on-premises/supported-epa + meta_title: OpenNESS OnPremises - Enhanced Platform Awareness Features Supported + meta_description: Enhanced Platform Awareness features are supported in OpenNESS OnPremises Edge using EVA APIs. OpenNESS controller UI user would use create the HTTP REST POST API. + \ No newline at end of file diff --git a/_data/navbars/introduction.yml b/_data/navbars/introduction.yml new file mode 100644 index 00000000..eec2af18 --- /dev/null +++ b/_data/navbars/introduction.yml @@ -0,0 +1,9 @@ +title: "Introduction" +path: /architecture/ +order: 0 +section: +- title: Architecture + path: /doc/architecture + meta_title: OpenNESS Architecture And Solution Overview + meta_description: OpenNESS is an open source software to enable easy orchestration of edge services and network functions across diverse network platform in multi-cloud environments. + \ No newline at end of file diff --git a/_data/navbars/radio-access-network.yml b/_data/navbars/radio-access-network.yml new file mode 100644 index 00000000..46ef8448 --- /dev/null +++ b/_data/navbars/radio-access-network.yml @@ -0,0 +1,8 @@ +title: "Radio Access Network (RAN)" +path: /ran/ +order: 3 +section: + - title: OpenNESS RAN + path: /doc/ran/openness_ran + meta_title: OpenNESS Radio Access Network is the Edge of Wireless Network + meta_description: OpenNESS Radio Access Network is the edge of the wireless network. OpenNESS Intel FlexRAN uses as a reference 4G and 5G base station for 4G and 5G end-to-end testing. \ No newline at end of file diff --git a/_data/navbars/release-history.yml b/_data/navbars/release-history.yml new file mode 100644 index 00000000..a1dfc709 --- /dev/null +++ b/_data/navbars/release-history.yml @@ -0,0 +1,9 @@ +title: "Release history" +path: /openness_releasenotes/ +order: 9 +section: +- title: OpenNESS Release Notes + path: /openness_releasenotes + meta_title: OpenNESS Release Notes + meta_description: OpenNESS Release Notes provides high level system features, issues, and limitations information for OpenNESS. + \ No newline at end of file diff --git a/_includes/breadcrumbs.html b/_includes/breadcrumbs.html new file mode 100644 index 00000000..d8b56853 --- /dev/null +++ b/_includes/breadcrumbs.html @@ -0,0 +1,10 @@ +{%- assign pagePath = page.path | remove: ".md" | prepend: "/" -%} +{%- for breadcrumb in include.section -%} + {%- if breadcrumb.section -%} + {%- include breadcrumbs.html section=breadcrumb.section -%} + {%- else -%} + {%- if pagePath == breadcrumb.path -%} + > {{breadcrumb.title}} + {%- endif -%} + {%- endif -%} +{%- endfor -%} \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 00000000..1cb6e395 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,50 @@ + + + + + + + + \ No newline at end of file diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 00000000..d7bde6b0 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,71 @@ + diff --git a/_includes/metainfo.html b/_includes/metainfo.html new file mode 100644 index 00000000..6b8de8f9 --- /dev/null +++ b/_includes/metainfo.html @@ -0,0 +1,23 @@ +{%- assign pagePath = page.path | remove: ".md" | prepend: "/" -%} +{%- assign title = page.name | replace: "-"," " | replace: "_"," " | split: ".md" | first -%} +{%- assign pageTitle = title | split: ' ' -%} +{%- capture pageTitleUpper -%}{%- for word in pageTitle -%}{{ word | capitalize }} {%- endfor -%}{%- endcapture -%} + +{%- for metainfo in include.meta -%} + {%- if metainfo.section -%} + {%- include metainfo.html meta=metainfo.section -%} + {%- else -%} + {%- if pagePath == metainfo.path -%} + {% if metainfo.meta_description != nil %} + + {% else %} + + {%- endif -%} + {% if metainfo.meta_title != nil %} + {{metainfo.meta_title}} + {% else %} + OpenNESS Documentation - {{pageTitleUpper}} + {%- endif -%} + {%- endif -%} + {%- endif -%} +{%- endfor -%} \ No newline at end of file diff --git a/_includes/reading-time.html b/_includes/reading-time.html new file mode 100644 index 00000000..420f2761 --- /dev/null +++ b/_includes/reading-time.html @@ -0,0 +1,8 @@ +{% assign words = content | number_of_words %} +{% assign readTime = words | divided_by:180 | round %} + +{% if readTime == 0 %} +{{ ' LESS THAN 1 MINUTE READ ' }} +{% else %} +{{ readTime | append: ' MINUTE READ ' }} +{% endif %} \ No newline at end of file diff --git a/_includes/sideNavigation.html b/_includes/sideNavigation.html new file mode 100644 index 00000000..8acb56f9 --- /dev/null +++ b/_includes/sideNavigation.html @@ -0,0 +1,43 @@ +{%- for item in include.sidebar -%} + + {%- if item.section -%} + {%- capture href -%}javascript:void(0){%- endcapture -%} + {%- else -%} + {%- capture href -%}{{ site.baseurl }}{{ item.path }}{%- endcapture -%} + {%- endif -%} + + + {%- if item.section -%} + +
  • + + {{item.title}} + +
  • + {%- else -%} + {%- assign pageName = page.path | prepend: "/" | replace: ".md","" -%} + + {%- if pageName == item.path -%} + {%- assign activeClass = 'active' -%} + {%- else -%} + {%- assign activeClass = '' -%} + {%- endif -%} + + {%- assign lastElement = href | split: "/" | last -%} + {%- assign pageUrl = href | remove: lastElement -%} + {%- assign pageUrl = pageUrl | split: "/" | last -%} + {%- assign pageTitle = page.path | remove: ".md" | split: "/" -%} + + {%- if pageTitle[2] == pageUrl -%} + {%- assign style = "display:block" -%} + {%- else -%} + {%- assign style = "display:none" -%} + {%- endif -%} + +
  • + {{item.title}} +
  • + {%- endif -%} +{%- endfor -%} diff --git a/_layouts/openness.html b/_layouts/openness.html new file mode 100644 index 00000000..f0c1cd70 --- /dev/null +++ b/_layouts/openness.html @@ -0,0 +1,228 @@ +{%- assign pageName = page.path | split: "/" -%} + +{%- if pageName[1] -%} +{%- assign pageName = pageName[1] | prepend: "/" | append: "/" | replace: ".md","" -%} +{%- else -%} +{%- assign pageName = pageName[0] | prepend: "/" | append: "/" | replace: ".md","" -%} +{%- endif -%} + + +{%- assign navigations = "" | split:"|" -%} +{%- for navbars_data in site.data.navbars -%} + {%- assign nav = navbars_data[1] -%} + {%- assign navigations = navigations | push: nav -%} + {%- if pageName == nav.path -%} + {% assign this_pages_navbar = nav %} + {%- else -%} + {% assign not_this_page = nav %} + {%- endif -%} +{%- endfor -%} +{%- assign navbars = navigations | sort:"order" -%} + +{%- assign title = page.name | replace: "-"," " | replace: "_"," " | split: ".md" | first -%} +{%- assign pageTitle = title | split: ' ' -%} +{%- capture pageTitleUpper -%}{%- for word in pageTitle -%}{{ word | capitalize }} {%- endfor -%}{%- endcapture -%} + + + + + + {%- for navbar in navbars -%} + {%- include metainfo.html meta=navbar.section -%} + {%- endfor -%} + + {% if site.siteurl != 'https://openness.org' %} + + {% endif %} + + + + + + + + + + + + + + + + + + + + + + {%- include header.html -%} +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +
      + {%- for navbar in navbars -%} + {%- assign navbar_id = navbar.path | replace: "/", "-" | remove_first: "-" -%} +
    • +
      {{ navbar.title }}
      + {%- assign availableMenus = navbar.section | where_exp: "item", "item.title != navbar.title" -%} + {%- assign childMenu = navbar_id | append: "menu" -%} + {%- if availableMenus -%} + + {%- endif -%} +
    • + {%- endfor -%} +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + + {% include reading-time.html %} +
    + +
    + +
    + {{ content }} +
    +
    +
    + {%- include footer.html -%} + + + + + + + + + \ No newline at end of file diff --git a/_layouts/openness_pdf.html b/_layouts/openness_pdf.html new file mode 100644 index 00000000..310ad15f --- /dev/null +++ b/_layouts/openness_pdf.html @@ -0,0 +1,19 @@ +--- + pdf: + - cache: false | directory | default:.asset-cache + page_size: A4, Letter, etc. | default:A4 + layout: layout | default:pdf + + pdf_layout: openness_pdf +--- + + + + + + + + + Page {{ page.pdf.page }} of {{ page.pdf.topage }} + + \ No newline at end of file diff --git a/_layouts/pdf.html b/_layouts/pdf.html new file mode 100644 index 00000000..9d8ebf09 --- /dev/null +++ b/_layouts/pdf.html @@ -0,0 +1,11 @@ +{% highlight html %} +{% raw %} + + + {% include head.html %} + + {{ content }} + + +{% endraw %} +{% endhighlight %} diff --git a/_plugins/breadcrumbs.rb b/_plugins/breadcrumbs.rb new file mode 100644 index 00000000..a931fbef --- /dev/null +++ b/_plugins/breadcrumbs.rb @@ -0,0 +1,78 @@ +require_relative 'drops/breadcrumb_item.rb' + +module Jekyll + module Breadcrumbs + @@config = {} + @@siteAddress = "" + @@sideAddresses = {} + + def self.clearAddressCache + @@sideAddresses = {} + end + + def self.loadAddressCache(site) + clearAddressCache + site.documents.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # collection files including posts + site.pages.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # pages + site.posts.docs.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # posts + end + + def self.addAddressItem(url, title) + key = createAddressCacheKey(url) + @@sideAddresses[key] = {:url => url, :title => title} + end + + def self.findAddressItem(path) + key = createAddressCacheKey(path) + @@sideAddresses[key] if key + end + + def self.createAddressCacheKey(path) + path.chomp("/").empty? ? "/" : path.chomp("/") + end + + def self.buildSideBreadcrumbs(side, payload) + return if side.url == @@siteAddress && root_hide + + drop = Jekyll::Drops::BreadcrumbItem + payload["breadcrumbs"] = [] + position = 0 + + path = side.url.chomp("/").split(/(?=\/)/) + -1.upto(path.size - 1) do |int| + joined_path = int == -1 ? "" : path[0..int].join + item = findAddressItem(joined_path) + if item + position += 1 + item[:position] = position + payload["breadcrumbs"] << drop.new(item) + end + end + end + + # Config + def self.loadConfig(site) + config = site.config["breadcrumbs"] || {"root" => {"hide" => false, "image" => false}} + root = config["root"] + @@config[:root_hide] = root[:hide] || false + @@config[:root_image] = root[:image] || false + end + + def self.root_hide + @@config[:root_hide] + end + + def self.root_image + @@config[:root_image] + end + end +end + +Jekyll::Hooks.register :site, :pre_render do |site, payload| + Jekyll::Breadcrumbs::loadConfig(site) + Jekyll::Breadcrumbs::loadAddressCache(site) +end + +Jekyll::Hooks.register [:pages, :documents], :pre_render do |side, payload| + Jekyll::Breadcrumbs::buildSideBreadcrumbs(side, payload) +end diff --git a/_plugins/drops/breadcrumb_item.rb b/_plugins/drops/breadcrumb_item.rb new file mode 100644 index 00000000..794a3ff0 --- /dev/null +++ b/_plugins/drops/breadcrumb_item.rb @@ -0,0 +1,24 @@ +module Jekyll + module Drops + class BreadcrumbItem < Liquid::Drop + extend Forwardable + + def initialize(side) + @side = side + end + + def position + @side[:position] + end + + def title + @side[:title] + end + + def url + @side[:url] + end + end + end + end + \ No newline at end of file diff --git a/css/custom.css b/css/custom.css new file mode 100644 index 00000000..bd5bc768 --- /dev/null +++ b/css/custom.css @@ -0,0 +1,277 @@ +*{font-family:'Montserrat';} +.container{max-width:1600px;width:95%;} +/* header css starts */ +#header{width:100%;background:transparent;min-height:80px;z-index:100;top:0;left:0;border:0} +#header .logoheader{float:left;padding:14px 0 18px} +#header .logo{float:left;padding:14px 0 18px;text-align:center;width:100%} +#header .logoheader .logo{float:left;margin-top:3px;} +#header .siteBarnd{border-bottom:0px;text-decoration:none;display:inline-block;} +#header .logoheader .siteBarnd span{display:inline-block;font-family:'Montserrat', sans-serif;font-size:24px;line-height:48px;} +#header .navigation{padding:40px 0px 0px 0px;float:right;z-index:10;} +.navbar-default{border:none} +.navbar{border:1px solid transparent;margin-bottom:0;} +.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:red;background:none} +.nav.menu.nav-pills>li>a{color:#0071c5;padding:10px 5px;background:none;border-radius:0;font-family:'Montserrat', sans-serif;font-size:16px;line-height:normal;font-weight:400;} +.navbar-default .navbar-nav>li>a{color:#000} +.navbar-default .navbar-nav>li>a:hover{color:red!important;background:none} +.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background:none;color:red} +.caret{color:#8a4c3b} +.nav.menu.nav-pills>li{position:relative;display:block;margin-left:26px} +.nav.menu.nav-pills>li>a:hover,.nav.menu.nav-pills>li>a:focus{text-decoration:none;color:#0071c5} +.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{height:auto;line-height:inherit;padding:0;margin:2px 0 0 0;float:none;display:inline-block;vertical-align:middle;} +#headerloginblock{float:right;padding-top:18px} +#headerloginblock .logoutbtn{float:right;margin:4px 0 0 15px;right:2px;text-align:center} +#headerloginblock .logoutbtn a{color:#005aa2;cursor:pointer;font-size:14px;line-height:23px;padding:0 0 0 0px;color:#fff} +#flip i, .logoutbtn i{color:#FDB813;} +.menubar{background:transparent;} +.menubar .container{width:100%;} +.menubar ul{list-style:none;padding:0px 0;margin:0;border-bottom:2px solid #ececec;} +.menubar ul li ul{border-bottom:0px solid #ececec;} +.menubar ul li{display:block;position:relative;float:left;margin:0 21px;} +.menubar ul li:first-child{margin-left:0;} +.menubar ul li:last-child{margin-right:0;} +.menubar li ul{display:none;background-color:#193f6e;padding:0;min-width:220px;width:220px;left:0px;margin-top:2px;} +.menubar ul li a,.menubar ul li span.separator{display:block;padding:0.6em 0em 0.6em 1.4em;text-decoration:none;color:#555555;text-transform:uppercase;border-bottom:2px solid #ffffff;font-weight:700;} +.menubar ul > li a, .menubar ul > li span.separator{padding:0.6em 0;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:19px;line-height:32px;} +.menubar ul > li:hover > a, .menubar ul > li:hover > span.separator, .menubar ul li span.separator:hover, .menubar ul li.active a, .menubar ul li.active span{border-bottom:5px solid #c3d241;margin-bottom:-2px;} +.menubar li:hover > ul{display:block;position:absolute;z-index:10;} +.menubar li:hover li{float:none} +.menubar li:hover a{background:none} +.menubar li:hover li a:hover{background:none} +.menubar .nav-child li:last-child a{border-bottom:none !important;} +.menubar ul ul ul{left:100%;top:0} +.menubar ul:before,.menubar ul:after{content:" ";display:table} +.menubar ul:after{clear:both} +.menubar .nav.menu li ul{border-top:0} +.menubar .nav.menu li ul li{border-top:0;margin:0;border-bottom:1px solid #3a6090;} +/*.menubar .nav.menu li ul li:nth-child(3) a, .menubar .nav.menu li:nth-child(2) ul li:nth-child(2) a{line-height:20px;}*/ +.menubar ul li.active ul li a{border:0;} +.menubar .nav.menu li ul li a{padding:11px 1em;color:#fff;font-size:14px;border:0;margin-bottom:0;line-height:22px;} +.nav>li>a:focus, .nav>li>a:hover{text-decoration:none;background:transparent;} +.menubar .nav.menu > li.parent > a:after{font-family:"FontAwesome";content:"\f107";position:absolute;right:-15px;top:10px;color:#555;} +.menubar .nav.menu li ul li a:hover{border:0;background-color:rgba(255, 255, 255, 0.1);} +.menubar .nav.menu > li:nth-child(5) ul.nav-child, .menubar .nav.menu > li:last-child ul.nav-child{left:auto;right:0} +#header .logo,#header .logoheader{padding:14px 0 18px;float:left;} +#header .logoheader .navbar-brand img{width:280px;height:auto;max-width:100%;} +header{width:100%;position:fixed;z-index:999;} +header .logo{margin:25px 0 20px;} +.nav-mobile{cursor:pointer;width:35px;position:absolute;top:-70px;right:0px;} +.nav-mobile [class^="hamb-"]{background-color:#555;height:3px;display:block;} +.nav-mobile span + span{margin-top:7px;} +.social-down{display:none;} +/* header css ends */ + +.leftSection{width:350px;float:left;padding-right:20px;margin-top:30px;margin-bottom:30px;} +.searchBar{position:relative;text-align:right;margin-bottom:20px;} +.searchBar .searchIcon{position:absolute;width:20px;height:auto;opacity:0.6;right:15px;margin-top:-27px;} +.searchBar .srchText{font-size:14px;} + +.collapseArea{padding:0;margin:0;} +.collapseArea li:first-child .collaspeHead{color:#f69432;} +.collapseArea li:first-child .collaspeContent{color:#f69432;} +.collapseArea li{list-style-type:none;border-radius:5px;margin-bottom:7px;line-height:1.6;} +.collapseArea li a{color:#193f6e;font-size:16px;} +.collapseArea li.active a{/*color:#c2d32f;*/color:#a1b11d;} +.collapseArea li i{margin-right:5px;font-size:18px;color:#f69432;top:-1px;position:relative;} +.collapseArea > li{border:1px solid #ccc;} +.collapseArea > li > .collaspeHead{color:#193f6e;font-weight:bold;background-color:#eee;padding:5px 10px;border-bottom:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;font-size:16px;cursor:pointer;} +.collapseArea > li > .collaspeContent{padding:10px 15px;font-size:16px;} +.collapseArea > li > .collaspeContent > ul{padding:0;margin:0;} + +.rightSection{width:calc(100% - 350px);float:right;margin-top:30px;margin-bottom:30px;} +.rightSection code{ word-break:break-word;} +.rightHead{width:100%;background-color:#eee;overflow:hidden;padding:10px 15px;} +.rightHead *{font-size:14px;} +.rightHead .editLink{text-decoration:underline;} +.rightSection h1{font-size:28px;font-weight:600;} +.rightSection h2{font-size:20px;font-weight:600;} +.rightSection p, .rightSection ul li{font-size:16px;} +hr{margin-top:10px;} +.rightSection table{width:100%;display:block;overflow:auto;} +.rightSection > ul > li{list-style-type:disc;} +.rightSection > ul > li > ul > li{list-style-type:circle;} +.rightSection table td, .rightSection table th{padding:6px 12px;border:1px solid #dfe2e5;} +.rightSection table tr:nth-child(2n){background-color:#f6f8fa;} + .rightSection .contentArea img{width:auto;max-width:100%;} +#footer{border-top:1px solid #ccc;} + +/* footer css starts */ +#footer{width:100%;background:#ffffff;padding-top:2px;padding-bottom:2px;bottom:0;left:0} +#footer .ftrleft{float:left} +#footer .ftrleft>ul{margin:0;padding:0} +#footer .ftrleft>ul>li{list-style-type:none;margin-left:0;display:inline-block;color:#fff;font-size:13px;padding:10px 5px 10px 0} +#footer .ftrleft>ul>li:first-child{padding-right:32px} +#footer .ftrleft>ul>li>a{text-decoration:none;color:#fff;border-top:0;font-size:13px;line-height:18px} +#footer .ftrleft>ul>li>a:hover{color:#fff;text-decoration:none} +#footer .footer-link{float:left;padding:10px 0;width:100%;text-align:center;} +#footer .footer-link>ul{margin:0;padding:0;float:none} +#footer .footer-link>ul>li{list-style-type:none;display:inline-block;color:#555555;font-weight:300;font-size:18px;} +#footer .footer-link>ul>li>a{text-decoration:none;color:#555555;outline:0;display:inline-block} +#footer .footer-link>ul>li:last-child>a{padding-right:0} +#footer .footer-link>ul>li>a:focus,#footer .footer-link>ul>li>a:hover{color:#00aeef;text-decoration:none;background:0 0} +#footer .footer-link>ul>li:after{content:"|";width:25px;text-align:center;display:inline-block} +#footer .footer-link>ul>li:last-child:after{content:"";width:0} +#footer .social-link{margin:0;text-align:right;} +#footer .footer-link a, footer .social-link a{color:#555;display:inline-block;padding:20px 0;} +#footer .footer-link a:first-child{padding-left:0;} +#footer .social-link a i{font-size:28px;} +/* footer css ends */ +@media (max-width:1366px){ +/*.container{width:98%;}*/ +.menubar ul > li a, .menubar ul > li span.separator{font-size:16px;} +.menubar ul li{margin:0 17px;} +} +@media (max-width:1199px){ +.leftSection{width:300px;} +.rightSection{width:calc(100% - 300px);} +.navbar-brand > img{max-width:90%;} +.menubar ul li a{font-size:13px;} +.menubar ul li{margin:0 14px;} +} +@media (max-width:1024px){ +.menubar ul li{margin:0 12px;} +.menubar ul li a{font-size:13px;} +} +@media (max-width:991px){ +#header > .container{padding-left:10px;padding-right:10px;} +.menubar .nav.menu > li.parent > a:after{right:-8px;font-size:10px;top:9px;} +.menubar ul li{margin:0 8px;} +.menubar ul li a{font-size:12px;} +.menubar > .container{width:100%;} +.navbar-brand > img{max-width:100%;} +#header .navigation{padding-top:30px;} +.leftSection{width:250px;} +.rightSection{width:calc(100% - 250px);} +.menubar .nav.menu li ul li a{font-size:12px;} +} +@media (max-width:768px){ +.quickLinkBtn{background-color:#f69432;color:#fff;display:block!important;max-width:115px;margin-bottom:20px;cursor:pointer;padding:10px 15px;float:right;} +#header{height:100px;} +#header .logoheader .navbar-brand img{width:200px;} +#header{min-height:50px;} +#header .logoheader{padding:0px;padding-left:0px;margin-bottom:-70px;} +#headerloginblock{padding-top:10px;} +#header .logoheader .navbar-brand{display:inline-block;} +#header .navigation{border:0;margin:0;} +.menubar ul li{width:100%;float:none;} +.menubar ul li:nth-child(2){border:none;} +.menubar .nav.menu li ul.nav-child{position:static;width:100%;} +.menubar .nav.menu > li:hover ul.nav-child{position:static;display:none;} +.menubar ul li span.separator{cursor:pointer;} +.menubar .nav.menu li ul.nav-child{box-shadow:none;} +.menubar .nav.menu > li > ul > li:before{font-family:"FontAwesome";content:"\f105";position:absolute;left:5px;top:6px;color:#fff;} +.menubar .nav.menu > li.parent .social-down{font-family:"FontAwesome";content:"\f107";position:absolute;right:6px;top:8px;color:#fff;width:50px;text-align:right;cursor:pointer;font-size:19px;display:block;} +.menubar{position:absolute;left:0px;top:-70px;right:0;box-shadow:inherit;margin-bottom:0px;} +.menubar > .container{padding:0px;} +.nav-mobile{display:block;top:-35px;right:10px;} +.nav-mobile i{font-size:18px;} +.menubar ul li{width:100%;float:none;} +.menubar ul li:nth-child(2){border:none;} +.opennessmenu{display:none;width:340px;background-color:#193f6e;max-width:calc(100% - 20px);} +.menubar .nav.menu li ul.nav-child{position:static;width:100%;} +.menubar .nav.menu > li:hover ul.nav-child{position:static;display:none;} +.menubar ul li span.separator{cursor:pointer;} +.menubar .nav.menu li ul.nav-child{box-shadow:none;} +.menubar .nav.menu > li > ul > li:before{font-family:"FontAwesome";content:"\f105";position:absolute;left:5px;top:6px;color:#fff;} +.menubar .nav.menu > li.parent .social-down{font-family:"FontAwesome";content:"\f107";position:absolute;right:6px;top:8px;color:#fff;width:50px;text-align:right;cursor:pointer;font-size:19px;display:block;} +.menubar .nav.menu > li.parent > a:after{display:none;} +.menubar{position:absolute;left:0px;top:50px;right:0;box-shadow:inherit;margin-bottom:0px;} +.menubar > .container{padding:0px;} +.menubar .opennessmenu{padding-right:15px;padding-left:15px;float:right;} +.menubar ul{border-bottom:0px solid #ececec;} +.menubar .nav.menu li span.separator, .menubar .nav.menu li a{padding-left:0px;margin-left:0;margin-bottom:0;border-bottom:1px solid transparent;color:#fff;} +.menubar .nav.menu li ul.nav-child li a{border-bottom:none;padding:0.4em 0px 0.4em 20px;} +.menubar .nav.menu li ul.nav-child li{position:relative;} +.menubar .nav.menu > li{border-bottom:1px solid #3a6090;margin:0;} +#header .logoheader .navbar-brand{} +.menubar ul li{margin:0;} +.menubar ul li a{font-size:16px;padding:10px 0;} +.menubar ul li > a{padding:10px 0;} +.menubar ul li a:hover, .menubar ul li span.separator:hover{border-bottom:1px solid #c3d241;margin-bottom:0;} +#header .row [class^="col-"]{width:100% !important;} +#header > .container{padding-left:15px;padding-right:15px;} + +.leftSection{padding-right:0;} +.leftSection, .rightSection{width:100%;float:none;} +.collapseArea{margin-top:60px;clear:both;display:none;} +#footer .footer-link a, footer .social-link a{padding:7px 0;} +#footer .footer-link>ul>li, #footer .footer-link>ul>li>.separator, #footer .footer-link>ul>li>a{font-size:16px;} +#footer .footer-link>ul>li:first-child:after{display:none;} +#footer .footer-link>ul>li:first-child{display:block;text-align:center;} +} +@media (max-width:479px){ +#header .logoheader .navbar-brand img{} +} +@media (min-width:769px){ +.menubar li:hover > ul{display:block!important;position:absolute;} +.nav-mobile{display:none;} +.opennessmenu{display:block !important;width:auto;} +.menubar li ul{display:none !important;} +.menubar li:hover > ul{display:block!important;position:absolute;} +} + +/* menu bar css starts */ +@media (max-width:1679px){ +.menubar ul > li a, .menubar ul > li span.separator{font-size:18px;} +} +@media (max-width:1600px){#section1 .intro{width:60%;} +.menubar ul li{margin:0 14px;} +.menubar ul > li a, .menubar ul > li span.separator{font-weight:600;font-size:16px;} +} +@media (max-width:1400px){#section1 .intro h1{font-size:3em;} +#section1 .intro{width:65%;} +.menubar ul li a{font-size:14px;} +} +@media (max-width:1300px){.menubar ul li{margin:0 17px;} +.menubar ul li a{font-size:14px;font-weight:500;} +} +@media (max-width:1280px){.container{width:98%;} +.menubar ul li{margin:0 17px;} +.menubar .nav.menu > li.parent > a:after{right:-13px;} +} +@media (min-width:769px) and (max-width:1199px){ +.menubar ul li a{font-size:13px;} +.navbar-brand > img{max-width:90%;} +.menubar .nav.menu > li.parent > a:after{top:9px;} +.navbar-header, .navbar-header + .col-lg-9{width:auto;} +.navbar-header + .col-lg-9{float:right;} +#header .logoheader .navbar-brand img{max-width:20vw;} +#header .navigation{padding-top:32px;} +.menubar ul li{margin:0 11px;} +} +@media (min-width:769px) and (max-width:1023px){ +.menubar .container{padding:0;} +.menubar ul li{margin:0 11px;} +#header .navigation{padding-top:27px;} +} +@media (min-width:769px) and (max-width:991px){ +.menubar ul li{margin:0 7px;} +.menubar ul li a{font-size:11.5px;} +.menubar .nav.menu > li.parent > a:after{right:-8px;} +} +@media (min-width:769px) and (max-width:850px){ +.navbar-header + .col-lg-9{padding-left:0;} +.menubar ul li{margin:0 7px;} +.menubar ul li a{font-size:10.5px;} +.menubar .nav.menu > li.parent > a:after{top:5px;right:-8px;} +#header .navigation{padding-top:25px;} +} +@media (min-width:769px) and (max-width:850px){ +.tabRest{display:none!important;} +.tabOnly{display:block!important;} +} +.collaspeContent ul:not(.parent) > li{ display: block!important;} +.rightSection .contentArea .language-text .highlight{display: none!important;} +.rightSection .read-time { margin-top: 10px; margin-left: 10px; color: #666; font-size: 16px; } +.rightSection .download-pdf { margin-top: 10px; margin-right: 10px; color: #666; font-size: 16px; } +.output-section{display: none;} +@-moz-document url-prefix() { +.ais-search-box--magnifier svg,.ais-search-box--reset-wrapper svg { margin: 5px;} +} +.ais-search-box{max-width: 330px!important;} +.container .leftSection .collapseArea{padding-top: 12px;} +.container .leftSection .searchBar-section .popover .popover-content .ais-hits--item{ margin-top: 7px; } +.container .leftSection .searchBar-section .popover .popover-content .ais-hits--item .search-item a{ color: #666; } +.container .leftSection .searchBar-section .popover .popover-content .ais-hits--item .search-item a:hover{ color: #23527c!important; } +.container .leftSection .searchBar-section .popover{ max-width: 300px; } +/* menu bar css ends */ \ No newline at end of file diff --git a/css/instantsearch.min.css b/css/instantsearch.min.css new file mode 100644 index 00000000..bae730ae --- /dev/null +++ b/css/instantsearch.min.css @@ -0,0 +1,3 @@ +/*! instantsearch.js 2.7.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js */ +@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.ais-search-box{position:relative;max-width:300px;width:100%}.ais-search-box--input{padding-left:24px;height:100%;width:100%}.ais-search-box--magnifier{top:4px;left:7px}.ais-search-box--magnifier svg{display:block}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier,.ais-search-box--reset{background:0 0;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ais-search-box--loading-indicator-wrapper{display:none;left:7px;top:4px}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{vertical-align:middle;height:14px;width:14px}.ais-search-box--reset{cursor:pointer;top:5px;right:5px;margin:0;border:0;padding:0}.ais-search-box--reset svg{display:block;width:12px;height:12px}.ais-search-box--powered-by{font-size:.8em;text-align:right;margin-top:2px}.ais-search-box--powered-by-link{display:inline-block;width:45px;height:16px;text-indent:101%;overflow:hidden;white-space:nowrap;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-size:contain;vertical-align:middle}.ais-search-box.ais-stalled-search .ais-search-box--magnifier-wrapper{display:none}.ais-search-box.ais-stalled-search .ais-search-box--loading-indicator-wrapper{display:block}.sbx-sffv{display:inline-block;position:relative;width:100%;height:26px;white-space:nowrap;box-sizing:border-box;font-size:14px}.sbx-sffv__input,.sbx-sffv__wrapper{width:100%;height:100%}.sbx-sffv__input{display:inline-block;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #ccc;background:#fff;padding:0 20px 0 26px;vertical-align:middle;white-space:normal;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sbx-sffv__input::-webkit-search-cancel-button,.sbx-sffv__input::-webkit-search-decoration,.sbx-sffv__input::-webkit-search-results-button,.sbx-sffv__input::-webkit-search-results-decoration{display:none}.sbx-sffv__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.sbx-sffv__input:active,.sbx-sffv__input:focus{outline:0;box-shadow:inset 0 0 0 1px #337ab7;background:#fff}.sbx-sffv__input::-webkit-input-placeholder{color:#bbb}.sbx-sffv__input:-ms-input-placeholder,.sbx-sffv__input::-ms-input-placeholder{color:#bbb}.sbx-sffv__input::placeholder{color:#bbb}.sbx-sffv__submit{position:absolute;top:0;right:inherit;left:0;margin:0;border:0;border-radius:3px 0 0 3px;background-color:transparent;padding:0;width:26px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sbx-sffv__submit::before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:''}.sbx-sffv__submit:active,.sbx-sffv__submit:hover{cursor:pointer}.sbx-sffv__reset:focus,.sbx-sffv__submit:focus{outline:0}.sbx-sffv__submit svg{width:14px;height:14px;vertical-align:middle;fill:#337ab7}.sbx-sffv__reset{display:none;position:absolute;top:2px;right:2px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.sbx-sffv__reset svg{display:block;margin:4px;width:14px;height:14px}.sbx-sffv__input:valid~.sbx-sffv__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}.ais-refinement-list--item em{font-style:normal;font-weight:700}.ais-pagination--item{display:inline-block;padding:3px}.ais-pagination--item__disabled{visibility:hidden}.ais-hierarchical-menu--list__lvl1,.ais-hierarchical-menu--list__lvl2{margin-left:10px}.ais-range-input--fieldset{margin:0;padding:0;border:0}.ais-range-input--labelMin{display:inline-block}.ais-range-input--inputMin{min-width:165px}.ais-range-input--inputMax:hover:disabled,.ais-range-input--inputMin:hover:disabled{cursor:not-allowed}.ais-range-input--separator{margin:0 5px}.ais-range-input--labelMax{display:inline-block}.ais-range-input--inputMax{min-width:165px}.ais-range-input--submit{margin-left:5px}.ais-range-input--submit:disabled,.ais-range-input--submit:hover:disabled{cursor:not-allowed;background-color:#c9c9c9}.ais-range-slider .ais-range-slider--disabled{cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .ais-range-slider--handle{border-color:#ddd;cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .rheostat-horizontal .rheostat-progress{background-color:#ddd}.ais-range-slider .rheostat{overflow:visible;margin-top:2em;margin-bottom:2em}.ais-range-slider .rheostat-background{background-color:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-left:2px solid #ddd;border-right:2px solid #ddd;position:relative}.ais-range-slider .rheostat-horizontal .rheostat-background{height:6px;top:0;width:100%}.ais-range-slider .rheostat-horizontal .rheostat-progress{background-color:#46aeda;position:absolute;height:4px;top:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle{margin-left:-12px;top:-7px}.ais-range-slider .rheostat-horizontal .rheostat-handle .ais-range-slider--tooltip{text-align:center;margin-left:-10px;width:40px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after,.ais-range-slider .rheostat-horizontal .rheostat-handle::before{top:7px;height:10px;width:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle::before{left:10px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after{left:13px}.ais-range-slider--handle{width:20px;height:20px;position:relative;z-index:1;background:#fff;border:1px solid #46aeda;border-radius:50%;cursor:pointer}.ais-range-slider--tooltip{position:absolute;background:#fff;top:-22px;font-size:.8em}.ais-range-slider--value{width:40px;position:absolute;text-align:center;margin-left:-20px;padding-top:15px;font-size:.8em}.ais-range-slider--marker{position:absolute;background:#ddd;margin-left:-1px;width:1px;height:5px}.ais-star-rating--item{vertical-align:middle}.ais-star-rating--item__active{font-weight:700}.ais-star-rating--star,.ais-star-rating--star__empty{display:inline-block;width:1em;height:1em}.ais-star-rating--star::before{content:'\2605';color:#fbae00}.ais-star-rating--star__empty::before{content:'\2606';color:#fbae00}.ais-star-rating--link__disabled .ais-star-rating--star::before,.ais-star-rating--link__disabled .ais-star-rating--star__empty::before{color:#c9c9c9}.ais-root__collapsible .ais-header{cursor:pointer}.ais-root__collapsed .ais-body,.ais-root__collapsed .ais-footer{display:none}.ais-breadcrumb--home,.ais-breadcrumb--label,.ais-breadcrumb--separator{display:inline;color:#3369e7}.ais-breadcrumb--item{display:inline}.ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-geo-search,.ais-geo-search--map{height:100%}.ais-geo-search--toggle-label{display:flex;align-items:center} +/*# sourceMappingURL=instantsearch.min.css.map */ \ No newline at end of file diff --git a/doc/applications-onboard/index.html b/doc/applications-onboard/index.html new file mode 100644 index 00000000..033e381c --- /dev/null +++ b/doc/applications-onboard/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/applications/index.html b/doc/applications/index.html new file mode 100644 index 00000000..023cf961 --- /dev/null +++ b/doc/applications/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/cloud-adapters/index.html b/doc/cloud-adapters/index.html new file mode 100644 index 00000000..b3ac6484 --- /dev/null +++ b/doc/cloud-adapters/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/core-network/index.html b/doc/core-network/index.html new file mode 100644 index 00000000..5f80a668 --- /dev/null +++ b/doc/core-network/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/dataplane/index.html b/doc/dataplane/index.html new file mode 100644 index 00000000..8287413e --- /dev/null +++ b/doc/dataplane/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/enhanced-platform-awareness/index.html b/doc/enhanced-platform-awareness/index.html new file mode 100644 index 00000000..e13d9072 --- /dev/null +++ b/doc/enhanced-platform-awareness/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/getting-started/index.html b/doc/getting-started/index.html new file mode 100644 index 00000000..c8abdbef --- /dev/null +++ b/doc/getting-started/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/getting-started/network-edge/index.html b/doc/getting-started/network-edge/index.html new file mode 100644 index 00000000..fdfee600 --- /dev/null +++ b/doc/getting-started/network-edge/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/getting-started/on-premises/index.html b/doc/getting-started/on-premises/index.html new file mode 100644 index 00000000..fdfee600 --- /dev/null +++ b/doc/getting-started/on-premises/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 00000000..155c4cc4 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/doc/ran/index.html b/doc/ran/index.html new file mode 100644 index 00000000..db01b120 --- /dev/null +++ b/doc/ran/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/index.html b/index.html new file mode 100644 index 00000000..385990ba --- /dev/null +++ b/index.html @@ -0,0 +1,9 @@ +--- +title: OpenNESS Documentation +description: Home +layout: openness +--- +

    You are being redirected to the OpenNESS Docs.

    + diff --git a/js/custom.js b/js/custom.js new file mode 100644 index 00000000..45777479 --- /dev/null +++ b/js/custom.js @@ -0,0 +1,80 @@ +jQuery(document).ready(function(){ + + var url = jQuery(location).attr('href').split("/").reverse()[2]; + if(typeof url != 'undefined' && url != ''){ + jQuery('li.'+url).parent('ul.parent').siblings('i').addClass('fa-angle-down').removeClass('fa-angle-right'); + jQuery('li.'+url).css('display','block'); + jQuery('li.'+url).parent('ul.parent').addClass('visible'); + //jQuery('.collaspeContent ul:not(.parent)').children('li').css('display','block'); + } + + + jQuery('.collaspeContent li').each(function(){ + if(jQuery(this).find('ul').length <= 0){ + jQuery(this).find('i').hide(); + } + }); + + jQuery('.collaspeHead').on('click', function(){ + if(jQuery(this).next('.collaspeContent').is(':visible')){ + jQuery(this).next('.collaspeContent').slideUp(); + } + else{ + jQuery(this).children('ul').removeAttr('style'); + jQuery('.collaspeContent').slideUp(); + jQuery(this).next('.collaspeContent').slideDown(); + } + }); + + jQuery('.quickLinkBtn').on('click', function(){ + jQuery('.collapseArea').slideToggle(); + }); + jQuery('.nav-mobile').on('click', function(){ + jQuery('.opennessmenu').slideToggle(); + }); + + + jQuery('.collaspeContent ul li a').click('on',function(e){ + if(jQuery(this).parent('li').hasClass('with-section')){ + if(jQuery(this).parent('li').children('ul').hasClass('visible')){ + jQuery(this).siblings('ul').removeClass('visible'); + jQuery(this).siblings('i').removeClass('fa-angle-down').addClass('fa-angle-right'); + jQuery(this).siblings('ul').find('li').slideUp(); + }else{ + jQuery(this).siblings('ul').addClass('visible'); + jQuery(this).siblings('i').removeClass('fa-angle-right').addClass('fa-angle-down'); + jQuery(this).siblings('ul').find('li').slideDown(); + } + return false; + } + + /*if(jQuery(this).children('a:first').attr('href') == 'javascript:void(0)'){ alert('3'); + e.stopPropagation(); + e.preventDefault(); + e.stopImmediatePropagation(); + }else{ alert('4'); + // document.location.href=jQuery(this).children('a').attr('href'); + return false; + }*/ + }); + + + +}); +if(jQuery(window).width() <= 768 ){ + jQuery(window).on("resize load",function(){ + if (jQuery(window).width() <= 768 ){ + jQuery('.social-down').remove(); + jQuery('.parent').append(''); + jQuery('.social-down').click(function(){ + if(jQuery(this).parent().find(".nav-child").is(':visible')){ + jQuery('.social-down').prev('.nav-child').slideUp(); + } + else{ + jQuery('.social-down').prev('.nav-child').slideUp(); + jQuery(this).parent().find(".nav-child").slideDown(500); + } + }); + } + }); +}; \ No newline at end of file diff --git a/js/instantsearch.min.js b/js/instantsearch.min.js new file mode 100644 index 00000000..9cf7298a --- /dev/null +++ b/js/instantsearch.min.js @@ -0,0 +1,3 @@ +/*! instantsearch.js 2.7.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js */ +!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.instantsearch=t():e.instantsearch=t()}("undefined"!==typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=215)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0}function s(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function u(e){return function(t,n){return t&&!n?e+"--"+t:t&&n?e+"--"+t+"__"+n:!t&&n?e+"__"+n:e}}function c(e){var t=e.transformData,n=e.defaultTemplates,r=e.templates,a=e.templatesConfig,i=l(n,r);return x({transformData:t,templatesConfig:a},i)}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,U.default)([].concat(a((0,I.default)(e)),a((0,I.default)(t))));return(0,C.default)(n,function(n,r){var a=e[r],i=t[r],o=void 0!==i&&i!==a;return n.templates[r]=o?i:a,n.useCustomCompileOptions[r]=o,n},{templates:{},useCustomCompileOptions:{}})}function f(e){var t=e.templates,n=e.templateKey,r=e.compileOptions,a=e.helpers,i=e.data,o=t[n],s="undefined"===typeof o?"undefined":S(o),u="string"===s,c="function"===s;if(!u&&!c)throw new Error("Template must be 'string' or 'function', was '"+s+"' (key: "+n+")");if(c)return o(i);var l=d(a,r,i);return K.default.compile(o,r).render(x({},i,{helpers:l}))}function d(e,t,n){return(0,Q.default)(e,function(e){return(0,W.default)(function(r){var a=this,i=function(e){return K.default.compile(e,t).render(a)};return e.call(n,r,i)})})}function p(e,t,n,r,a){var i={type:t,attributeName:n,name:r},o=(0,N.default)(a,{name:n}),s=void 0;if("hierarchical"===t){var u=e.getHierarchicalFacetByName(n),c=r.split(u.separator);i.name=c[c.length-1];for(var l=0;void 0!==o&&l2&&void 0!==arguments[2]&&arguments[2],r=e;return n&&(r=r.setQuery("")),(0,L.default)(t)?(r=r.clearTags(),r=r.clearRefinements()):((0,E.default)(t,function(e){r="_tags"===e?r.clearTags():r.clearRefinements(e)}),r)}function v(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.setState(m(e.state,t,n)).search()}function g(e,t){if(t)return(0,B.default)(t,function(t,n){return e+n})}function y(e){return"number"===typeof e&&e<0&&(e=String(e).replace(/^-/,"\\-")),e}function b(e){return String(e).replace(/^\\-/,"-")}function _(e,t){if(void 0===e||"function"!==typeof e)throw new Error(t)}function w(e){return"object"===("undefined"===typeof e?"undefined":S(e))&&null!==e&&e.$$typeof===$}function P(e,t){var n=!1;return function(){return n||(n=!0,console.warn("[InstantSearch.js]: "+t)),e.apply(void 0,arguments)}}function R(e){var t=e.match(J);if(!t)throw new Error('Invalid value for "aroundLatLng" parameter: "'+e+'"');return{lat:parseFloat(t[1]),lng:parseFloat(t[2])}}Object.defineProperty(t,"__esModule",{value:!0}),t.parseAroundLatLngFromString=t.deprecate=t.isReactElement=t.checkRendering=t.unescapeRefinement=t.escapeRefinement=t.prefixKeys=t.clearRefinementsAndSearch=t.clearRefinementsFromState=t.getRefinements=t.isDomElement=t.isSpecialClick=t.renderTemplate=t.prepareTemplateProps=t.bemHelper=t.getContainerNode=void 0;var S="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x=Object.assign||function(e){for(var t=1;t0;)n[r]=arguments[r+2];if(!g(e))return e;var a=e.attributes||e.props,i=Object(U.c)(e.nodeName||e.type,w({},a),e.children||a&&a.children),o=[i,t];return n&&n.length?o.push(n):t&&t.children&&o.push(t.children),m(U.b.apply(void 0,o))}function g(e){return e&&(e instanceof $||e.$$typeof===V)}function y(e,t){return t._refProxies[e]||(t._refProxies[e]=function(n){t&&t.refs&&(t.refs[e]=n,null===n&&(delete t._refProxies[e],t=null))})}function b(e){var t=e.nodeName,n=e.attributes;if(n&&"string"===typeof t){var r={};for(var a in n)r[a.toLowerCase()]=a;if(r.ondoubleclick&&(n.ondblclick=n[r.ondoubleclick],delete n[r.ondoubleclick]),r.onchange&&("textarea"===t||"input"===t.toLowerCase()&&!/^fil|che|rad/i.test(n.type))){var i=r.oninput||"oninput";n[i]||(n[i]=F([n[i],n[r.onchange]]),delete n[r.onchange])}}}function _(e){var t=e.attributes||(e.attributes={});re.enumerable="className"in t,t.className&&(t.class=t.className),Object.defineProperty(t,"className",re)}function w(e,t){for(var n=arguments,r=1,a=void 0;r0&&(n=d.default.createElement(t,u({},this.props,{depth:this.props.depth+1,facetValues:e.data})));var r=this.props.createURL(e.value),i=u({},e,{url:r,cssClasses:this.props.cssClasses}),o=(0,h.default)(this.props.cssClasses.item,a({},this.props.cssClasses.active,e.isRefined)),s=e.value;return void 0!==e.isRefined&&(s+="/"+e.isRefined),void 0!==e.count&&(s+="/"+e.count),d.default.createElement(b.default,{facetValueToRefine:e.value,handleClick:this.handleItemClick,isRefined:e.isRefined,itemClassName:o,key:s,subItems:n,templateData:i,templateKey:"item",templateProps:this.props.templateProps})}},{key:"handleItemClick",value:function(e){var t=e.facetValueToRefine,n=e.originalEvent,r=e.isRefined;if(!(0,m.isSpecialClick)(n)){if("INPUT"===n.target.tagName)return void this.refine(t,r);for(var a=n.target;a!==n.currentTarget;){if("LABEL"===a.tagName&&(a.querySelector('input[type="checkbox"]')||a.querySelector('input[type="radio"]')))return;"A"===a.tagName&&a.href&&n.preventDefault(),a=a.parentNode}n.stopPropagation(),this.refine(t,r)}}},{key:"componentWillReceiveProps",value:function(e){this.searchbox&&!e.isFromSearch&&this.searchbox.clearInput()}},{key:"refineFirstValue",value:function(){var e=this.props.facetValues[0];if(e){var t=e.value;this.props.toggleRefinement(t)}}},{key:"render",value:function(){var e=this,t=[this.props.cssClasses.list];this.props.cssClasses.depth&&t.push(""+this.props.cssClasses.depth+this.props.depth);var n=!0===this.props.showMore&&this.props.canToggleShowMore?d.default.createElement(g.default,u({rootProps:{onClick:this.props.toggleShowMore},templateKey:"show-more-"+(this.props.isShowingMore?"active":"inactive")},this.props.templateProps)):void 0,r=!0!==this.props.searchIsAlwaysActive&&!(this.props.isFromSearch||!this.props.hasExhaustiveItems),a=this.props.searchFacetValues?d.default.createElement(R.default,{ref:function(t){e.searchbox=t},placeholder:this.props.searchPlaceholder,onChange:this.props.searchFacetValues,onValidate:function(){return e.refineFirstValue()},disabled:r}):null,i=this.props.searchFacetValues&&this.props.isFromSearch&&0===this.props.facetValues.length?d.default.createElement(g.default,u({templateKey:"noResults"},this.props.templateProps)):null;return d.default.createElement("div",{className:(0,h.default)(t)},a,this.props.facetValues.map(this._generateFacetItem,this),i,n)}}]),t}(f.Component);O.defaultProps={cssClasses:{},depth:0},t.default=(0,x.default)((0,C.default)(O))},function(e,t,n){var r=n(222),a=n(6),i=Object.prototype,o=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return a(e)&&o.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(e){var r=n(5),a=n(225),i="object"==typeof t&&t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===i,u=s?r.Buffer:void 0,c=u?u.isBuffer:void 0,l=c||a;e.exports=l}).call(t,n(79)(e))},function(e,t){function n(e,t){var n=typeof e;return!!(t=null==t?r:t)&&("number"==n||"symbol"!=n&&a.test(e))&&e>-1&&e%1==0&&e2?t[2]:void 0;for(c&&i(t[0],t[1],c)&&(r=1);++n1)for(var n=1;n was loaded but did not call our provided callback"),JSONPScriptError:a("JSONPScriptError","