diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..2d0d5799 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM ruby:3.4.1 + +# Install dependencies +RUN apt-get update -qq && apt-get install -y nodejs postgresql-client + +WORKDIR /app + +COPY Gemfile Gemfile.lock ./ +RUN gem install bundler && bundle install + +COPY . . + +EXPOSE 3000 + +CMD ["rails", "server", "-b", "0.0.0.0"] \ No newline at end of file diff --git a/app/controllers/participants_controller.rb b/app/controllers/participants_controller.rb index 26f5002e..38fe3b24 100644 --- a/app/controllers/participants_controller.rb +++ b/app/controllers/participants_controller.rb @@ -56,7 +56,8 @@ def participant_params params.require(controller_name.singularize).permit( :name, :email, :password, :bio, :github_profile_username, - :twitter_handle, :code_of_conduct_agreement + :twitter_handle, :mastodon_url, + :bluesky_handle,:code_of_conduct_agreement ) end diff --git a/app/models/sessions_json_builder.rb b/app/models/sessions_json_builder.rb index 01e6794a..3d9d46ab 100644 --- a/app/models/sessions_json_builder.rb +++ b/app/models/sessions_json_builder.rb @@ -6,6 +6,8 @@ def to_hash(session) participant_id: s.participant.id, presenter_name: s.participant.name, presenter_twitter_handle: s.participant.twitter_handle, + presenter_mastodon_url: s.participant.mastodon_url, + presenter_bluesky_handle: s.participant.bluesky_handle, presenter_github_username: s.participant.github_profile_username, presenter_github_og_image: s.participant.github_og_image, presenter_bio: s.participant.bio, diff --git a/app/views/participants/edit.html.erb b/app/views/participants/edit.html.erb index 14619ef1..27763c48 100644 --- a/app/views/participants/edit.html.erb +++ b/app/views/participants/edit.html.erb @@ -6,8 +6,10 @@ <%= f.inputs do %> <%= f.input :name, :label => 'Your name', :hint => "Please use your real name. This will be used in our printed materials." %> <%= f.input :email, :label => 'Your email', :hint => "Please use a real email address. We need this to contact you about your presentation." %> - <%= f.input :github_profile_username, :label => 'Your GitHub username' %> - <%= f.input :twitter_handle, :label => 'Your Twitter handle' %> + <%= f.input :github_profile_username, :label => 'Your GitHub username (optional)' %> + <%= f.input :twitter_handle, :label => 'Your Twitter (X) handle (optional)' %> + <%= f.input :mastodon_url, :label => 'Your Mastodon URL (optional)' %> + <%= f.input :bluesky_handle, :label => 'Your Bluesky handle (optional)' %> <%= f.input :bio, :hint => 'You can use Markdown syntax here. Examples: **bold**, *italic*, [link](http://example.com)'.html_safe %> <%= f.input :code_of_conduct_agreement, diff --git a/app/views/participants/show.html.erb b/app/views/participants/show.html.erb index af51f196..e2e75d74 100644 --- a/app/views/participants/show.html.erb +++ b/app/views/participants/show.html.erb @@ -20,6 +20,20 @@