我想在我的应用上实现这个,但我不知道如何安装它?你可以一步一步地发布,这样我就可以理解要放在哪里的文件,因为我试图按照github页面上的说明操作并且没有成功。
http://vincentgarreau.com/particles.js/#default
index.html - >我把代码放在 views / layouts / application.html
中<div id="particles-js"></div>
<script src="particles.js"></script>
app.js - &gt;我把它放在 assets / javascript / application.js
中/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */
particlesJS.load('particles-js', 'assets/particles.json', function() {
console.log('callback - particles.js config loaded');
});
particles.json - &gt;我把它放在 assets / javascript / application.js
中{
"particles": {
"number": {
"value": 80,
"density": {
"enable": true,
"value_area": 800
}
},
"color": {
"value": "#ffffff"
},
"shape": {
"type": "circle",
"stroke": {
"width": 0,
"color": "#000000"
},
"polygon": {
"nb_sides": 5
},
"image": {
"src": "img/github.svg",
"width": 100,
"height": 100
}
},
"opacity": {
"value": 0.5,
"random": false,
"anim": {
"enable": false,
"speed": 1,
"opacity_min": 0.1,
"sync": false
}
},
"size": {
"value": 10,
"random": true,
"anim": {
"enable": false,
"speed": 80,
"size_min": 0.1,
"sync": false
}
},
"line_linked": {
"enable": true,
"distance": 300,
"color": "#ffffff",
"opacity": 0.4,
"width": 2
},
"move": {
"enable": true,
"speed": 12,
"direction": "none",
"random": false,
"straight": false,
"out_mode": "out",
"bounce": false,
"attract": {
"enable": false,
"rotateX": 600,
"rotateY": 1200
}
}
},
"interactivity": {
"detect_on": "canvas",
"events": {
"onhover": {
"enable": false,
"mode": "repulse"
},
"onclick": {
"enable": true,
"mode": "push"
},
"resize": true
},
"modes": {
"grab": {
"distance": 800,
"line_linked": {
"opacity": 1
}
},
"bubble": {
"distance": 800,
"size": 80,
"duration": 2,
"opacity": 8,
"speed": 3
},
"repulse": {
"distance": 400,
"duration": 0.4
},
"push": {
"particles_nb": 4
},
"remove": {
"particles_nb": 2
}
}
},
"retina_detect": true
}
答案 0 :(得分:3)
我无法用gem设置它,但我让它适用于接下来的步骤:
下载Particle.js文件,这将为您提供JS文件以及json文件,如果您将其保存在公共文件夹中或更好,如果您将其存储在服务中,将会更好亚马逊S3。 因此,第一步是将副本存储到供应商文件夹中的 particles.js 文件中。
your_project/vendor/assets/javascripts/particles.js
之后,您需要修改assets.rb文件,该文件存储在 config / initializers / 文件夹中。
your_project/config/initializers/assets.rb Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'javascripts') Rails.application.config.assets.precompile += %w( .js .es6 )
将JSON文件插入公共文件夹中,或者如果可以的话,最好在Amazon S3服务中按照我的说法存储它。这将为您提供适合我们的路线。
转到主文件夹并在应用程序的javascript资源中,打开 application.js 文件并插入下一个更改。这可能与您的配置有所不同:
//= require jquery //= require jquery_ujs //= require tether //= require bootstrap-sprockets //= require turbolinks //= require particles
请记住,当您在其上使用资源时,不需要指向供应商文件夹,因为我们告诉Rails,在 assets.rb 文件中我们还会将一些文件上传到此文件夹。
现在,将正在运行的代码放在主布局中。我在 footer.html.erb 文件中执行了此操作,您可以将其粘贴到任何您想要的位置。
<script type="text/javascript"> particlesJS.load('particles-js', 'https://s3-##-west-#.amazonaws.com/your_project/particles.json', function() { console.log('callback - particles.js config loaded'); }); </script>
更改您将用于存储JSON文件的第二个参数,我们几乎准备好了。还要记住,你必须填写你想要在屏幕上显示的配置
将 id 添加到您要显示的元素中,例如:
<div class="jumbotron jumbotron-fluid" id="particles-js">
一切准备就绪。
请记住在终端中运行命令:
rails assets:precompile #in development environment if you want to test it.
运行:
RAILS_ENV=production rails assets:precompile #if you want to run as a production environment.
答案 1 :(得分:1)
您需要将下载的if kill -s 0 $(getPid) > /dev/null 2>&1; then
# ...
fi
文件复制到particles.js
,并确保app/assets/javascripts
中有require_tree .
之类的内容。
然后,您可以安全地从布局中删除application.js
,因为资源管道将加载脚本。