json.(project, :id, :name, :identifier, :description, :forked_count, :praises_count, :forked_from_project_id, :is_public) json.mirror_url project.repository&.mirror_url json.type project.numerical_for_project_type json.praised project.praised_by?(current_user) json.last_update_time render_unix_time(project.updated_on) json.time_ago time_from_now(project.updated_on) json.language do if project.project_language.blank? json.nil! else json.id project.project_language.id json.name project.project_language.name end end json.category do if project.project_category.blank? json.nil! else json.id project.project_category.id json.name project.project_category.name end end json.topics project.project_topics.each do |topic| json.(topic, :id, :name) end json.url project.full_url